İçindekiler:

Tinyduino LoRa Tabanlı Pet Tracker: 7 Adım
Tinyduino LoRa Tabanlı Pet Tracker: 7 Adım

Video: Tinyduino LoRa Tabanlı Pet Tracker: 7 Adım

Video: Tinyduino LoRa Tabanlı Pet Tracker: 7 Adım
Video: TinyCircuits LiveStream demonstration 2024, Kasım
Anonim
Tinyduino LoRa Tabanlı Pet Tracker
Tinyduino LoRa Tabanlı Pet Tracker

Kim evcil hayvan sahibi olmak istemez ki?? O tüylü dostlar içini sevgi ve mutlulukla doldurabilir. Ama onları özlemenin acısı yıkıcıdır. Ailemizin Thor(yukarıdaki resim) adında bir kedisi vardı ve macerayı seven bir gezgindi. Haftalık gezilerden sonra çoğu kez sakatlıklarla geri döndü ve biz de onu bırakmamaya çalıştık. Ama ne olmadı, yine çıktı ama geri dönmedi:(Haftalarca aramamıza rağmen en ufak bir iz bulamadık. Onu kaybetmek çok travmatik olduğu için ailem artık kedi beslemek konusunda isteksiz davrandı. Ben de bakmaya karar verdim. evcil hayvan izleyicileri üzerine. Ancak ticari izleyicilerin çoğu abonelik gerektiriyor veya bir kedi için ağır. Bazı iyi radyo yönü tabanlı izleyiciler var ama günün büyük bölümünde evde olmayacağım için doğru bir yer bilmek istedim. Bu yüzden Tinyduino ve evimdeki baz istasyonuna konum gönderen ve konumu bir uygulamaya güncelleyen bir LoRa modülü ile bir izleyici yapmaya karar verdim.

not düşük kaliteli görüntüler için lütfen beni affet.

Adım 1: Gerekli Bileşenler

  1. TinyDuino İşlemci Kartı
  2. Minik Kalkan GPS
  3. ESP8266 WiFi geliştirme kartı
  4. Umut RF RFM98(W) (433 MHz) x 2
  5. Tinyshield Proto Kurulu
  6. USB Minik Kalkan
  7. Lityum polimer pil - 3,7 V (ağırlığı azaltmak için 500mAh kullandım)
  8. Havya
  9. Atlama telleri (Dişi - Dişi)

Adım 2: Verici

verici
verici
verici
verici

LoRa alıcı-vericiyi tinyduino'ya bağlamamız gerekiyor. Bunun için RFM98 modülünden Tinyshield protoboarduna tel lehimlememiz gerekiyor. İletişim için RadioHead kitaplığını kullanıyor olurdum ve bağlantı belgelere göre yapılır.

Protokol RFM98

GND -------------- GND

D2 -------------- DIO0

D10 -------------- NSS (CS çip seçimi)

D13 -------------- SCK (SPI saati girişi)

D11 -------------- MOSI (SPI Veri girişi)

D12 -------------- MISO (SPI Veri çıkışı)

RFM98'in 3.3V pini +ve aküye bağlanır.

NOT: Veri sayfasına göre, RFM98'e uygulanabilecek maksimum voltaj 3,9V'dir. Bağlamadan önce akü voltajını kontrol edin

İzleyicinin boyutunu küçülteceği için RFM98 için sarmal bir anten kullandım.

Yığının en altındaki tinyduino işlemci ile başlayın, ardından tinyshield GPS ve ardından en üstteki protoboard ile başlayın. Protokolün altındaki lehim kafaları biraz can sıkıcı olabilir; benim durumumda altındaki gps kalkanına dokundu, bu yüzden protokolün altını elektrik bandıyla yalıttım. İşte bu, vericinin yapımını tamamladık!!!

Verici ünitesi daha sonra pile bağlanabilir ve evcil hayvanın tasmasına takılabilir.

3. Adım: Baz İstasyonu

Baz İstasyonu
Baz İstasyonu
Baz İstasyonu
Baz İstasyonu

Projenizi internete bağlamak istiyorsanız, ESP8266 WiFi geliştirme kartı mükemmel bir seçimdir. RFM98 alıcı-verici ESP8266'ya bağlıdır ve izleyiciden konum güncellemelerini alır.

ESP8266 RFM98

3.3V ---------- 3.3V

GND ---------- GND

D2 ---------- DIO0

D8 ---------- NSS (CS çip seçimi)

D5 ---------- SCK (SPI saati girişi)

D7 ---------- MOSI (SPI Veri girişi)

D6 ---------- MISO (SPI Veri çıkışı)

Baz istasyonuna güç kaynağı 5V DC duvar adaptörü kullanılarak yapılmıştır. Etrafta bazı eski duvar adaptörleri vardı, bu yüzden konektörü söküp ESP8266'nın VIN ve GND pinlerine bağladım. Ayrıca anten ~17,3 cm uzunluğunda bir bakır telden yapılmıştır (çeyrek dalga anteni).

4. Adım: Uygulama

Uygulama
Uygulama
Uygulama
Uygulama
Uygulama
Uygulama
Uygulama
Uygulama

Uygulama olarak Blynk'i (buradan) kullandım. Bu, çok iyi belgelendiğinden ve widget'lar yalnızca sürükleyip bırakılabildiğinden en kolay seçeneklerden biridir.

1. Bir Blynk hesabı oluşturun ve cihaz olarak ESP8266 ile yeni bir proje yapın.

2. Widget'ları Widget menüsünden Sürükle ve Bırak.

3. Şimdi, bu widget'ların her biri için sanal pinler ayarlamanız gerekiyor.

4. Baz istasyonu kaynak kodunda yukarıdaki ile aynı pinleri kullanın.

Arduino kodunda proje yetkilendirme anahtarınızı kullanmayı unutmayın.

Adım 5: Kod

Bu proje Arduino IDE kullanıyor.

Kod oldukça basit. Verici her 10 saniyede bir sinyal gönderecek ve daha sonra bir onay bekleyecekti. Eğer "aktif" bir alındı alındıysa, GPS'i açacak ve GPS'den konum güncellemesini bekleyecekti. Bu süre boyunca, baz istasyonuyla olan bağlantıyı kontrol etmeye devam edecek ve GPS güncellemeleri arasında bağlantı kesilirse, birkaç kez yeniden deneyecek ve hala bağlı değilse, GPS kapatılacak ve izleyici geri dönecektir. normal rutine (yani her 10 saniyede bir sinyal gönderme). Aksi takdirde, GPS verileri baz istasyonuna gönderilir. Bunun yerine, bir "dur" bildirimi alınırsa (başlangıçta olduğu kadar arada da), verici GPS'i durdurur ve ardından normal rutine geri döner.

Baz istasyonu herhangi bir sinyali dinler ve bir sinyal alınırsa uygulama içindeki "bul" düğmesinin açık olup olmadığını kontrol eder. "Açık" ise konum değerleri alınır. "Kapalı" ise, baz istasyonu vericiye "dur" onayı gönderir. Yalnızca "bul" düğmesi açıksa sinyali dinlemeyi seçebilirsiniz, ancak arada bağlantının kaybolup kaybolmadığını bilmek ve kullanıcıyı uyarmak için bir güvenlik özelliği olarak ekledim (geofence gibi bir şey).

6. Adım: Muhafazalar

Muhafazalar
Muhafazalar
Muhafazalar
Muhafazalar
Muhafazalar
Muhafazalar

İzleyici:

3D baskı gitmenin yolu ama ben bunu yakaya bantlamayı tercih ettim. Bu bir karışıklık ve kedilerin boyunlarına böyle bir karışıklık yapmak isteyip istemediklerini cidden bilmiyorum.

Baz istasyonu:

Baz istasyonu için plastik bir kap fazlasıyla yeterliydi. Dışarıya monte etmek istiyorsanız, su geçirmez kapları düşünmeniz gerekebilir.

GÜNCELLEME:

Tracker için kasa yapmayı düşündüm ama 3D yazıcım olmadığı için küçük konteynerler kasaya dönüştü:) Elektronik aksamı bir kutuda, pili diğerinde kaldı.

