„Telegram“ roboto kūrimo su ESP32 vadovas

Paskutiniai pakeitimai: 15/11/2026
Autorius: Izaokas
  • „UniversalTelegramBot“ bibliotekos integracija, siekiant supaprastinti HTTPS ryšį su „Telegram“ API.
  • Nuotolinis GPIO kontaktų valdymas, skirtas valdyti pavaras, pvz., šviesos diodus, ir skaityti jungiklių būsenas.
  • Saugumo įgyvendinimas naudojant „Chat ID“ patvirtinimą ir SSL sertifikatus.

Mikrovaldiklio plokštė, prijungta prie maketo su šviečiančiu LED indikatoriumi, idealiai tinka ESP32 projekto rezultatams iliustruoti.

Ar kada nors svarstėte galimybę valdyti savo namų automatikos įrenginius patogiai įsitaisę ant sofos naudodami mobilųjį telefoną? Na, o sistemos, skirtos valdyti ESP32 per „Telegram“, nustatymas yra vienas iš paprasčiausių ir galingiausių būdų patekti į namų automatikos pasaulį neapsunkinant savo gyvenimo brangiais išoriniais serveriais ar neįmanomomis konfigūracijomis.

Magija slypi tame, kad lentą paversite mažu serveriu, kuris klausosi roboto komandų. Jums nereikia būti programavimo genijus, nes su keliomis bibliotekomis ir trupučiu kantrybės galite priversti savo įrenginį įjungti šviesas arba realiuoju laiku įspėti apie jutiklio būseną – visa tai tiesioginėmis tekstinėmis žinutėmis.

Medžiagos, kurios jums reikės

Proto plokštės su kabeliais ir elektroniniais komponentais detalė, naudinga reikalingų medžiagų skyriui.

Pradžiai nereikia išleisti daug pinigų. Svarbiausia turėti ESP32 plokštę ; nesvarbu, ar tai senesnis, ar naujausias modelis, nes suderinamumas yra visiškas. Be projekto smegenų, jums reikės kelių pagrindinių komponentų testavimui:

  • Šviesos diodas (LED), skirtas patikrinti, ar viskas veikia.
  • 220 omų rezistorius, kad šviesos diodas neperdegtų.
  • Mygtukas arba jungiklis fizinėms būsenoms nuskaityti.
  • Jungiamieji laidai ir duonos plokštė, kad pradžioje nereikėtų nieko lituoti.

Elektroninės grandinės surinkimas

Rankos, surenkančios elektroninius komponentus ir laidus ant maketo grandinės surinkimui.

Prieš redaguodami kodą, turite paruošti aparatinę įrangą. Šiame pavyzdyje šviesos diodą prijungsime prie GPIO 33 kontakto , o jungiklį – prie GPIO 14. Labai svarbu atsiminti, kad šiuos kontaktus galite keisti pagal poreikį, tačiau šį pakeitimą turėsite atspindėti vėliau programos konstantose.

  Telegrama neveikia tinkamai. Priežastys, sprendimai ir alternatyvos

Šviesos diodas yra prijungtas prie atitinkamo rezistoriaus apsaugai, o mygtukas sukonfigūruotas viduje, kad būtų išvengta papildomo laidų sujungimo. Surinkus grandinę ant maketo , galite pereiti prie programinės dalies, kurioje vyksta visi veiksmai.

Boto sąranka „Telegram“ programoje

Asmens, siunčiančio žinutes išmaniuoju telefonu ir imituojančio sąveiką su „Telegram“ robotu, stambus planas.

Kad ESP32 žinotų, ko klausytis, pirmiausia turime sukurti roboto tapatybę pačioje „Telegram“ programoje. Šis procesas yra labai svarbus, nes jis pateikia du pagrindinius informacijos elementus: roboto prieigos raktą (ilgą skaičių ir raidžių eilutę) ir jūsų asmeninį vartotojo ID . Be šių dviejų raktų įrenginys negali autentifikuotis arba nustatyti, kas turi teisę duoti jam komandas.

Jei bet kuriuo metu jaučiate, kad pokalbis tapo chaotiškas, atminkite, kad istoriją visada galite išvalyti iš viršutinio dešiniojo meniu. Tai padarius, robotas bus paleistas iš naujo ir grįš į pagrindinį mygtuką su turimomis komandomis, todėl galėsite pradėti iš naujo.

Kūrimo aplinkos paruošimas

Nešiojamasis kompiuteris su ekrane rodomu programavimo kodu, vaizduojančiu „Arduino IDE“ kūrimo etapą.

Kad kodas veiktų, turime įdiegti įrankį, kuris palengvintų mūsų gyvenimą: „ UniversalTelegramBot“ biblioteką . Užuot rašę šimtus kodo eilučių, kad tvarkytume „Telegram“ API, ši biblioteka atlieka beveik viską už mus.

Norėdami ją įdiegti, tiesiog eikite į „Arduino IDE“ bibliotekų tvarkyklę, įveskite bibliotekos pavadinimą ir spustelėkite „Įdiegti“. Taip pat įsitikinkite, kad įdiegtos „WiFi“ ir „WiFiClientSecure“ bibliotekos , nes jos leidžia ESP32 prisijungti prie interneto ir naudoti HTTPS protokolą saugiam ryšiui.

Valdymo kodo analizė

Programa pradedama apibrėžiant jūsų „Wi-Fi“ tinklo kredencialus ir roboto raktus. Labai svarbu pakeisti pavyzdines reikšmes savosiomis. SSID ir slaptažodistaip pat prieigos raktą ir pokalbio ID. Interaktyvumui apibrėžiame kintamąjį, vadinamą info kuriame yra komandų, kurias robotas atpažins, sąrašas, pvz., /led_on arba /sw_state.

  Kaip automatizuoti atsakymus ir apklausas „Telegram“ naudojant robotus

Pranešimų ir komandų valdymas

Sistemos esmė yra funkcija, kuri tikrina, ar nėra naujų pranešimų. ESP32 naudoja metodą getUpdates punktas patikrinkite pranešimų eilę iš „Telegram“. Kad pašaliniai asmenys negalėtų kontroliuoti jūsų namų, kode yra filtras, kuris patikrina, ar siuntėjo ID tiksliai atitinka jūsų. iš anksto nustatytas CHAT_ID.

Kai vartotojas patvirtinamas, robotas analizuoja gautą tekstą: jei aptinka /led_onJis siunčia skaitmeninį signalą į 33 kaištį, kad įjungtų šviesą; jei jis gauna /led_off, išjungia. Taip pat yra galimybė /led_togglekas yra labai praktiška, nes apverčia dabartinę būseną šviesos diodo, jums nereikės žinoti, ar jis anksčiau buvo įjungtas, ar išjungtas.

Jutiklio rodmenų nuskaitymas ir užbaigimas

Be komandų davimo, robotas taip pat gali teikti informaciją. Komandos naudojimas /sw_stateESP32 nuskaito 14 kaiščio būseną. Kadangi sukonfigūravome kaištį kaip INPUT_PULLUPĮrenginys aptiks, ar mygtukas paspaustas, ir atsiųs mums patvirtinantį tekstinį atsakymą.

Paleidimo metu įrenginys prie „Wi-Fi“ prisijungia užrakintu režimu, tai reiškia, kad jis nieko nedarys, kol ryšys nebus stabilus . Siekiant dar labiau padidinti saugumą, naudojamas „Telegram“ šakninis sertifikatas, užtikrinantis duomenų srauto šifravimą. Pagrindinis ciklas tiesiog kartoja pranešimų patikrinimą kas sekundę, kad sistema būtų lanksti ir reaguotų į poreikius.

Su šia sistema sėkmingai integravome aparatinę ir programinę įrangą, kad sukurtume belaidį ryšio tiltą. Sukonfigūravome robotą, tvarkėme saugumą naudodami ID ir sertifikatus bei užprogramavome GPIO kontaktų atsakus, kad būtų galima sąveikauti su fiziniu pasauliu iš bet kurios vietos, kur yra interneto ryšys.

Izaokas

Isaac

Aistringas rašytojas apie baitų pasaulį ir technologijas apskritai. Man patinka dalytis savo žiniomis rašydamas, būtent tai ir darysiu šiame tinklaraštyje, parodysiu jums įdomiausius dalykus apie programėles, programinę įrangą, techninę įrangą, technologijų tendencijas ir kt. Mano tikslas – padėti jums paprastai ir smagiai naršyti skaitmeniniame pasaulyje.

  Kaip siųsti kryžminius pranešimus tarp „WhatsApp“ ir „Telegram“

Dažniausiai užduodami klausimai

Kuri biblioteka reikalinga norint prijungti ESP32 prie „Telegram“?

Reikėtų naudoti „UniversalTelegramBot“ biblioteką, kuri supaprastina sąveiką su „Telegram“ API ir palengvina pranešimų siuntimą bei gavimą.

Kaip užtikrinti, kad tik aš galiu valdyti robotą?

Kodas įgyvendina filtrą, kuris lygina gautos žinutės pokalbių ID su iš anksto nustatytu CHAT_ID, ignoruodamas bet kokias komandas, gaunamas iš kito vartotojo.

Ar būtina naudoti HTTPS norint bendrauti su robotu?

Taip, „Telegram“ reikalauja saugių ryšių, todėl naudojamas „WiFiClientSecure“, o „Telegram“ šakninis sertifikatas turi būti sukonfigūruotas ESP32.

Kokia komandos /led_toggle paskirtis kode?

Ši komanda naudojama norint apversti dabartinę šviesos diodo būseną, įjungiant jį, jei jis buvo išjungtas, arba išjungiant, jei buvo įjungtas.

Kodėl jungikliui naudojamas INPUT_PULLUP?

Jis naudojamas plokštės vidinei varžai aktyvuoti, taip išvengiant poreikio pridėti išorinę fizinę varžą prie mygtuko grandinės.

Kur gauti roboto žetoną ir vartotojo ID?

Žetonas gaunamas sukuriant robotą per „BotFather“ „Telegram“ platformoje, o vartotojo ID galima gauti per robotus, kurie specializuojasi profilio tapatybės gavime.