İçindekiler:

LTE Arduino GPS Tracker + IoT Dashboard (Bölüm 2): 6 Adım (Resimlerle)
LTE Arduino GPS Tracker + IoT Dashboard (Bölüm 2): 6 Adım (Resimlerle)
Anonim
Image
Image
ThingsBoard Kurulumu
ThingsBoard Kurulumu

Giriş ve Bölüm 1 Özeti

Evet, Arduino ve LTE ile SIM7000 GPS izci üzerinde bir başka Eğitilebilir Dersin 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 GPS izleme öğreticisinin 1. Kısmını okuyun. Bu nedenle, tüm donanımınızın kurulu olduğunu ve buluta veri göndermeye hazır olduğunuzu varsayacağım, bu eğitimde gerçekten yapmamız gereken tek şey ThingsBoard'u tanımak ve şaşırtıcı verileri görmek için başka bir yol testi yapmak. gösterir!

Bölüm 1'de dweet.io'ya veri göndermek için şık GPS izleyicimizi başarıyla aldık ve verileri görselleştirmek için freeboard.io'ya getirdik. Ancak, imleci hareket ettirmenize ve hatta widget penceresini yeniden boyutlandırmanıza izin vermediğinden, harita işlevinin freeboard'da oldukça yetersiz olduğunu fark ettim. Bu beni daha iyi bir çözüme yönlendirdi: Verilerinizi depolamanıza, görselleştirmenize ve özelleştirmenize olanak tanıyan süper harika bir IoT panosu (ve ücretsiz!) olan ThingsBoard.io! Widget'ları yeniden düzenlemek için sürükleyebilirsiniz (ve freeboard'dan farklı olarak Chrome'da çalışır) ve genel kalite mahsulün kremasıdır. En önemlisi, Google harita widget'ı özgürce hareket etmenize, yakınlaştırma ve uzaklaştırma yapmanıza ve farklı stiller (uydu, yol görünümü vb.) seçmenize ve hatta sokak görünümleri için küçük sarı adamı yola sürükleyip bırakmanıza izin verir. !

Adım 1: ThingsBoard Kurulumu

ThingsBoard Kurulumu
ThingsBoard Kurulumu
ThingsBoard Kurulumu
ThingsBoard Kurulumu

ThingsBoard Hesabı ve Cihaz Kurulumu

Yapmanız gereken ilk şey, ThingsBoard ana sayfasına gidip sağ üst menü düğmesine tıklayarak ve "Canlı Demo" seçeneğini seçerek bir hesap oluşturmaktır. Bir hesap oluşturun, hesabınızı size gönderdikleri bir e-postada doğrulayın ve ardından Canlı Demo ana ekranına tekrar giriş yapın. Bu, sizi tüm cihazlarınızı yönetebileceğiniz, gösterge tablolarını düzenleyebileceğiniz vb. bir ekrana getirmelidir.

Ardından, sol taraftaki "Cihazlar" sekmesini seçin. Bu, ESP8266, DHT22, Arduino ve Pi demoları vb. gibi bir grup demo cihazı getirmelidir. Sağ alttaki kırmızı "+" düğmesine tıklayarak yeni bir cihaz oluşturun ve bir ad girin ve cihaz türü için "varsayılan" seçeneğini seçin. "EKLE"ye tıkladıktan sonra Cihazlar sekmesinde yeni cihazınızı görmelisiniz. "Kimlik Bilgilerini Yönet" üzerine tıklayın ve cihazın erişim belirtecini gösteren küçük bir pencere açılır görmelisiniz. Bu, esasen cihaz kimliğidir ve dweet.io'ya veri göndermek için kullanılan cihaz kimliğine benzer. İsterseniz bu cihaz kimliğini kalkanınızın IMEI numarasıyla değiştirebilirsiniz, ancak otomatik olarak oluşturulan jetonu da kullanabilirsiniz. Arduino çiziminde ihtiyaç duyacağınız için bu jetonu kopyalayın.

Arduino Örnek Kurulumu

