İçindekiler:
- Adım 1: Parçaları Toplayın
- Adım 2: Fiziksel Montaj
- Adım 3: Arduino Kurulumu ve Cihaz Testi
- Adım 4: Freeboard.io Kurulumu
- Adım 5: Test Etme
- 6. Adım: Sonuçlar
Video: LTE Arduino GPS Tracker + IoT Dashboard (Bölüm 1): 6 Adım (Resimlerle)
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:20
Tanıtım
N'aber millet! Bu Eğitilebilir Kitap, Arduino için Botletics LTE/NB-IoT kalkanını kullanma konusundaki ilk Eğitilebilir Tablomun bir devamıdır, bu nedenle henüz yapmadıysanız, kalkanın nasıl kullanılacağına ve ne hakkında olduğuna dair iyi bir genel bakış elde etmek için lütfen okuyun.. Bu eğitimde IoT veri kaydına ve özellikle GPS ve sıcaklık takibine odaklanacağım ve yola çıkıp test etmeniz için ihtiyacınız olan tüm kodu ve rehberliği sağlayacağım!
Bu Eğitilebilirlik esas olarak kişisel olarak tasarladığım ve oluşturduğum LTE kalkanına odaklanıyor, ancak buradaki her şey (Github Arduino kitaplığı dahil) SIMCom'un SIM800/808/900/5320 gibi 2G ve 3G modüllerinde de çalışmalı çünkü sadece güncellenmiş Adafruit FONA kütüphanesinin versiyonu. Donanımdan bağımsız olarak konsept tamamen aynıdır ve bununla sensör veri kaydı, uzaktan hava durumu izleme, otomatik hırsızlık karma GPS takibi vb. dahil olmak üzere birçok harika şey yapabilirsiniz… okumaya devam edin!
Adım 1: Parçaları Toplayın
Liste, ilk dersimdekiyle aynı ve gerçekten basit!
- Arduino Uno, Mega veya Leonardo. Alternatif olarak, herhangi bir 3.3V veya 5V mikrodenetleyici kullanabilirsiniz, ancak pinleri harici olarak bağlamanız gerekir.
- Botletics SIM7000 Kalkan Kiti (koruyucu, çift LTE/GPS uFL anteni ve istiflenmiş dişi başlıklarla birlikte gelir). Uygun bir sürüm seçmek için bu eğitimden geçtiğinizden emin olun!
- Hologramlı SIM kart. İlk SIM kart ("geliştirici" SIM kartı olarak adlandırılır) tamamen ücretsizdir ve ayda 1 MB veri ile birlikte gelir! ABD'de Hologram SIM kartı kullanıyorsanız büyük olasılıkla Verizon ağında olacaksınız. Daha uygunsa, Botletics kalkanının yanında da alabilirsiniz.
- 3.7V LiPo pil (1000mAH veya daha yüksek kapasite önerilir).
- Arduino'nuzu programlamak veya güç sağlamak için USB kablosu.
GPS izleme testi için!
- Kalkanı yolda test ederken Arduino'nuza güç sağlamak için bir araba USB adaptörü kullanabilirsiniz.
- Alternatif olarak, Arduino'ya VIN ve GND pinleri aracılığıyla güç sağlamak için bir pil takımı (7-12V) kullanabilirsiniz.
Adım 2: Fiziksel Montaj
Artık tüm parçalara sahip olduğunuza göre, donanımınızı kurmak için yapmanız gerekenlerin kısa bir özeti:
- İstifleme dişi başlıklarını kalkanın üzerine lehimleyin. Bunun nasıl yapılacağı hakkında bu eğiticiye bakın.
- Kalkanı Arduino'ya takın, tüm pinleri hizaladığınızdan emin olun, böylece onlara zarar vermezsiniz!
- SIM kartı resimde gösterildiği gibi takın. Metal temas noktaları aşağı bakar ve köşedeki çentiğin konumuna dikkat edin.
- LiPo pilini kalkandaki JST konektörüne takın
- Arduino'nuzu bir USB kablosu kullanarak bilgisayarınıza bağlayın. Kalkanın yeşil güç LED'inin yanmadığını fark edebilirsiniz. Bu tamamen normaldir, çünkü kalkanın PWRKEY pinini açmak için biraz düşük darbeye ihtiyacı vardır. Aşağıdaki bölümdeki örnek Arduino taslağı bunu sizin için halledecektir!
- Çift LTE/GPS antenini, ekranın sağ kenarındaki uFL konektörlerine takın. Kabloların çapraz bağlanacağını unutmayın, bu nedenle yanlış olanları takmayın!
- Yazılım için hazırsınız!
Adım 3: Arduino Kurulumu ve Cihaz Testi
Arduino IDE Kurulumu
Henüz yapmadıysanız, anakartınızın düzgün çalıştığından emin olmak için lütfen ana ürün Talimatındaki "Arduino IDE Kurulumu" ve "Arduino Örneği" adımlarına bakın. Bu talimatlarda Github sayfasındaki kitaplığı indirmeniz ve "LTE_Demo" örnek kodunu açmanız gerekecek. Bu talimatları izledikten sonra ağ bağlantısını, GPS'i ve dweet.io'ya veri göndermeyi test etmiş olmalısınız.
IoT Örnek Çizimi
Kalkanınızın temel özelliklerini test ettiğinize göre, Arduino IDE'ye "IoT_Example" taslağını yükleyin. Github'da da burada bulabilirsiniz. Bu kodu Arduino'nuza yükleyin ve seri monitörü açın ve Arduino'nun SIM7000 modülünü bulduğunu, hücre ağına bağlandığını, GPS'i etkinleştirdiğini ve yerinde bir düzeltme elde edene kadar denemeye devam ettiğini ve verileri dweet.io'ya gönderdiğini görmelisiniz. LTE kalkanı ve Hologram SIM kartı kullandığınızı varsayarsak, bunların tümü kodun herhangi bir satırını değiştirmeden çalışmalıdır.
Varsayılan olarak, aşağıdaki satırın örnekleme oranını tanımladığını göreceksiniz (aslında, gönderiler arasındaki gecikme).
#define örneklemeRate 30 // Gönderiler arasındaki süre, saniye cinsinden
Bu satır yorumsuz bırakılırsa, Arduino veri gönderir, 30 saniye geciktirir, tekrar veri gönderir, tekrar eder, vb. 30 saniyelik gecikme sırasında Arduino'yu düşük güç moduna geçirmek ve bunun gibi süslü şeyler yapmak gibi şeyler yapabilirsiniz, ancak basit şeyler, işlemi duraklatmak için yalnızca delay() işlevini kullanacağım. Bu satırı yorumlarsanız, Arduino veri gönderir ve ardından siz Arduino'nuzdaki sıfırlama düğmesine basana kadar süresiz olarak doğrudan düşük güç uyku moduna geçer. Bu, bir şeyi test ediyorsanız ve değerli ücretsiz verilerinizi yakmak istemiyorsanız (her ne kadar dürüst olmak gerekirse, her gönderi pratik olarak hiçbir şey kullanmasa da) veya Arduino'yu sıfırlamak için harici devreniz varsa (555 zamanlayıcı? RTC kesintisi? İvmeölçer kesintisi? Sıcaklık sensörü) bu yararlıdır. Kesinti mi? Kutunun dışında düşünün!). Aslında Burgalert 7000 eğitiminde, mikrodenetleyiciyi uyandırmak için bir PIR hareket dedektörünü nasıl kullanabileceğinizi gösteriyorum.
Sonraki satır, veri gönderdikten sonra kalkanın kapanıp kapanmayacağını veya açık kalacağını belirler. Arada bir örnekleme yapıyorsanız, hattı yorumlamadan önceki seçeneği tercih edebilirsiniz, ancak nispeten yüksek bir örnekleme oranınız varsa, kalkanın açık kalması ve olmaması için satırı açıklamalı bırakmak isteyeceksiniz. yeniden başlatmak, GPRS ve GPS'i yeniden etkinleştirmek, vb. Kalkan açık bırakıldığında son derece hızlı bir şekilde gönderi yapabilir!
//#define turnOffShield // Verileri gönderdikten sonra kalkanı kapat
Ayrıca, bu örneğin SIM7000'in modüle özgü ve küresel olarak benzersiz IMEI numarasını otomatik olarak aldığını ve dweet.io'ya veri gönderdiğinde cihazı tanımlamak için bunu cihaz kimliği (veya isterseniz "ad") olarak kullandığını unutmayın.. İsterseniz bunu değiştirebilirsiniz, bu yüzden size haber vereyim dedim:)
Verilerinizin gerçekten dweet.io'ya gönderilip gönderilmediğini kontrol etmek için, uygun bilgileri doldurun ve URL'yi herhangi bir tarayıcıya kopyalayın/yapıştırın:
dweet.io/get/latest/dweet/for/{deviceID}
nerede {deviceID}, Arduino onu bulduktan hemen sonra, başlangıçta seri monitörde yazdırılan IMEI numarası ile değiştirilmelidir. Bu URL'yi tarayıcınıza girdikten sonra aşağıdaki gibi bir JSON yanıtı görmelisiniz:
"İçeriğe" baktığınızda, bulunduğunuz yerin enlem, boylamını, hızınızı (saatte kilometre olarak), yön yönünü (derece, 0 derece Kuzey olmak üzere), rakımı (metre), sıcaklığı (*C, ancak hissedin) görmelisiniz. kodda dönüştürmek için ücretsiz) ve mili-Volt cinsinden besleme voltajı (bu, VBAT, pilin voltajıdır). NMEA veri dizisi hakkında daha fazla bilgi için SIM7000 AT komut kılavuzunun 149. sayfasına bakabilirsiniz.
Kurulumunuzun dweet'e başarıyla veri gönderdiğini doğruladıktan sonra, tüm verilerimizi güzel bir arayüzde görüntülemek için kontrol panelini ayarlayalım!
Adım 4: Freeboard.io Kurulumu
Bu eğitim için, PubNub ve dweet gibi sayısız bulut platformunun yanı sıra JSON ve MQTT gibi diğer özelliklerle bağlantı kurabilen gerçekten harika bir IoT panosu olan freeboard.io'yu kullanacağız. Muhtemelen tahmin ettiğiniz gibi, önceki bölümdeki örnek kodda kullanılan dweet.io'yu da kullanacağız. Önemli bir not olarak, freeboard.io'daki bölmeleri sürüklemek Chrome'da çalışmıyor gibi görünüyor, bu nedenle bunun yerine Firebox veya Microsoft Edge kullanın. Bunu yapmazsanız, ekranınızdaki öğeleri yeniden düzenlemek gerçek bir "bölme" olabilir!
Hesap ve Cihaz Kurulumu
- Yapmanız gereken ilk şey, freeboard.io ana sayfasındaki kırmızı "ŞİMDİ BAŞLA" düğmesine tıklayarak bir hesap oluşturmak, kimlik bilgilerini girmek ve "Hesabımı Oluştur"a tıklamak. Ardından, yeni hesabınızı onaylayan bir e-posta bildirimi alacaksınız.
- Şimdi ana sayfanın sağ üst köşesindeki "Giriş"e tıklayın ve oturum açtıktan sonra projeleriniz için kurduğunuz panolar olan "serbest tahtalarınızı" görmelisiniz. Açıkçası, hesap yeniyse burada hiçbir şey görmeyeceksiniz, bu yüzden yeni bir proje adı girin ve sağ üstteki "Yeni Oluştur" u tıklayın. Bu sizi arayüzü istediğiniz gibi ayarlayabileceğiniz boş bir gösterge panosuna götürecektir. Freeboard'da çeşitli "bölmeler" oluşturabilirsiniz ve her bölmede, verilerinizi bir şekilde görüntüleyen grafikler, haritalar, göstergeler vb. şeyler olan tek veya birden fazla "widget" olabilir.
- Şimdi yapmamız gereken ilk şey, Arduino + LTE kalkanınız olan gerçek veri kaynağını kurmak. Bunu yapmak için, "Veri Kaynakları" altında sağ üstteki "EKLE" düğmesini tıklayın. Ardından, "Dweet.io"yu seçin ve "Ad" alanına istediğiniz adı girin. Ancak, "Şey Adı" alanına herhangi bir rastgele ad yerine kalkanın IMEI numarasını girdiğinizden emin olun, çünkü freeboard dweet'ten veri çekmek için bunu kullanacaktır.
- "Kaydet"i tıkladıktan sonra, cihazınızın "Veri Kaynakları" altında göründüğünü ve ayrıca dweet'e en son ne zaman veri gönderdiğini görmelisiniz. En son değerleri kontrol etmek için yenile düğmesine de tıklayabilirsiniz, ancak serbest pano kendi kendine güncellenecektir, bu nedenle normalde bu düğmeyi kullanmanız gerekmeyecektir.
Pano Kurulumu
Şimdi ekranınızda görmek istediğiniz gerçek zilleri ve ıslıkları nasıl kuracağınıza bir göz atalım!
- Bir bölme eklemek için sol üstteki "BÖLÜM EKLE" düğmesini tıklayın ve ekranınıza küçük bir pencere eklediğini göreceksiniz. Ancak burada henüz hiçbir şey yok çünkü herhangi bir widget eklemedik!
- Bir widget eklemek için bölmedeki küçük "+" düğmesini tıklayın. Bu, çeşitli widget seçeneklerine sahip bir açılır menü getirecektir. Biraz GPS takibi yapacağımıza göre, hadi "Google Harita" widget'ını seçelim. Daha sonra enlem ve boylam olmak üzere iki alan görmelisiniz. Bunları düzgün bir şekilde doldurmak için cihazınızın daha önce dweet'e göndermiş olması gerekir. Olduğunu varsayarsak, "+ Veri Kaynağı"na tıklayabilmeli, veri kaynağına ("SIM7000 GPS İzleyici") tıklayabilmeli, ardından kalkanın dweet'e gönderi yaparken kullandığı değişken adı olan "lat"a tıklayabilmelisiniz. Boylam alanı için prosedürü tekrarlayın ve haritanın bulunduğunuz yeri işaretlemek için veri noktaları arasında çizgiler çizmesini istiyorsanız alttaki kaydırıcıya tıklayın.
- Şimdi yaklaşık konumunuzun küçük bir haritasını görmelisiniz! Haritanın çalışıp çalışmadığını test etmek için, örneğin şu anda seri monitörde yazdırılan tatlı URL'sindeki enlem/boylam değerlerinin ondalık noktasından sonraki ilk basamağı değiştirerek mevcut GPS'inizi enlem/boylam olarak biraz farklı bir şeye değiştirmeyi deneyin. Arduino IDE, kalkan veri gönderdiğinde. Bunları değiştirdikten sonra, URL'yi kopyalayıp yapıştırın ve tarayıcınızda çalıştırın.
dweet.io/dweet/for/112233445566778?lat=11.223344&long=-55.667788&speed=0&head=10&alt=324.8&temp=22.88&batt=3629
Şimdi serbest tahtaya geri dönün ve ayarladığınız konumun grafiğini çizdiğini ve noktalar arasında turuncu bir çizgi çizdiğini görmelisiniz! Harika şeyler ha? Bu yüzden, GPS izleyicimizin gerçek zamanlı olarak veya maceranız bittikten sonra freeboard'da görmeniz için konum verilerini dweet'e göndereceği resmini aldığınızı düşünüyorum
Ekstralar
Küçük GPS izleyicimiz yalnızca enlem/boylam verileri değil, aynı zamanda yükseklik, hız, yön ve sıcaklık da gönderdiğinden, panomuzu daha renkli hale getirmek için birkaç widget daha ekleyelim!
- Yeni bir bölme ekleyerek başlayalım, ardından yeni bölmeye bir gösterge eklemek için bölmedeki "+" düğmesini tıklayın ve "Gösterge" öğesini seçin. Daha önce olduğu gibi, veri kaynağını kullanın ve bu gösterge için almak istediğimiz veri olarak "hız"ı seçin. Daha sonra gösterge tablonuzda güzel bir gösterge görmelisiniz!
- Bunu yükseklik ve sıcaklık değerleri için tekrarlayın.
- Şimdi başlık için bunun yerine bir "İşaretçi" ekleyelim. Bu aslında bir pusuladır çünkü 0 derecede yukarıyı (Kuzey) gösterir ve pozitif yönler için saat yönünde döner.. Mükemmel!
- Bölmenin boyutunu değiştirmek için haritayı içeren bölmenin üzerine gelin ve sağ üstte küçük bir İngiliz anahtarı sembolü görmelisiniz. Buna tıklayın ve bölme için bir başlık girin ve bölmenin genişliğini artırmak için "Sütunlar"ın altına "2" girin.
- Bölmelerin yerlerini değiştirmek için onları sürükleyin! Ayrıca, yalnızca en son verileri değil, aynı zamanda geçmiş verileri de görebilmeniz için temelde yalnızca bir çizgi grafiği olan bir "Sparkline" eklemeyi deneyebilirsiniz.
Eğlenin ve her şeyi istediğiniz gibi ayarlayın çünkü bir okul gezisine çıkmaya hazırız!
Adım 5: Test Etme
Kurulumunuzu test etmek için, yolculuğunuzu daha yüksek çözünürlükte yakalayabilmeniz için örnekleme süresini 10-20s gibi daha düşük bir değere ayarlamanızı tavsiye ederim. Ayrıca, kalkanın uyumaması için "turnOffShield" değişkenini yorumlanmış olarak bırakırdım. Bu, verileri art arda hızlı bir şekilde göndermesini sağlar.
Kodu Arduino'nuza yükledikten sonra, Arduino'ya güç sağlamak için bir pil takımı (7-12V) alın veya Arduino'yu bir araba USB adaptörü kullanarak takın. Ayrıca, daha önce belirtildiği gibi, kalkana takılı bir 3.7V LiPo pile ihtiyacınız olacak; yukarıdaki resimde gösterilen kalkan eski bir versiyondur ve LiPo pil desteğine sahip değildir ancak artık tüm yeni versiyonlarda gereklidir.
Ardından, geri döndüğünüzde sonuçları görebilmeniz için bir yerde serbest tahta açın! Arduino'yu bağladığınızda, gitmeye hazırsınız! Etrafta dolaşmaya başlayın, biraz kahve alın, eve dönün ve fribordda çizilen verileri görmelisiniz. Eğer gerçekten istiyorsanız (bunu araba kullanırken tavsiye etmiyorum…) arkadaşınız aracı sürerken telefonunuzdaki freeboard verilerini gerçek zamanlı olarak görüntüleyebilirsiniz. Eğlenceli şeyler!
6. Adım: Sonuçlar
Bu test için babam ve ben Trader Joe's'a (omnomnomnom…) tavuk varilleri almaya gittik ve oldukça doğru veriler topladık. Cihazın her 10 saniyede bir veri göndermesini sağladım ve yolculuktan itibaren maksimum hız yaklaşık 92khm (yaklaşık 57mph) idi, bu oldukça doğru, çünkü her zaman hız göstergesine göz kulak olduk. LTE kalkanı kesinlikle işini oldukça iyi yapıyor ve verileri çok hızlı bir şekilde buluta gönderiyor. Çok uzak çok iyi!
Ancak, belki de o kadar da iyi olmayan haber şu ki, freeboard'daki harita widget'ı ilk başta düşündüğüm kadar harika değil. Farenizin konumunu hareket ettirmenize izin vermez ve son konumda ortalanır, bu nedenle bir araba GPS izci gibi şeyler için harikadır, ancak tamamlanmış bir yolculuğu tüm veri noktalarıyla analiz etmek istiyorsanız, özellikle de uzun bir yolculuktu.
Bu eğitimde, LTE kalkanını bir GPS izleyici ve veri kaydedici olarak nasıl kullanacağımızı ve verileri freeboard.io'da nasıl hızlı bir şekilde görüntüleyebileceğimizi öğrendik. Şimdi hayal gücünüzü kullanın ve kendi projenizde uygulayın. Hatta daha fazla kalkan ekleyebilir ve bu şeyi düşük güçlü bir güneş veri kaydedicisine dönüştürebilirsiniz! (Aslında gelecekte bununla ilgili bir eğitim yapmayı planlıyor olabilirim!). Serbest tahta haritasının sınırlamaları nedeniyle, verileri dweet'ten alan ve başlangıçta Google Haritalar'da izleyicinin konumunu grafiklendirmenize izin verecek kendi Android uygulamanızı nasıl oluşturacağınız konusunda yepyeni bir eğitim yapmayı planlıyorum. duraklatın ve seyahatiniz için özellikleri durdurun! Bizi izlemeye devam edin!
- Bu projeyi beğendiyseniz, lütfen bir kalp verin!
- Yeni bir eğitimle ilgili herhangi bir sorunuz, yorumunuz, öneriniz varsa veya bu projeyi kendiniz denediyseniz, kesinlikle aşağıya yorum yapın!
- En son Arduino projelerimden haberdar olmak için beni burada Instructables'ta takip edin, YouTube kanalıma abone olun veya Twitter'da beni takip edin! Ben öğrendiklerimi paylaşma tutkusu olan genç bir mühendisim, bu yüzden yakında kesinlikle daha fazla eğitim olacak!
- Açık kaynaklı donanımları paylaşmak ve bunları eğitim amacıyla belgelemek konusunda yaptıklarımı desteklemek istiyorsanız, oynamak için Amazon.com'da kendi kalkanınızı satın almayı düşünün!
Önerilen:
Retro Konuşma Sentezi. Bölüm: 12 IoT, Ev Otomasyonu: 12 Adım (Resimlerle)
Retro Konuşma Sentezi. Bölüm: 12 IoT, Ev Otomasyonu: Bu makale, bir IoT Retro Konuşma Sentez Cihazının nasıl oluşturulacağını ve mevcut bir ev otomasyon sistemine nasıl entegre edileceğini belgeleyen ev otomasyonu Talimatları serisinin 12.'sidir
Botletics LTE CAT-M/NB-IoT + Arduino için GPS Kalkanı: 10 Adım (Resimlerle)
Botletics LTE CAT-M/NB-IoT + Arduino için GPS Kalkanı: Genel BakışBotletics SIM7000 LTE CAT-M/NB-IoT kalkanı, yeni LTE CAT-M ve NB-IoT teknolojisini kullanır ve ayrıca entegre GNSS'ye (GPS, GLONASS ve BeiDou) sahiptir. /Compass, Galileo, QZSS standartları) konum takibi için. Birden fazla SIM7000 serisi modül var
LTE Arduino GPS Tracker + IoT Dashboard (Bölüm 2): 6 Adım (Resimlerle)
LTE Arduino GPS Tracker + IoT Dashboard (Bölüm 2): Giriş & Bölüm 1 Özetle, Arduino ve LTE ile SIM7000 GPS izci üzerinde bir başka Eğitilebilir Yazının zamanı geldi! Henüz yapmadıysanız, lütfen Botletics SIM7000 CAT-M/NB-IoT kalkanı için başlangıç eğitimini gözden geçirin ve ardından Pa'yı okuyun
IoT Şebeke Denetleyicisi. Bölüm 9: IoT, Ev Otomasyonu: 10 Adım (Resimlerle)
IoT Şebeke Denetleyicisi. Bölüm 9: IoT, Ev Otomasyonu: Sorumluluk Reddi ÖNCE BUNU OKUYUNBu Talimat, ana güç kullanan bir projeyi (bu örnekte UK 240VAC RMS) detaylandırır, ancak güvenli uygulama ve iyi tasarım ilkelerini kullanmak için her türlü özen gösterilmiş olsa da her zaman potansiyel olarak ölümcül olma riski vardır. seç
WiFi IoT Sıcaklık ve Nem Sensörü. Bölüm: 8 IoT, Ev Otomasyonu: 9 Adım
WiFi IoT Sıcaklık ve Nem Sensörü. Bölüm: 8 IoT, Ev Otomasyonu: ÖnsözBu makale, daha önceki bir Eğitilebilir Dosyanın pratik sağlamlaştırılmasını ve ileriye dönük gelişimini belgelemektedir: ilk IoT WiFi Cihazınızı 'Pimping'. Bölüm 4: Başarılı olmak için gerekli tüm yazılım işlevselliğini içeren IoT, Ev Otomasyonu