ITcoDe.Uz ← Maqolalar

IoT · Avtomobil

ESP32 va SIM800L bilan avtomobilni masofadan o't oldirish

Telefondagi tugma bosilganda avtomobil o't oladi. Oradagi masofa — bir necha ming kilometr bo'lishi ham mumkin. Quyida shu zanjirning har bo'g'ini va yo'lda uchragan uchta jiddiy muammo.

Bakhrullo Nasrulloyev2026-08-14~8 daqiqa

Vazifa

Chevrolet Cobalt 2017 — zavod push-start tizimisiz. Maqsad: telefondan turib dvigatelni yoqish, eshiklarni qulflash va avtomobil qayerdaligini ko'rish. Wi-Fi hisobga olinmaydi, chunki avtomobil ko'pincha uydan uzoqda turadi. Demak GSM kerak.

Nima uchun TTGO T-Call

Alohida ESP32 va alohida SIM800L modulini ulash mumkin, lekin ular orasida uchta narsani o'zingiz hal qilishingiz kerak bo'ladi: quvvat, sath moslashtirish va joylashuv. TTGO T-Call V1.3 platasida ikkalasi bitta taxtada, orada tayyor sath konverteri va SIM ushlagichi bilan keladi.

Muhimi — bu platada AXP192 quvvat boshqaruv chipi bor. SIM800L uzatish paytida qisqa vaqtga 2 amper gacha tok tortadi. Oddiy USB portidan quvvat bersangiz, modul har uzatishda o'chib qoladi va siz sababini soatlab qidirasiz.

Birinchi muammo. Plata ishga tushdi, seriya monitorda hammasi joyida, lekin SIM karta tarmoqqa ulanmaydi. Sabab — noutbukning USB porti yetarli tok bermaydi. Yechim: 5V 2A adapter yoki avtomobilning o'z akkumulyatori orqali quvvat berish.

Push-start moduli

Avtomobilda zavod tugmasi bo'lmagani uchun EC003 turkumidagi push-start modul o'rnatiladi. U uchta asosiy chiziqni boshqaradi: eshik qulfi, izlash/o't oldirish va ochish. ESP32 shu modulning tugmalarini "bosishi" kerak.

Menda GPIO taqsimoti shunday:

GPIOVazifaBosish turi
14Qulflash (lock)Qisqa
13Izlash / o't oldirishQisqa yoki uzun
15Ochish (unlock)Qisqa

Uzun bosish — 3300 ms. Bu tajriba yo'li bilan topilgan raqam: 3000 ms da modul ba'zan javob bermadi, 3500 ms da esa ikkilamchi funksiya ishga tushib ketdi. Har bir modul turi uchun bu qiymatni o'zingiz o'lchashingiz kerak.

Nima uchun to'g'ridan-to'g'ri ulash mumkin emas

ESP32 chiqishi 3.3 volt beradi, avtomobil tarmog'i esa 12 volt va u toza emas — starter aylanganda kuchlanish 9 voltgacha tushadi, generator ishga tushganda 14.4 voltgacha ko'tariladi, ba'zan qisqa impulslar chiqadi.

Agar platani to'g'ridan-to'g'ri ulasangiz, birinchi o't oldirishda ESP32 kuyadi. Shuning uchun orada PC817 optopara turadi — u ikki tomonni yorug'lik orqali ajratadi, elektr aloqasi umuman bo'lmaydi. Bu haqda alohida maqolada batafsil yozganman.

Bulut tomoni

Qurilma va telefon o'rtasida to'g'ridan-to'g'ri aloqa yo'q — orada MQTT broker turadi. Men EMQX Cloud dan foydalanaman, TLS bilan 8883-portda.

Sxema oddiy: telefon buyruqni car/cmd mavzusiga yozadi, qurilma unga obuna bo'lgan va darhol oladi. Bajarilgach, qurilma car/state ga holatni yozadi va telefon uni ko'radi.

// buyruqni qabul qilish
void onMessage(char* topic, byte* payload, unsigned int len) {
  StaticJsonDocument<192> doc;
  if (deserializeJson(doc, payload, len)) return;

  const char* act = doc["action"];
  if (!strcmp(act, "start"))  pressBegin(PIN_START, T_LONG);
  if (!strcmp(act, "lock"))   pressBegin(PIN_LOCK,  T_SHORT);
  if (!strcmp(act, "unlock")) pressBegin(PIN_OPEN,  T_SHORT);
}

E'tibor bering: pressBegin() tugmani bosib turmaydi, faqat bosishni boshlaydi va darhol qaytadi. Nima uchun shunday qilinganini bloklamaydigan mantiq haqidagi maqolada tushuntirganman.

Ikkinchi muammo: qurilma har yarim daqiqada uzilardi

Tizim ishlab ketdi, lekin g'alati xatti-harakat paydo bo'ldi — qurilma taxminan har 30 soniyada MQTT dan uzilib, qayta ulanardi. Signal kuchi yaxshi, tarmoq barqaror.

Sabab kutilmagan joydan chiqdi: telefondagi PWA va qurilma brokerga bir xil client ID bilan ulanayotgan edi. Bu MQTT protokolida taqiqlangan va broker eskisini majburan uzadi. Batafsil tahlil — shu maqolada.

Uchinchi muammo: GPS yolg'on koordinata berardi

Xaritada avtomobil goh Denovda, goh 40 kilometr narida ko'rinardi. Modul koordinata beryapti, lekin u ishonchsiz — sun'iy yo'ldosh soni yetarli emas yoki geometriyasi yomon.

Yechim: har bir koordinatani qabul qilishdan oldin filtrdan o'tkazish — kamida 4 ta sun'iy yo'ldosh va HDOP qiymati 5 dan kichik bo'lishi shart. Filtr mantiqini GPS haqidagi yozuvda ko'rsatganman.

Xavfsizlik haqida

Avtomobilni masofadan o't oldirish qulay, lekin xavf ham tug'diradi. Amalda men quyidagilarni majburiy deb bilaman:

Ogohlantirish. Avtomobil elektr tizimiga aralashish kafolatni bekor qilishi va xavf tug'dirishi mumkin. Tajribangiz bo'lmasa, ulanishni avto elektrik bilan birga bajaring va ishni akkumulyator klemmasi uzilgan holda boshlang.

Natija

Tizim hozir har kuni ishlaydi. Telefondagi tugma bosilishidan dvigatel aylanishigacha o'rtacha 2–4 soniya ketadi — vaqtning katta qismi GSM tarmog'iga ulanishga sarflanadi.

Eng ko'p vaqt olgan qism kod emas, balki avtomobil tomoni bo'ldi: qaysi sim qayerga borishini aniqlash, to'g'ri impuls uzunligini topish va uzilishlarga bardoshli qilish.

ESP32SIM800LMQTTGPSAvto elektronika