Bu derste, ilk derste olduğu gibi aynı örnek Arduino taslağını kullanacağız, ancak bu sefer taslağı, Bölüm 1'deki dweet.io yerine doğrudan ThingsBoard.io'ya veri göndermek için kod içerecek şekilde güncelledim. Her zaman olduğu gibi., örnek kodu burada Github'da bulabilirsiniz.

Yapmanız gereken ilk şey, kalkanın dweet.io'ya gönderilmesini sağlayan satırları yorumlamak:

// GET request /* // Hız, rakım vb. gibi belirli şeylere ihtiyacınız yoksa isteğin içeriğini ayarlayabilirsiniz. sprintf(URL, "https://dweet.io/dweet/for/%s ?lat=%s&long=%s&speed=%s&head=%s&alt=%s&temp=%s&batt=%s", imei, latBuff, longBuff, speedBuff, headBuff, altBuff, tempBuff, battBuff);

int sayaç = 0; // Bu, başarısız denemelerin sayısını sayar

// Gönderi başarısız olursa toplam üç kez deneyin (ek 2 kez deneyin) while (counter < 3 && !fona.postData("GET", URL, "")) { // "" tırnaklarını üçüncü olarak ekleyin girdi çünkü GET isteği için "gövde" yok Serial.println(F("Veri gönderilemedi, yeniden deneniyor…"); sayaç++; // Sayaç gecikmesini artır(1000); } */

Ardından, Thingsboard.io'ya gönderilen satırların yorumunu kaldırın:

// Thingsboard.io'ya bir POST isteği deneyelim const char* token = "YOUR_DEVICE_TOKEN"; // Thingsboard.io cihazından sprintf(URL, "https://demo.thingsboard.io/api/v1/%s/telemetry", belirteç); sprintf(gövde, "{"enlem\":%s, \"boylam\":%s, \"hız\":%s, \"kafa\":%s, \"alt\":%s, \"temp\":%s, \"batt\":%s}", latBuff, longBuff, speedBuff, headBuff, altBuff, tempBuff, battBuff); // sprintf(gövde, "{"lat\":%s, \"uzun\":%s}", latBuff, longBuff); // Tüm istediğin enlem/boylam ise

int sayaç = 0;

while (!fona.postData("POST", URL, gövde)) { Serial.println(F("HTTP POST tamamlanamadı…")); sayaç++; gecikme(1000); }

Kodu Arduino'nuza yükleyin, SIM kartın ve antenin takılı olduğundan emin olun ve devam etmeden önce kalkanın buluta kod gönderdiğini doğrulayın!

NOT: Arduino Uno'nun çok az belleği (RAM) vardır ve Thingsboard'a göndermek Arduino'nun çökmesine neden olabilir. Çizimin yaklaşık olarak postData() işlevinin bulunduğu yerde yeniden başlatılmasıyla veya başka garip davranışlarla karşılaşırsanız, büyük olasılıkla olan budur. Bunun kolay çözümü, Uno'yu bir Arduino Mega veya daha fazla RAM'li bir anakartla değiştirmek. Ayrıca dizilerin boyutunu en aza indirmeyi deneyebilir ve verileri birden çok gönderiye bölebilirsiniz.

2. Adım: Veri Alımını Doğrulayın

Veri Alımını Doğrula
Veri Alımını Doğrula

Verilerin ThingsBoard'a doğru bir şekilde gönderildiğini doğrulamak için, aynı cihaz ayrıntıları sayfasına gidin ("Cihazlar" sayfasındaki GPS Tracker cihaz kutucuğuna tıklayın), ardından "En Son Telemetri" sekmesine tıklayın. GPS izleyiciniz ThingsBoard'a değerler gönderiyorsa, burada en son değerleri görmelisiniz ve bunlar geldikçe gerçek zamanlı olarak güncellenecektir.

Artık ThingsBoard'un verileri gerçekten aldığını doğruladığınıza göre, verilerimizi toplarken görselleştirebilmemiz için gösterge tablosunu kurmanın zamanı geldi! (Ya da gerçeklerden sonra)

3. Adım: Gösterge Tablosunu Ayarlama