Elektronik için bir muhafaza olarak blokları kullandım. Neyse ki, ona güzel uyan bir kapak vardı. Batarya için bir Tic-Tac kabı kullanıldı. Pili sabitlemek için, pilin mükemmel şekilde oturması için kutu kısaltılmıştır. Kapları yakaya tutturmak için ataşlar kullanıldı.

7. Adım: Test Etme ve Sonuç.

Kimin üzerinde test edeceğiz? Hayır, şu anda kedim olmadığı için değil. Valla bende iki tane var;)

Ama tasmayı takmak için çok küçükler ve kendim denemeye karar verdim. Bu yüzden izci ile evimde dolaştım. Baz istasyonu 1m yükseklikte tutuldu ve çoğu zaman izleyici ile baz istasyonu arasında yoğun bitki örtüsü ve binalar vardı. O kadar üzüldüm ki aniden yerim bitti (ancak bazı yerlerde sinyal zayıf). Ancak böyle bir arazide, fazla veri kaybı olmadan ~100m menzil elde etmek çok kayda değerdir.

Yaptığım menzil testi burada.

GPS, yoğun bitki örtüsü altında biraz normal çalışıyor gibi görünüyor, ancak bazen konum kayıyor gibi görünüyor. Bu nedenle, daha hızlı bir kaba konum elde etmek için (birçok yönlendiriciden gelen sinyal gücünü ölçerek ve üçgenleme yaparak) bir WiFi modülü eklemeyi dört gözle bekliyorum (yakındaki evlerde çok fazla yönlendirici olduğundan).

Gerçek menzilin çok daha fazla olması gerektiğini biliyorum, ancak şu anki kilitlenme senaryosu nedeniyle evden pek dışarı çıkamıyorum. Gelecekte, kesinlikle aşırı uçlarda test eder ve sonuçları güncellerdim:)

O zamana kadar, mutlu mırıldanmalar…..

Önerilen: