Iot İle Scooter Takip Sistemi
-
Merhabalar,
IoT ile Xiaomi M365 scooter a bir araç yapmak istiyorum.
Fakat bu konularda hiç bilgim yok. Ücretli bu konuda yardımcı olabilecek var mi?
Cihazin konumu, şarj seviyesi okunup sunucuya 3G üzerinden gönderilecek.
Yardimci olacak, yol gösterecek kisiler varsa sevinirim.
Github uzerinde cihaza ait cok fazla detay var ama anlamiyorum maalesef.
-
merhaba hocam,
sorunu tam anlamadim, bu scooter da bu tarz özellikler mi var yoksa kendin harici olarak mi ekletmek istiyorsun..
Eger ikincisi ise iki yol suna bilirim.
Birinci yol, raspberry pi zero ancak standart olani degil customize edilmis olani mesela
https://www.amazon.de/dp/B075M8WN5L
bunda hem gps hem gprs (2g) modülü var.. Belki farkli shieldler de bulabilirsin ama zero icin degil de farkli versiyonlar icin, o zaman da devre büyüyecek ve güc ihtiyaci daha da artacak..
Stabil olmasi icin raspbian kurabilirsin ya da .net ci oldugun icin windows 10 iot core kurabilirsin ve .net ile programlayabilirsin.
buraya bakarsan fikir sahibi olabilirsin http://www.daveakerman.com/?p=2340
Ikinci yol da ayni sekilde arduino ile yapman..
örnek olarak buna bakabilirsin https://create.arduino.cc/projecthub/botletics/real-time-2g-3g-lte-arduino-gps-tracker-iot-dashboard-01d471
simdi burda raspberry pi'in genis bellek imkaniyla vs vs önde oldugunu söyleyebilirim ancak raspberry pi icerisinde bir isletim sistemi calistiriyor ve onun icin arduino dan cok daha fazla güce ihtiyaci var. Enerjisini scooter'in bataryasindan karsilayabilir ama ne kadar efektif olur bilemem.. Arduino o zaman daha mantikli hale geliyor.
Aklima bir yol daha geldi, LoRa :) Cok fazla kullanilan bir sistem degil türkiye'de. Eger scooter'in hareket edecegi alan belliyse ve cook büyük degilse kendi gateway(leri)ni kurarak halledebilirsin. Tabi yine gatewayleri bir enerji kaynagi ile beslemen gerekir. Nodelar ise cok fazla enerji tüketmiyor. Calistigim yerde lora ile yapilmis bazi cihazlar var, bir pil 15 yil yetebiliyor :) Tabi LoRa ile yapmak cok kolay olmayabilir, cok sik veri gönderemezsin kullandigi frekansin izin verilen data araligi yüzünden ancak atiyorum günde 100 kere kücük boyutlarda veri alma isine yariyorsa lora iyi bir cözüm olabilir. Raspberry pi icin shieldleri var. Arduino icin bilmiyorum..
Avantaji ise; cok düsük güc tüketmesi, internet olmadan gateway'e veri yollama (daha sonra gateway araciligi ile internete cikabilirsin). Dezavantajlari, veri göndermenin kisitli olmasi, kapsami alani büyüdükce (eger cok bina vs varsa) daha cok gateway'e ihtiyac duyar haliyle maliyet artar vs vs
lora ile ilgili playlistler
https://www.youtube.com/watch?v=cUhAyyzlv2o&list=PLmL13yqb6OxdeOi97EvI8QeO8o-PqeQ0g&index=1
ve andreas spiess'in videolarina bakabilirsin https://www.youtube.com/watch?v=hMOwbNUpDQA&list=PL3XBzmAj53Rkkogh-lti58h_GkhzU1n7U
andreas'in güzel testleri de var, cook uzun mesafelere lora ile veri gönderme testleri falan yapiyor.
güzel bir projen var, sorularin olursa cevaplamaya calisirim ancak fiziksel olarak yardimci olma sansim yok maalesef..
kolay gelsin
-
Yanit icin Tesekkurler hocam.
Scooterin kendi bünyesinde kalan şarj miktarı, GPS modülü falan var. Fakat bunlar sadece Xioami Mi Home uygulamasi uzerinden görünüyor.
Biraz araştırdım sanki en mantıklısı Arduino duruyor. 20000 mah powerbank ile 24 saat acık tutabilirim gibi duruyor. En az güç tüketen buymuş.
Sim kart modülü ile sim kart taksam, bataryadan gelen elektriği ölçsem ve hesaplatsam, GPS sensörü ve jiroskop sensörleri ile konum okuyup URLe post etsem sorunum çözülür gibi.
Bunun icin Arduino uno yeterli olur mu? Yoksa mega mi kullanmam gerekiyor? Bunun gibi sorulara yanıt alabilirsem çok güzel olur :)
-
senin sartlarinda elbette arduino en mantiklisi güc tüketimi bakimindan, ben diger alternatifleri de yazdim belki fikir vermesi acisindan :)
arduinonun modeli senin acindan cok önemli degil. Cünkü I/O ile cok fazla bi isin olmayacak, evet bataryayi ölcmek icin lazim olacak ancak kalan isler icin önemli olan GPS ve GPRS/3G/LTE shieldleridir. Bu shieldler eger mini/micro modeller icin varsa onlari kullanacaksin.
Bu arada simdi farkettim amazon linkindeki shield hem raspberry pi hem arduino icin kullanilabiliyormus. Bu sekil bir shield isini görecektir ancak GPS modülü de ayri geliyor. Bu shield i kullanan örnek projelere bakmalisin..
aslinda su tam istedigin gibi https://www.waveshare.com/product/gsm-gprs-gps-shield-b-for-europe.htm
arduino uno icin bir shield (ayni zamnada Leonardo, NUCLEO, XNUCLEO destekliyor)
burda wikisi var https://www.waveshare.com/wiki/GSM/GPRS/GPS_Shield_(B)
en altta resource altinda arduino kodlari da var cesitli linkler de var
ayrica söyle ekstra iki dökümani da ekleyeyim
https://www.waveshare.com/w/upload/1/10/GSM-GPRS-GPS-Shield-B-Schematic.pdf
https://www.waveshare.com/w/upload/e/e8/SIM808_Hardware_Design_V1.02.pdf
biraz zorlayacak gibi görünüyor ama cözülmeyecek seyler degil hocam :)
-
Cok Tesekkurler kurcalayayım biraz :)
-
bi ekleme yapayim
internete cikmak zorunda degilsin hocam. AT komutlariyla SMS de atabiliyorsun. Belki daha kolay da olabilir bu sekil yapmak.. Karsi tarafta da gelen smsleri okuyan bir program yaparak iletisimi saglayabilirsin..yine onu da at komutlariyla yapabilirsin. Eskiden VINN diye mesur olan usb modemleri kullanabilirsin bunun icin, at komutlariyla sms alip gönderebilirsin..
bu da böyle bir alternatif olarak dursun bi yerlerde :)
kolay gelsin
-
Hocam selamlar,
Daha önce böyle bir proje yaptım....
Arduino ya @unbalanced'in dediği gibi GPS/GPRS cihazı modülü.
https://muhammedalmaz.com/urunlerim/alkosis/ Bende kuryelerimi böyle haritada anlık olarak takip ediyorum.
Ücretli çalışmak istersen detayları konuşuruz. Onun dışında arduino'ya bir socket bağlaman gerekiyor.
Arduino modülleri Socket işlemlerinde çok ama çok hantal.
RasPi tercih ederim. Haberin olsun. Maliyeti düşürmek istiyorsan elbette arduino kullanabilirsin ama arduionun canı bunu kaldırır mı bilemiyorum...
Ek bağladığın socket'in kütüphanesini Arduino da bulamayabilirsin. https://github.com/timum-viw/socket.io-client ben bunu kullanarak yapmıştım ama cihaz her seferinde offline oluyordu ve konumunu alamıyordum. vs vs ...
Öyle API ile falan olmaz o işler hocam...
Bahsettiğin uygulama RealTime Olmalı. Hem geliştirme açısından hemde senin sunucundaki yük maliyeti açısından.
Ne kadar desen ki ben 50 sn de 60 sn de bir post atmak istiyorum. Sen her post isteği yaptığında Http Request oluşturuyorsun ve her seferinde sunucuya giderken Http protokolünü vs vs hepsini tekrar yaratıyorsun.
Fakat UDP/TCP socket'lerde kendi isteğini yapıp daha sonra haberleşmeyi sürekli ayakta tuttuğundan bu istek aşamasında oluşan maliyeti siliyorsun.
Bundan ziyade Arduinolara atacağın bir ID ile veya bir Adress ile hangi scooter nerede vs görebilirsin rahatlıkla.
Şuan çalışıyor mu ? Şuan sağa yatmış mı ? Sola mı yatmış ? Takla mı atmış vs vs vs... Hızını cartını curtunu alayını ölçersin. Hatta ilerleyen zamanlarda tek tuşla motoru çalıştırma vs vs gibi işlemler bile yapabilirsin.
Kolay gelsin.
-
Hocam bunu da bi incele.
-
MhmdAlmz bunu yazdı
Hocam selamlar,
Daha önce böyle bir proje yaptım....
Arduino ya @unbalanced'in dediği gibi GPS/GPRS cihazı modülü.
https://muhammedalmaz.com/urunlerim/alkosis/ Bende kuryelerimi böyle haritada anlık olarak takip ediyorum.
Ücretli çalışmak istersen detayları konuşuruz. Onun dışında arduino'ya bir socket bağlaman gerekiyor.
Arduino modülleri Socket işlemlerinde çok ama çok hantal.
RasPi tercih ederim. Haberin olsun. Maliyeti düşürmek istiyorsan elbette arduino kullanabilirsin ama arduionun canı bunu kaldırır mı bilemiyorum...
Ek bağladığın socket'in kütüphanesini Arduino da bulamayabilirsin. https://github.com/timum-viw/socket.io-client ben bunu kullanarak yapmıştım ama cihaz her seferinde offline oluyordu ve konumunu alamıyordum. vs vs ...
Öyle API ile falan olmaz o işler hocam...
Bahsettiğin uygulama RealTime Olmalı. Hem geliştirme açısından hemde senin sunucundaki yük maliyeti açısından.
Ne kadar desen ki ben 50 sn de 60 sn de bir post atmak istiyorum. Sen her post isteği yaptığında Http Request oluşturuyorsun ve her seferinde sunucuya giderken Http protokolünü vs vs hepsini tekrar yaratıyorsun.
Fakat UDP/TCP socket'lerde kendi isteğini yapıp daha sonra haberleşmeyi sürekli ayakta tuttuğundan bu istek aşamasında oluşan maliyeti siliyorsun.
Bundan ziyade Arduinolara atacağın bir ID ile veya bir Adress ile hangi scooter nerede vs görebilirsin rahatlıkla.
Şuan çalışıyor mu ? Şuan sağa yatmış mı ? Sola mı yatmış ? Takla mı atmış vs vs vs... Hızını cartını curtunu alayını ölçersin. Hatta ilerleyen zamanlarda tek tuşla motoru çalıştırma vs vs gibi işlemler bile yapabilirsin.
Kolay gelsin.
Hocam sizin yaşadığınız problemin arduino'nun socket işlemlerinde hantal olmasından kaynaklandığını düşünmüyorum. Hantallığın kullandığınız kütüphane ile alakalı olabileceğini düşünüyorum. Zira bende sim800 ve 8bit AVR mimarili işlemci ile çalıştım zamanında. Bahsettiğiniz hantallıkları yaşamadım. Zaten TCP/IP Stack bu cihazlar üzerinde mevcut. Biz sadece AT komutları ile bunlara ulaşıyoruz uygulama geliştirirken. Dolayısı ile mikroişlemci sadece USART üzerinden veri gönderip alıyor hepsi bu. Bazı modüller özellikle simcom serisi modüller, besleme gerilimine karşı çok hassas. Uygun besleme yapmazsanız modülün boot olmaması, durup durup yeniden başlatılması gibi problemlerle karşılaşabiliyorsunuz. Belki sizinki de buna benzer bir problem olabilir.
-
MhmdAlmz bunu yazdı
Hocam selamlar,
Daha önce böyle bir proje yaptım....
Arduino ya @unbalanced'in dediği gibi GPS/GPRS cihazı modülü.
https://muhammedalmaz.com/urunlerim/alkosis/ Bende kuryelerimi böyle haritada anlık olarak takip ediyorum.
Ücretli çalışmak istersen detayları konuşuruz. Onun dışında arduino'ya bir socket bağlaman gerekiyor.
Arduino modülleri Socket işlemlerinde çok ama çok hantal.
RasPi tercih ederim. Haberin olsun. Maliyeti düşürmek istiyorsan elbette arduino kullanabilirsin ama arduionun canı bunu kaldırır mı bilemiyorum...
Ek bağladığın socket'in kütüphanesini Arduino da bulamayabilirsin. https://github.com/timum-viw/socket.io-client ben bunu kullanarak yapmıştım ama cihaz her seferinde offline oluyordu ve konumunu alamıyordum. vs vs ...
Öyle API ile falan olmaz o işler hocam...
Bahsettiğin uygulama RealTime Olmalı. Hem geliştirme açısından hemde senin sunucundaki yük maliyeti açısından.
Ne kadar desen ki ben 50 sn de 60 sn de bir post atmak istiyorum. Sen her post isteği yaptığında Http Request oluşturuyorsun ve her seferinde sunucuya giderken Http protokolünü vs vs hepsini tekrar yaratıyorsun.
Fakat UDP/TCP socket'lerde kendi isteğini yapıp daha sonra haberleşmeyi sürekli ayakta tuttuğundan bu istek aşamasında oluşan maliyeti siliyorsun.
Bundan ziyade Arduinolara atacağın bir ID ile veya bir Adress ile hangi scooter nerede vs görebilirsin rahatlıkla.
Şuan çalışıyor mu ? Şuan sağa yatmış mı ? Sola mı yatmış ? Takla mı atmış vs vs vs... Hızını cartını curtunu alayını ölçersin. Hatta ilerleyen zamanlarda tek tuşla motoru çalıştırma vs vs gibi işlemler bile yapabilirsin.
Kolay gelsin.
Ozel mesaj gönderdim :)
-
aercys bunu yazdıMhmdAlmz bunu yazdı
Hocam selamlar,
Daha önce böyle bir proje yaptım....
Arduino ya @unbalanced'in dediği gibi GPS/GPRS cihazı modülü.
https://muhammedalmaz.com/urunlerim/alkosis/ Bende kuryelerimi böyle haritada anlık olarak takip ediyorum.
Ücretli çalışmak istersen detayları konuşuruz. Onun dışında arduino'ya bir socket bağlaman gerekiyor.
Arduino modülleri Socket işlemlerinde çok ama çok hantal.
RasPi tercih ederim. Haberin olsun. Maliyeti düşürmek istiyorsan elbette arduino kullanabilirsin ama arduionun canı bunu kaldırır mı bilemiyorum...
Ek bağladığın socket'in kütüphanesini Arduino da bulamayabilirsin. https://github.com/timum-viw/socket.io-client ben bunu kullanarak yapmıştım ama cihaz her seferinde offline oluyordu ve konumunu alamıyordum. vs vs ...
Öyle API ile falan olmaz o işler hocam...
Bahsettiğin uygulama RealTime Olmalı. Hem geliştirme açısından hemde senin sunucundaki yük maliyeti açısından.
Ne kadar desen ki ben 50 sn de 60 sn de bir post atmak istiyorum. Sen her post isteği yaptığında Http Request oluşturuyorsun ve her seferinde sunucuya giderken Http protokolünü vs vs hepsini tekrar yaratıyorsun.
Fakat UDP/TCP socket'lerde kendi isteğini yapıp daha sonra haberleşmeyi sürekli ayakta tuttuğundan bu istek aşamasında oluşan maliyeti siliyorsun.
Bundan ziyade Arduinolara atacağın bir ID ile veya bir Adress ile hangi scooter nerede vs görebilirsin rahatlıkla.
Şuan çalışıyor mu ? Şuan sağa yatmış mı ? Sola mı yatmış ? Takla mı atmış vs vs vs... Hızını cartını curtunu alayını ölçersin. Hatta ilerleyen zamanlarda tek tuşla motoru çalıştırma vs vs gibi işlemler bile yapabilirsin.
Kolay gelsin.
Hocam sizin yaşadığınız problemin arduino'nun socket işlemlerinde hantal olmasından kaynaklandığını düşünmüyorum. Hantallığın kullandığınız kütüphane ile alakalı olabileceğini düşünüyorum. Zira bende sim800 ve 8bit AVR mimarili işlemci ile çalıştım zamanında. Bahsettiğiniz hantallıkları yaşamadım. Zaten TCP/IP Stack bu cihazlar üzerinde mevcut. Biz sadece AT komutları ile bunlara ulaşıyoruz uygulama geliştirirken. Dolayısı ile mikroişlemci sadece USART üzerinden veri gönderip alıyor hepsi bu. Bazı modüller özellikle simcom serisi modüller, besleme gerilimine karşı çok hassas. Uygun besleme yapmazsanız modülün boot olmaması, durup durup yeniden başlatılması gibi problemlerle karşılaşabiliyorsunuz. Belki sizinki de buna benzer bir problem olabilir.
Olabilir hocam bizdeki orjinal arduino da değildi. Clone mi. Ne diyorlar. Ondan vardı bilemiyorum..