Gösterge Tablosunu Ayarlama
Gösterge Tablosunu Ayarlama
Gösterge Tablosunu Ayarlama
Gösterge Tablosunu Ayarlama
Gösterge Tablosunu Ayarlama
Gösterge Tablosunu Ayarlama

Şimdi eğlenceli kısım zamanı! Şimdi soldaki "Gösterge Tabloları" sekmesine tıklayın ve GPS takip cihazınızı seçin. Bu, widget eklemenizi isteyen yeni bir sayfa açmalıdır. Sağ alttaki "+" düğmesini tıklayın ve aralarından seçim yapabileceğiniz bir widget açılır menüsünü açmak için "yeni widget oluştur" seçeneğini tıklayın. Şimdilik bir "dijital gösterge" ekleyelim. Bunu seçmek, aralarından seçim yapabileceğiniz tüm farklı dijital gösterge türleri için bir sürü önizleme yüklemesi gerekir. Birine tıkladığınızda, widget parametrelerini ayarlamanız için başka bir ekran açılacaktır. Eklemeniz gereken ilk şey veri kaynağıdır (verileri ThingsBoard'a gönderen GPS takip cihazınız). "+ EKLE" düğmesine basın ve "GPS İzleyici" cihazınızı seçin ve widget'ın görüntülemesini istediğiniz uygun değişkeni seçin. Bu durumda "temp" (sıcaklık) değişkenini seçelim.

Şimdi, widget için başlık gibi şeyler eklemek istiyorsanız, "Ayarlar" sekmesine gidin, "Başlığı görüntüle"yi işaretleyin ve bir başlık girin. "Gelişmiş" sekmesi altında yapabileceğiniz birçok başka şey var ama bunları kendiniz araştırmanıza izin vereceğim! Değer aralıklarını, etiket metnini, renkleri ve daha fazlasını değiştirerek eğlenin! Widget'ı ekledikten sonra, gösterge tablonuzun sol alt kısmında görünecektir (ekranı dolduran birden fazla widget'ınız varsa aşağı kaydırmanız gerekebilir). Zaten pano düzenleme modundaysanız, widget'taki düğmeye basarak istediğiniz zaman widget'ı düzenleyebilir veya düzenlemenize izin vermek için önce tüm ekranın sağ alt kısmındaki kalem düğmesine basarak düzenleme moduna girebilirsiniz. widget'lar. Oldukça basit!

Adım 4: Harita Ekleme

Harita Ekleme!
Harita Ekleme!
Harita Ekleme!
Harita Ekleme!
Harita Ekleme!
Harita Ekleme!
Harita Ekleme!
Harita Ekleme!

Şimdi bir GPS izci için bir harita olmazsa olmaz! Yeni bir widget oluşturarak (yine sağ alt "+" düğmesi) bir tane ekleyelim ve bu sefer aşağı kaydırıp "Haritalar"ı seçelim. Devam edin ve birine tıklayın, bunun için seçenekleri getirecektir. Veri kaynağını her zamanki gibi ekleyin, ancak bu sefer hem "lat" hem de "long" değişkenlerini seçin, çünkü konumu almak için her ikisine de ihtiyaç duyacaktır. Ardından, "Ayarlar" sekmesine gidin ve burada haritada görüntülenecek verilerin zaman penceresini ayarlayabilirsiniz. Örneğin, yalnızca son 2 dakikalık verilerin görünmesini isteyebilirsiniz veya dünden bu yana tüm verileri isteyebilirsiniz veya belki de yalnızca sabit bir zaman aralığı (dün 2PM'den bugün 10:00'a kadar) isteyebilirsiniz.

İsterseniz "Gelişmiş" sekmesine gidebilir ve harita türünü (yol haritası, uydu, hibrit veya arazi) seçebilirsiniz. Tüm bunların belki de en önemli kısmı enlem ve boylam anahtar adlarını kontrol etmektir. Bu adların, ThingsBoard'a gerçekten gönderdiğiniz değişken adlarına tam olarak karşılık geldiğinden emin olun. Örneğin, Arduino çiziminiz "enlem" ve "uzun" değişkenler (varsayılan olarak) gönderdiğini söylüyorsa, anahtar adlarını "enlem" ve "uzun" olarak değiştirmeniz ve "enlem" ve "boylam" kullanmanız gerekir. verilerinizi getirmeyecek!

