- Integrimi i bibliotekës UniversalTelegramBot për të thjeshtuar komunikimin HTTPS me API-në e Telegramit.
- Kontroll i largët i kunjave GPIO për të operuar aktivizues siç janë LED-et dhe për të lexuar gjendjet e çelësit.
- Implementimi i sigurisë përmes validimit të Chat ID dhe përdorimit të certifikatave SSL.

A keni menduar ndonjëherë të kontrolloni pajisjet e automatizimit të shtëpisë nga komoditeti i divanit tuaj duke përdorur telefonin celular? Epo, konfigurimi i një sistemi për të kontrolluar një ESP32 përmes Telegram është një nga mënyrat më të thjeshta dhe më të fuqishme për t'u futur në botën e automatizimit të shtëpisë pa e komplikuar jetën tuaj me servera të shtrenjtë të jashtëm ose konfigurime të pamundura.
Magjia qëndron në shndërrimin e bordit tuaj në një server të vogël që dëgjon komandat nga një robot. Nuk keni nevojë të jeni një ekspert në programim, sepse me disa biblioteka dhe pak durim mund ta bëni pajisjen tuaj të ndezë dritat ose t'ju njoftojë për statusin e një sensori në kohë reale, të gjitha përmes mesazheve të menjëhershme me tekst.
Materialet që do t'ju duhen
Për të filluar, nuk keni nevojë të shpenzoni një pasuri. Gjëja më e rëndësishme është të keni një pllakë ESP32 ; nuk ka rëndësi nëse është një model i vjetër apo një nga më të rejat, pasi përputhshmëria është e plotë. Përveç trurit të projektit, do t'ju duhen disa komponentë bazë për testim:
- Një diodë që lëshon dritë (LED) për të kontrolluar nëse gjithçka funksionon.
- Një rezistencë 220 ohm për të shmangur djegien e LED-it.
- Një buton ose çelës shtypës për të lexuar gjendjet fizike.
- Lidhja e kabllove dhe një dërrase buke në mënyrë që të mos keni nevojë të bashkoni asgjë në fillim.
Montimi i qarkut elektronik
Para se të modifikoni kodin, duhet të përgatitni pajisjet. Për këtë shembull, do ta lidhim LED-in me pinin 33 të GPIO-së dhe çelësin me GPIO-në 14. Është shumë e rëndësishme të mbani mend se mund t'i ndryshoni këto pine sipas nevojës, por do t'ju duhet ta pasqyroni këtë ndryshim më vonë në konstantet e programit.
LED është i lidhur me rezistorin e tij përkatës për mbrojtje, ndërsa butoni me shtypje është konfiguruar nga brenda për të shmangur instalimet elektrike shtesë. Pasi ta keni montuar qarkun në breadboard , mund të kaloni te pjesa e softuerit, ku ndodh i gjithë veprimi.
Konfigurimi i robotit në Telegram
Që ESP32 të dijë se kë të dëgjojë, së pari duhet të krijojmë identitetin e robotit brenda vetë aplikacionit Telegram. Ky proces është thelbësor sepse ofron dy informacione kyçe: tokenin e robotit (një varg i gjatë numrash dhe shkronjash) dhe ID-në tuaj personale të përdoruesit . Pa këto dy çelësa, pajisja nuk mund të autentifikohet ose të përcaktojë se kush është i autorizuar t'i japë komanda.
Nëse në ndonjë moment mendoni se biseda është bërë kaotike, mos harroni se gjithmonë mund ta fshini historikun nga menyja lart djathtas. Duke vepruar kështu, boti do të riniset dhe do të kthehet në butonin kryesor me komandat e disponueshme, duke ju lejuar të filloni nga e para.
Përgatitja e mjedisit zhvillimor
Që kodi të funksionojë, duhet të instalojmë një mjet që na e bën jetën më të lehtë: bibliotekën UniversalTelegramBot . Në vend që të shkruajë qindra rreshta kodi për të trajtuar API-n e Telegram, kjo bibliotekë bën pothuajse gjithçka për ne.
Për ta instaluar, thjesht shkoni te menaxheri i bibliotekës së Arduino IDE, shkruani emrin e bibliotekës dhe klikoni instalo. Gjithashtu, sigurohuni që keni të instaluara bibliotekat WiFi dhe WiFiClientSecure , pasi këto lejojnë që ESP32 të lidhet me internetin dhe të përdorë protokollin HTTPS për komunikim të sigurt.
Analiza e kodit të kontrollit
Programi fillon duke përcaktuar kredencialet e rrjetit tuaj WiFi dhe çelësat e robotit. Është thelbësore që të zëvendësoni vlerat e shembullit me tuajat. SSID dhe fjalëkalimisi dhe tokenin dhe ID-në e bisedës. Për ndërveprim, ne përcaktojmë një variabël të quajtur info i cili përmban listën e komandave që boti do t'i njohë, të tilla si /led_on ose /sw_state.
Menaxhimi i mesazheve dhe komandave
Zemra e sistemit është funksioni që kontrollon për mesazhe të reja. ESP32 përdor metodën getUpdates para kontrolloni radhën e mesazheve nga Telegram. Për të parandaluar që ndonjë i panjohur të kontrollojë shtëpinë tuaj, kodi përfshin një filtër që verifikon nëse ID-ja e dërguesit përputhet saktësisht me tuajin. CHAT_ID i paracaktuar.
Pasi përdoruesi të jetë validuar, boti analizon tekstin e marrë: nëse zbulon /led_onAi dërgon një sinjal dixhital në pinin 33 për të ndezur dritën; nëse merr /led_off, e fik atë. Ekziston gjithashtu mundësia për të /led_togglegjë që është shumë praktike sepse përmbys gjendjen aktuale të LED-it pa pasur nevojë të dini nëse më parë ka qenë e ndezur apo e fikur.
Leximi dhe përfundimi i sensorit
Përveç dhënies së komandave, boti mund të ofrojë edhe informacione. Duke përdorur komandën /sw_stateESP32 lexon gjendjen e pinit 14. Meqenëse e kemi konfiguruar pinin si INPUT_PULLUPPajisja do të zbulojë nëse butoni është shtypur apo jo dhe do të na dërgojë një përgjigje me tekst që e konfirmon atë.
Gjatë procesit të nisjes, pajisja lidhet me Wi-Fi në një mënyrë të kyçur, që do të thotë se nuk do të bëjë asgjë derisa lidhja të jetë e qëndrueshme . Për të rritur më tej sigurinë, përdoret certifikata rrënjë e Telegram, duke siguruar që trafiku i të dhënave të jetë i enkriptuar. Laku kryesor thjesht përsërit kontrollin e mesazheve çdo sekondë për ta mbajtur sistemin të shkathët dhe të përgjegjshëm.
Me këtë sistem, ne kemi integruar me sukses harduerin dhe softuerin për të krijuar një urë komunikimi pa tel. Ne kemi konfiguruar një bot, kemi menaxhuar sigurinë duke përdorur ID dhe certifikata, dhe kemi programuar përgjigjet e pin-eve GPIO për të bashkëvepruar me botën fizike nga kudo me një lidhje interneti.
Pyetje të shpeshta
Cila bibliotekë nevojitet për të lidhur ESP32 me Telegram?
Duhet të përdoret biblioteka UniversalTelegramBot, e cila thjeshton ndërveprimin me API-në e Telegramit dhe lehtëson dërgimin dhe marrjen e mesazheve.
Si mund të sigurohem që vetëm unë mund ta kontrolloj botin?
Kodi zbaton një filtër që krahason ID-në e bisedës së mesazhit të marrë me një CHAT_ID të paracaktuar, duke injoruar çdo komandë që vjen nga një përdorues tjetër.
A është e nevojshme të përdoret HTTPS për të komunikuar me botin?
Po, Telegram kërkon lidhje të sigurta, kështu që përdoret WiFiClientSecure dhe certifikata rrënjë e Telegram duhet të konfigurohet në ESP32.
Cili është qëllimi i komandës /led_toggle në kod?
Kjo komandë përdoret për të përmbysur gjendjen aktuale të LED-it, duke e ndezur atë nëse ishte fikur ose duke e fikur nëse ishte ndezur.
Pse përdoret INPUT_PULLUP për switch-in?
Përdoret për të aktivizuar rezistencën e brendshme të pllakës, duke shmangur kështu nevojën për të shtuar një rezistencë fizike të jashtme në qarkun e butonit me shtypje.
Ku mund ta gjej tokenin e botit dhe ID-në e përdoruesit?
Tokeni merret duke krijuar botin përmes BotFather në Telegram, dhe ID-ja e përdoruesit mund të merret përmes boteve të specializuar në marrjen e identitetit të profilit.



