İçindekiler:
- Adım 1: Donanım
- Adım 2: Yazılım (Arduino Programı)
- 3. Adım: Daha Fazla Yazılım (Gps Konumlarının Sunucu Tarafı Alımı)
- 4. Adım: Daha Fazla Yazılım (Mobil Uygulama)
- Adım 5: Gelecekteki Çalışma
Video: Eksiksiz Arduino Tabanlı Araç GPS+GPRS Hırsızlık Önleme Sistemi: 5 Adım (Resimlerle)
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:21
Herkese selam!
GPS araç hırsızlık önleme cihazı için eksiksiz bir çözüm oluşturmak istedim, bu şöyle olurdu:
mümkün olduğunca ucuz
mümkün olduğunca eksiksiz
mümkün olduğunca yapılacak başka bir şey yok-sadece-çalışır
Bu yüzden, bana toplam 25$'a (aşağı yukarı) mal olan Arduino tabanlı bir çözüm geliştirdim.
Videodan da görebileceğiniz gibi, işe yarıyor! Arabayı çalıştırıyorsunuz, cep telefonunuza arabanın hareket ettiğine dair bir bildirim geliyor, ardından mobil uygulamayı açıyorsunuz ve arabanın gerçek zamanlı olarak hareket ettiğini (10 saniyelik bir güncelleme gecikmesi ile) görebilirsiniz.
Bu öğretici, çözümde birkaç bileşen olduğunu akılda tutarak tüm adımlarda size rehberlik edecektir:
1) donanım (Arduino tabanlı)
2) yazılım (Arduino programı)
3) daha fazla yazılım (gps konumlarının sunucu tarafında alınması)
4) daha da fazla yazılım (mobil uygulama)
Hadi başlayalım..
Adım 1: Donanım
Alışveriş listesi:
1) Arduino Uno R3 veya klonu. Artık mevcut olmayan "DCcEle DCcduino uno" klonunu kullandım. İşte bir eşdeğer: Aliexpress - 3.75$
2) Arduino için GPS ünitesi (Uçuş Kontrol Uçuş Kontrolü EEPROM MWC APM2.5 büyük anten NEO6MV2 ile GY-NEO6MV2 yeni GPS modülü). Bunu kullandım: Aliexpress - 6.66$
3) Arduino için GPRS / GSM ünitesi (SIM800L V2.0 5V Kablosuz GSM GPRS MODÜLÜ Dört Bantlı W/ Anten Kablo Kapağı). Bunu kullandım: Aliexpress - 6.71$
4) Bunun gibi yedek dupont kablolar: Aliexpress - 0.89$
5) IoT veri sim kartı (veya veri bağlantısı olan herhangi bir başka sim kart). Bunu kullandım: Hologram.io'dan. Ücretsiz bir geliştiricim var, yalnızca nakliye ücreti ödendi - 7.50$
Toplam: 25.51$, ancak kablolar zaten bende olduğu için 25$'dan az!
İki resim, montajdan önceki bileşenleri ve nihai ürünü göstermektedir. Yapmanız gereken bağlantılar şunlardır:
Arduino -- SIM800L
10 -- SIFIRLA
GND -- GND (2 tanesi)
5v -- 5v
7 -- SIM_TXD
8 -- SIM_RXD
Arduino -- GY-NEO6MV2
GND -- GND
5v -- VCC
3 -- RX
4 -- TX
Tüm kabloları ve antenleri bağlayın ve Arduino'yu size 2A'lık tepe noktaları verebilecek bir kaynaktan çalıştırdığınızdan emin olun. Bilgisayarın usb'si zar zor iyi (MacBook Pro kullanıyorum), "rastgele" bir telefon şarj cihazı yeterli olmayacak. Çoğu arabanın usb çıkışı da 1A'dan azdır. Durumunuz buysa, en az 2A ile 12v araba 5v güç kaynağına da ihtiyacınız var.
Sim kartı takın. Hologram.io sim kartı kullanıyorsanız, kontrol panellerine kaydolduğunuzdan ve sim kartı etkinleştirdiğinizden emin olun (birkaç dakika/saat sürer).
Adım 2: Yazılım (Arduino Programı)
Arduino programlamaya aşina olduğunuzu varsayacağım. Aksi takdirde, lütfen bu kılavuzla başlayın: Instructables'ta.
Sadece bir harici kütüphaneye ihtiyacınız var, onu manuel olarak kurmak zorunda kaldım. Buraya gidin: TinyGPS, kitaplığı dışa aktarın ve yerel Arduino klasörünüze kurun.
Oradan, temel örneklerinden bazı kodları "çalacağız" ve onu amaçlarımıza göre değiştireceğiz.
Daha sonra bu kılavuzdan "çalacağız" ve kodu tekrar amaçlarımıza göre değiştireceğiz.
Sonuç, ekli.ino programıdır.
Yapabileceğiniz ve ayarlamanız GEREKEN birkaç şey var:
"SANİYE" tanımlar ve "SUNUCU" tanımlar.
SECONDS'u 10'a ayarladım ve işte nedeni: Hologram.io geliştirici programı size ayda 1mb ücretsiz veri veriyor. Bu, gönderilen baytları en aza indirmek istediğimiz anlamına gelir, ancak aynı zamanda konumumuzu da sık sık güncellememiz gerekir. Her biri 4 bayt kullanan ve 1 bayt kullanan hızlı mesajları alan sunucumuza UDP paketleri göndermek için standart AT modem komutlarını kullanacağız. Yani toplam gps güncellemesi 20 bayt (IP başlığı) artı 8 bayt (UDP başlığı) artı 9 bayttır (yük). Bu 37 bayt. Arabamın günde 2 saatten fazla aktif olmadığını varsayarsak, her 10 saniyede bir güncelleme yapabilirim ve ayda sadece 806 kb (31 gün) tüketebilirim. Bu bana, araba hırsızı olan benim üzerimde sürüş süresi için 218 kb veriyor. Bu da her 10 saniyede bir güncelleme ile sürüş süremin dışında bana 16.76 saat gps izleme sağlıyor.
Şimdi, bu UDP paketlerinin bir yere gitmesi gerekiyor. 8$'a %80 indirimle aldığım CloudAtCost bulutunda barındırılan ve bana başka amaçlara hizmet eden bir Ubuntu sunucusu kullanıyorum, bu nedenle maliyet hesaplamalarına girmiyor. Bir sunucu için ödeme yapmak istemiyorsanız, 12 ay boyunca ücretsiz bir Amazon AWS örneği alabilir ve üzerine Ubuntu yükleyebilirsiniz. Sunucu kurulumunuzu yaptıktan sonra (bir sonraki adıma bakın), statik IP adresini alın ve SUNUCU tanımının yanına koyun.
3. Adım: Daha Fazla Yazılım (Gps Konumlarının Sunucu Tarafı Alımı)
Hem CloudAtCost hem de Amazon, önceden yapılandırılmış bir Ubuntu görüntüsü ile birlikte gelir (CloudAtCost, Ubuntu 14.04'tedir). Bu yüzden Ubuntu'yu kurma adımlarından geçmeyeceğim, çünkü sizin yapmanız gerekmeyecek. CloudAtCost kullanıyorsanız, Ubuntu 16.04'e yükseltmek isteyebilirsiniz.
sudo apt-get güncelleme && sudo apt-get yükseltme && sudo apt-get dağıtım yükseltme
Daha sonra LAMP'ı kurmanız gerekir (bu kılavuza bakın: burada), ancak PHP kullanmayacağız.
Python'u şununla yükleyin:
sudo apt-get install python-minimal pip
Ardından birkaç modül ekleyin:
pip kurulumu --user urllib3 istekleri
Sizin tarafınızdan yazılabilir /var/www ayarlamamız gerekiyor, öyleyse yapalım:
sudo adduser YOUR_USER www-datasudo chown -R www-data:www-data /var/www
sudo chmod -R g+rwX /var/www
Şimdi, i) UDP paketlerini almak, ii) yolu oluşturmak, iii) cep telefonumuza bir bildirim göndermek için bir "sunucuya" ve oluşturulan gps izini sunmak için bir "sunucuya" ihtiyacımız var (bu apache olacaktır).
İlk sunucu için ekteki python kodunu kopyalayın. Aşağıdakileri yapılandırmanız gerekir:
iftttuser="IFTTT KULLANICINIZ"
iftttpass="IFTTT ŞİFRENİZ"
iftttappletid="IFTTT BİLDİRİM UYGULAMANIZ"
iftttkey="IFTTT ANAHTARINIZ"
iftttevent="IFTTT ETKİNLİĞİNİZ"
Tahmin edebileceğiniz gibi, cep telefonlarımıza gerçek zamanlı bildirimler göndermek için IFTTT kullanıyoruz. Bu kılavuzu izleyin: burada, ancak "bana sms gönder"i seçmek yerine "uygulama bildirimi gönder"i seçin. Applet kimliğinizi alın (görmek için uygulama yapılandırmasının en altına gidin) ve yukarıdakini kullanın. Yukarıdaki ayarlarda bu şekilde oluşturulan anahtarı da kullanın. IFTTT olayı applet'inize verdiğiniz isimdir, ben ona "carmoving" verdim.
Şimdi, ücretsiz olarak gerçek zamanlı bildirim platformları yok, AFAIK. Birini biliyorsanız, bana bildirin. IFTTT'de gecikme var. E-posta tetikleyicisini kullanırsanız, bu gecikme birkaç saniyeye indirilebilir. Ne yazık ki, bu güvenilir değil. Yeni oluşturulan web kancasının 15 dakikalık bir gecikmesi vardır. Ama arabamızın çalındığını anlamak için 15 dakika beklemek istemiyoruz, değil mi? Bu, yukarıdaki tüm ayarları yapmanızı isteyen paroladır. Python kodunu kaydırırsanız, tetikleyicileri ani bir kontrole zorlayan ve bildirimi 1 saniyeden daha kısa sürede tetikleyen IFTTT'nin "şimdi kontrol et" işlevini otomatikleştirmek için 45-53 gibi birkaç satır olduğunu görürsünüz! Rica ederim:)
Python kodunuzu bir yere kurduktan sonra çalıştırın. Profesyonel bir kullanıcıysanız, sunucu açılışında başlamasını sağlayın. Bunun nasıl yapılacağına ilişkin çevrimiçi tonlarca ücretsiz kılavuza bakın, örneğin bu.
4. Adım: Daha Fazla Yazılım (Mobil Uygulama)
Bir önceki adımda sunucunun güncel tuttuğu gps izini görselleştirmenin hızlı ve basit bir yoluna ihtiyacımız var. Muhtemelen, her türlü akıllı telefon üzerinde çalışması gerekiyor.
Ardından, Ionic/Cordova gibi bir çapraz platform mobil uygulama paketi kullanalım. Ionic v1 kullanıyorum, onu Ionic Native veya Ionic v2 ile karıştırmayın, bu farklı bir şey.
Ionic'teki ilk projenize başlamak için bu çok basit adımları izleyin: burada.
Ardından, aşağıdaki gibi google maps sdk'ye dayalı yeni bir proje başlatmanız gerekir:
iyonik uygulamam haritalarını başlat
"Kaynaklar" klasörüne gidin ve büyük araba görüntüsünü buraya "icon.png" olarak kopyalayın. Bunun yerine küçük simgeleri "car2.png" ve "start.png" olarak sunucunuzda https://sunucunuz/car2-p.webp
Ekli index.html (index.html.txt dosyasını index.html olarak yeniden adlandırın), directives.js ve controllers.js dosyalarını kullanın ve bunları www (index.html), www/js (tüm js) içine koyun.
platformunuzu şu şekilde ekleyin:
iyonik plaftorm android ekle
şöyle inşa et:
iyonik yapı android
o zaman ionic, cep telefonunuza kurabileceğiniz.apk'nizi nerede kurduğunu size söyleyecektir.
iOS için derleme yapmak için bir Mac'e ve Xcode'a ihtiyacınız olacak. ionic daha sonra Xcode'da açıp telefonunuz için oluşturabileceğiniz bir Xcode projesini kaydedebilir. Bir iOS geliştirici hesabınız yoksa, uygulamayı buraya yükleyebilmek için telefonunuzu Xcode'a bağlamanız ve telefonunuzu geliştirme için ayarlamanız gerekir. Bu, bu talimatın kapsamı dışındadır.
Çeşitli js dosyalarında, "car2.png" ve "start.png" ile ilgili satırları bulmanız ve bunları resimlerinizin yolu ile değiştirmeniz gerekir. "plan.json" için aynı.
Bu kadar!!
Adım 5: Gelecekteki Çalışma
1) Her şeyi usb çıkışının yakınında herhangi bir yere saklayabileceğim bir karton kutuya koydum. Yapılacak en iyi şey, 12v->5v dönüştürücü ile arabanın kaputunun altına daha iyi bir kasa monte etmek olacaktır.
2) Bir bluetooth sensörüyle, arabada olduğunuzu gerçekten "hissedebilirsiniz", böylece gps sistemi açılmaz.
3) Sadece bir sim veri planı için ödeme yapın ve süper gerçek zamanlı izlemenin keyfini çıkarmak için SECONDS'u 1'e ayarlayın:)
Umarım bu ilk talimatımı beğenmişsinizdir!
Önerilen:
GPRS (SIM Kart) Veri Bağlantılı Kompakt Hava Sensörü: 4 Adım
GPRS (SIM Kart) Veri Bağlantılı Kompakt Hava Sensörü: Proje özetiBu, bir BME280 sıcaklık/basınç/nem sensörüne ve bir ATMega328P MCU'ya dayalı, pille çalışan bir hava sensörüdür. İki adet 3,6 V lityum tiyonil AA pil ile çalışır. 6 µA ultra düşük uyku tüketimine sahiptir. Veri gönderir
A9G GPS ve GPRS Modülü Eğitimi - AI-Düşünür - AT Komutları: 7 Adım
A9G GPS ve GPRS Modülü Eğitimi | AI-Düşünür | AT Komutları: Hey, naber beyler! Akarsh burada CETech'ten. Bugün, AI Thinker'dan A9G GPS, GSM ve GPRS modülünden geçeceğiz. AI Thinker'ın A9 ve A6 gibi benzer GSM ve GPRS yeteneklerine sahip olan ancak
Hareket Algılamalı Arduino Security 3G/GPRS E-posta Kamerası: 4 Adım
Arduino Security 3G/GPRS Hareket Algılamalı E-posta Kamera: Bu kılavuzda, hareket dedektörlü bir güvenlik izleme sistemi kurmanın ve 3G/GPRS kalkanı ile posta kutusuna fotoğraf göndermenin bir versiyonunu anlatmak istiyorum. diğer talimatlar: talimat 1 ve talimat
Arduino ve SIM900 GSM GPRS 3G Sıcaklık ve Nem Kaydı, Mobil İstatistikler: 4 Adım
Arduino ve SIM900 GSM GPRS 3G Sıcaklık ve Nem Kaydı, Mobil İstatistikler: Arduino UNO R3, SIM900 Shield VE DHT22 ile dış ortam, oda, sera, laboratuvar, soğutma odası veya başka herhangi bir yerdeki sıcaklık ve nem verilerini tamamen ücretsiz olarak kaydedebilirsiniz. Bu örneği oda sıcaklığını ve nemini kaydetmek için kullanacağız.Cihaz
GPRS Üzerinden TCP/IP Bağlantısı: SIM900A Modülü Kullanılarak Sunucuya Nasıl Veri Gönderilir: 4 Adım
GPRS Üzerinden TCP/IP Bağlantısı: SIM900A Modülünü Kullanarak Sunucuya Nasıl Veri Gönderilir: Bu dersimizde sizlere sim900 modülü kullanılarak TCP sunucusuna nasıl veri gönderileceğini anlatacağım. Ayrıca sunucudan istemciye nasıl veri alabileceğimizi göreceğiz (GSM modülü)