Loyiha · GPS · Bulutsiz
O‘z veb-dashboardiga ega ESP32 / ESP8266 GPS-treker yig‘ing
NEO-6M va $3 lik mikrokontroller jonli xarita, uy geo-hududi, GPX trek eksporti va OTA yangilanishlarni uzatadi — to‘g‘ridan-to‘g‘ri platadan. Bulutsiz, ilovasiz, obunasiz.
Ko‘pchilik DIY GPS-trekerlar joylashuvingizni birovning bulutiga uzatadi. Bunisi esa yo‘q. Bitta ESP32 yoki ESP8266 va bitta $3 lik NEO-6M moduli to‘liq veb-dashboardni to‘g‘ridan-to‘g‘ri platadan uzatadi — jonli xarita, tezlik, sun’iy yo‘ldoshlar, ogohlantirishli uy geo-hududi va Strava, OsmAnd yoki Google Earth’da ochib bo‘ladigan GPX / CSV trek eksporti. Akkauntsiz, ilovasiz, oylik to‘lovsiz.
U RisalDash — bir hovuch dash.metric(...) / dash.map(...)
chaqiruvidan WebSocket orqali adaptiv, jonli dashboard yasaydigan ochiq kodli Arduino kutubxonasi
asosida qurilgan.
Nima qiladi
- Iz bilan jonli xarita — sizning joylashuvingiz va bosib o‘tgan yo‘lingiz, OpenStreetMap plitkalarida.
- Uy geo-hududi — “uy” atrofidagi radius; tashqariga chiqing va u vibratsiya ogohlantirishini (hamda ixtiyoriy Telegram xabarini) ishga tushiradi, hech qachon takrorlanmasligi uchun debounced qilingan.
- Trek yozib borish — flesh xotiraga xavfsiz yoziladigan kunma-kun CSV fayllar. To‘liq oflaynda ishlaydi: Wi-Fi’siz haydang, u butun sayohatni yozib boradi.
- Bir tegishda eksport — o‘rnatilgan
/trackssahifasi har bir logni CSV va striming-GPX havolalari bilan ro‘yxatlaydi. - OTA yangilanishlar — yangi proshivkani brauzerdan quying. Birinchi yuklashdan keyin USB-kabelsiz.
- O‘zi joylashtirilgan — dashboardni ESP uzatadi; joylashuvingiz tarmog‘ingizdan chiqib ketmaydi.
Temir qism
- ESP8266 (Wemos D1 mini) yoki ESP32 — ~$3–5
- NEO-6M GPS moduli — ~$3
- Ogohlantirish uchun vibratsiya motori (ixtiyoriy) — ~$1
Ulanish (ESP8266): NEO-6M TX → D5, RX → D6, VCC → 3V3, GND → GND; vibratsiya motori D1da. Yalang‘och vibratsiya motori ~70–100 mA tortadi va uni GPIO’dan (~12 mA) to‘g‘ridan-to‘g‘ri boshqarib bo‘lmaydi — pin bilan motor o‘rtasiga tranzistor qo‘ying, flyback diod bilan.
Kod
Butun dashboard deklarativ. Bu deyarli butun interfeys:
#include <RisalDash.h>
RisalUI dash("GPS Tracker");
dash.map("Track", &lat, &lon).geofence(&homeLat, &homeLon, &fenceRadius);
dash.gauge("Speed", &speedKmh, 0, 40, "km/h");
dash.metric("Satellites", &sats);
dash.chart("Altitude", &altM, "m");
dash.link("History", "Download tracks", "/tracks");
dash.enableOTA();
dash.begin(); // captive portal, keyin Wi-Fi’ingizga ulanadi O‘zgaruvchilarni loop()da TinyGPSPlusdan uzating, va xarita, ko‘rsatkichlar
hamda grafik har bir ochiq brauzerda jonli yangilanadi. Maxsus endpointlar (trek ro‘yxati, CSV
yuklab olish, striming GPX) bir xil portda dash.server()ga osiladi.
Nega bulutsizlik muhim
Uyga qo‘ng‘iroq qiladigan treker — maxfiylik uchun xavf va kutib turgan obuna. Dashboardni qurilmadan uzatish joylashuvingizni lokal tarmoqda saqlaydi, internet uzilganda ham treker ishlashda davom etadi va to‘laydigan yoki o‘chiriladigan hech narsa qoldirmaydi. Uy Wi-Fi’sidan tashqarida u fleshga yozadi; tarmog‘ingizga qaytganda avtomatik qayta ulanadi va siz kunning GPX’ini tortib olasiz.
ESP32 & ESP8266 uchun to‘liq, build-sinovdan o‘tgan manba kodi.