Yine, haritayı ekledikten sonra, gösterge panosunun altında görünecektir. Gösterge tablosunda yeniden konumlandırmak için sürüklemeniz ve yeniden boyutlandırmak için kenarlarını tıklayıp sürüklemeniz yeterlidir. Zaman pencereniz doğru ayarlanmışsa, haritada mevcut konumunuzun göründüğünü görmelisiniz. Süper temiz ha? Şimdi gerçek bir test için hazırız!

Adım 5: Yol Testi

Yol testi
Yol testi
Yol testi
Yol testi

GPS izleyiciyi test etmek çok basit! Arduino'yu çalıştırmak için bir araba USB adaptörüne takmanız yeterlidir, yeşil LED'in yandığından emin olun ve veri göndermeye başlamalıdır! GPS izleyicinin örnekleme hızını değiştirmek için örnek çizimde bu kod satırını bulduğunuzdan emin olun:

#define örneklemeRate 10 // Gönderiler arasındaki süre, saniye cinsinden

ve istediğiniz gibi ayarlayın. 10'ların yavaş bir yol testi için oldukça iyi çalıştığını buldum, ancak hızlı ve öfkeliyseniz, belki daha da yüksek bir örnekleme oranı isteyebilirsiniz!

6. Adım: Sonuçlar

Sonuçlar
Sonuçlar
Sonuçlar
Sonuçlar
Sonuçlar
Sonuçlar

Yukarıdaki resimlerde pano kurulumumu görebilirsiniz. Hız, rakım ve sıcaklık gibi şeyler için geçmiş verileri grafik haline getirmek için çizelgeler ekledim ve ayrıca onları başka bir yolculukta gerçek zamanlı olarak görmek istersem diye gerçek zamanlı göstergeler ekledim (bunu bir karavanda hayal edin!).

Harita muhteşemdi ve izlediğim bir rotanın gerçekten doğru verilerini toplamayı başardım. Ayrıca, hız verileri son derece doğruydu çünkü şehir içi yollarda asla 40mph'yi (grafik kph cinsindendir) aşmadık. Hızdaki birçok dalgalanma trafik ışıklarıyla açıklanabilir. Genel olarak, harika sonuçlar ve bunu başka ne için kullanabileceğimizi hayal edin! Bunu bir karavan, motosiklet, araba vb. üzerine kurabilir ve her zaman takip etmesini ve sonuçları ThingsBoard'da almasını sağlayabilirsiniz!

Özetlemek gerekirse, bu eğitimde GPS izleyicimizi HTTP POST istekleri aracılığıyla doğrudan ThingsBoard'a gönderecek şekilde programladık ve verileri bir gösterge panosunda yönettik. Her biri süper havalı görünen ve birçok özelleştirme seçeneğine sahip birden fazla widget içeren birden fazla cihaz ve gösterge tablosu ekleyebilirsiniz! ThingsBoard, IoT verilerini görüntülemek için çok güçlü (ve ücretsiz!) bir araç olduğunu kanıtladı ve daha benim henüz çizmediğim başka özellikler de var. Onunla oynamaktan çekinmeyin ve ne bulduğunuzu görün.

  • Bu öğreticiyi beğendiyseniz, kendinizinkini yaptıysanız veya herhangi bir sorunuz varsa, lütfen aşağıya bir yorum yapın!
  • Bu Eğitilebilir Kitap'a bir kalp verdiğinizden ve Arduino ile ilgili daha harika öğreticiler için buraya ve YouTube kanalıma abone olduğunuzdan emin olun!
  • Yaptığım şeyi desteklemek istiyorsanız, lütfen Amazon.com'da kendi Botletics SIM7000 kalkanınızı satın almayı düşünün!

Bununla, bir dahaki sefere görüşürüz!

Önerilen: