- UniversalTelegramBoti teegi integreerimine HTTPS-suhtluse lihtsustamiseks Telegram API-ga.
- GPIO-tihvtide kaugjuhtimine ajamite, näiteks LED-ide, juhtimiseks ja lülitite olekute lugemiseks.
- Turvalisuse rakendamine vestluse ID valideerimise ja SSL-sertifikaatide kasutamise kaudu.

Kas olete kunagi mõelnud oma koduse automatiseerimise seadmete juhtimisele diivanilt mobiiltelefoni abil? ESP32 juhtimiseks Telegrami kaudu süsteemi seadistamine on üks lihtsamaid ja võimsamaid viise koduse automatiseerimise maailma sisenemiseks ilma oma elu keerulisemaks muutmata kallite väliste serverite või võimatute konfiguratsioonidega.
Maagia peitub selles, et muuta oma tahvel väikeseks serveriks, mis kuulab roboti käske. Sa ei pea olema programmeerimisgeenius, sest paari teegi ja väikese kannatlikkusega saad oma seadme tulesid põlema panna või anduri olekust reaalajas teavitada – seda kõike kiirsõnumite kaudu.
Vajalikud materjalid
Alustamiseks ei pea te varandust kulutama. Kõige tähtsam on omada ESP32 plaati ; pole vahet, kas tegemist on vanema või uuema mudeliga, kuna ühilduvus on täielik. Lisaks projekti ajule vajate testimiseks mõningaid põhikomponente:
- Valgusdiood (LED), mis kontrollib, kas kõik töötab.
- 220-oomine takisti, et vältida LED-i läbipõlemist.
- Nupp või lüliti füüsikaliste olekute lugemiseks.
- Ühenduskaablid ja leivaplaat, et alguses midagi jootma ei peaks.
Elektroonilise vooluahela komplekt
Enne koodi redigeerimist peate riistvara ette valmistama. Selle näite puhul ühendame LED-i GPIO 33. tihvtiga ja lüliti GPIO 14. tihvtiga . Oluline on meeles pidada, et saate neid tihvte vastavalt vajadusele muuta, kuid peate selle muudatuse hiljem programmi konstantides kajastama.
LED on kaitseks ühendatud vastava takistiga, samas kui nupp on konfigureeritud sisemiselt, et vältida lisajuhtmestikku. Kui vooluring on testplaadile kokku pandud , saate liikuda edasi tarkvaraosa juurde, kus toimub kogu toiming.
Boti seadistamine Telegramis
Selleks, et ESP32 teaks, keda kuulata, peame esmalt looma roboti identiteedi Telegrami rakenduses endas. See protsess on ülioluline, kuna see annab kaks olulist teavet: roboti tunnuskoodi (pikk numbrite ja tähtede jada) ja teie isikliku kasutajatunnuse . Ilma nende kahe võtmeta ei saa seade ennast autentida ega määrata, kellel on õigus talle käske anda.
Kui tunned, et vestlus on mingil hetkel kaootiliseks muutunud, pea meeles, et saad ajaloo alati paremas ülanurgas olevast menüüst kustutada. Nii taaskäivitad roboti ja naased avakuva nupule koos saadaolevate käskudega, mis võimaldab sul puhtalt alustada.
Arenduskeskkonna koostamine
Selleks, et kood töötaks, peame installima tööriista, mis teeb meie elu lihtsamaks: UniversalTelegramBot teegi . Selle asemel, et kirjutada sadu ridu koodi Telegram API haldamiseks, teeb see teek peaaegu kõik meie eest.
Selle installimiseks minge lihtsalt Arduino IDE teegihaldurisse, tippige teegi nimi ja klõpsake nuppu „Installi“. Veenduge ka, et teil on installitud WiFi ja WiFiClientSecure teegid , kuna need võimaldavad ESP32-l luua internetiühenduse ja kasutada turvaliseks suhtluseks HTTPS-protokolli.
Juhtkoodi analüüs
Programm alustab teie WiFi-võrgu volituste ja roboti võtmete määratlemisega. On oluline, et asendaksite näidisväärtused enda omadega. SSID ja paroolsamuti token ja vestluse ID. Interaktiivsuse huvides defineerime muutuja nimega info mis sisaldab käskude loendit, mida bot tunneb ära, näiteks /led_on või /sw_state.
Sõnumite ja käskude haldamine
Süsteemi südameks on funktsioon, mis kontrollib uute sõnumite olemasolu. ESP32 kasutab meetodit getUpdates para kontrollige sõnumijärjekorda Telegramilt. Et võõrad ei saaks teie kodu kontrollida, sisaldab kood filtrit, mis kontrollib, kas saatja ID vastab täpselt teie omale. eelmääratud CHAT_ID.
Kui kasutaja on valideeritud, analüüsib bot vastuvõetud teksti: kui see tuvastab /led_onSee saadab digitaalse signaali 33. jalale, et tuli sisse lülitada; kui see saab /led_off, lülitab selle välja. Samuti on olemas võimalus /led_togglemis on väga praktiline, sest pöörab praeguse oleku ümber LED-ist ilma, et peaksite teadma, kas see oli eelnevalt sisse või välja lülitatud.
Anduri lugemine ja lõpuleviimine
Lisaks käskude andmisele saab bot anda ka teavet. Käsu abil /sw_stateESP32 loeb tihvti 14 olekut. Kuna oleme tihvti konfigureerinud järgmiselt INPUT_PULLUPSeade tuvastab, kas nuppu vajutatakse või mitte, ja saadab meile kinnituseks tekstisõnumi.
Käivitusprotsessi ajal loob seade WiFi-ühenduse lukustatud viisil, mis tähendab, et see ei tee midagi enne, kui ühendus on stabiilne . Turvalisuse edasiseks suurendamiseks kasutatakse Telegrami juursertifikaati, mis tagab andmeliikluse krüptimise. Põhitsükkel kordab sõnumikontrolli iga sekund, et hoida süsteem paindlik ja reageerimisvõimeline.
Selle süsteemiga oleme edukalt integreerinud riist- ja tarkvara, et luua traadita side sild. Oleme konfigureerinud roboti, hallanud turvalisust ID-de ja sertifikaatide abil ning programmeerinud GPIO pin-vastused, et suhelda füüsilise maailmaga kõikjal, kus on internetiühendus.
Preguntas frecuentes
Millist teeki on vaja ESP32 Telegramiga ühendamiseks?
Kasutada tuleks UniversalTelegramBoti teeki, mis lihtsustab Telegram API-ga suhtlemist ning hõlbustab sõnumite saatmist ja vastuvõtmist.
Kuidas tagada, et ainult mina saan robotit kontrollida?
Kood rakendab filtrit, mis võrdleb vastuvõetud sõnumi vestluse ID-d eelnevalt määratletud CHAT_ID-ga, ignoreerides teistelt kasutajatelt tulevaid käske.
Kas botiga suhtlemiseks on vaja kasutada HTTPS-i?
Jah, Telegram nõuab turvalisi ühendusi, seega kasutatakse WiFiClientSecure'i ja Telegrami juursertifikaat tuleb ESP32-l konfigureerida.
Mis on koodis käsu /led_toggle eesmärk?
Seda käsku kasutatakse LED-i praeguse oleku ümberpööramiseks, lülitades selle sisse, kui see oli välja lülitatud, või välja, kui see oli sisse lülitatud.
Miks kasutatakse lüliti jaoks INPUT_PULLUP-i?
Seda kasutatakse plaadi sisemise takistuse aktiveerimiseks, vältides seega vajadust lisada nupuvajutusega vooluringile välist füüsilist takistust.
Kust ma saan bot tokeni ja kasutaja ID?
Token saadakse boti loomisel Telegramis BotFatheri kaudu ja kasutajatunnuse saab hankida bottide kaudu, mis on spetsialiseerunud profiili identiteedi hankimisele.



