Talaan ng mga Nilalaman:

[IoT] Telegram Bot Na May Arduino MKR WiFi 1010: 5 Mga Hakbang
[IoT] Telegram Bot Na May Arduino MKR WiFi 1010: 5 Mga Hakbang
Anonim
Image
Image
Ang iyong kailangan
Ang iyong kailangan

Ipinapakita ng proyektong ito kung paano i-interface ang Arduino sa mga Telegram Bot API. Ang proyekto ay itinayo sa paligid ng bagong board ng MKR WiFi 1010 na nilagyan ng isang module na ESP32 ng U-BLOX.

Sa yugtong ito, ang proyekto ay hindi hihigit sa isang patunay ng konsepto, upang maipakita lamang sa iyo kung ano ang maaari mong gawin, kaya para dito kailangan mo lamang ng Arduino board.

Ngunit ano ang isang Telegram Bot? Sa gayon, ang mga Bot ay simpleng mga Telegram account na pinapatakbo ng software - hindi mga tao - at madalas silang magkaroon ng mga tampok sa AI. Maaari silang gumawa ng anumang bagay - magturo, maglaro, maghanap, mag-broadcast, paalalahanan, kumonekta, isama sa iba pang mga serbisyo, o kahit na ipasa ang mga utos sa Internet of Things. (mga kredito ng Telegram:

Sa aming kaso, magpapasa kami ng mga utos sa Arduino na nagtatayo ng isang simpleng aparato ng IoT. Sasagutin nito ang mga simpleng utos at i-on / i-off din ang built-in na Led. Hahayaan ko ang iyong imahinasyon na gumawa ng higit pa rito … (isipin na ikonekta ang isa o higit pang relay sa mga pin na I / O at i-on / i-off ang isang pampainit o ang aircon system sa iyong smartphone, halimbawa).

Hakbang 1: Ano ang Kailangan Mo

Ang iyong kailangan
Ang iyong kailangan

Para sa proyektong ito kailangan mo:

  • Arduino MKR WiFi 1010 mula sa tindahan ng Arduino:
  • Arduino IDE 1.8.5 o mas bago:
  • Isang micro-usb cable upang ikonekta ang Arduino sa iyong PC
  • Isang koneksyon sa internet, nangangailangan ito ng SSID at password. Mas mahusay kung gumamit ka ng iyong sariling home router upang matiyak na hindi ito naka-block.
  • Naka-install ang Telegram app sa iyong smartphone, hindi mahalaga ang tatak. Suriin din dito para sa mga bersyon ng PC at Web din!

Hakbang 2: Pag-install ng IDE

Pag-install ng IDE
Pag-install ng IDE
Pag-install ng IDE
Pag-install ng IDE
Pag-install ng IDE
Pag-install ng IDE

Oo, alam ko, alam ko … karamihan sa iyo ay mayroon nang naka-install na Arduino IDE sa PC, ngunit ang Mga Instructionable na ito ay inilaan din para sa mga nagsisimula. Kaya, una sa lahat, i-download ang Arduino IDE 1.8.5 na iyong pinili (zip file para sa 'hindi mga administrador' o exe file)

Inirerekumenda ang bersyon na 1.8.5, hindi ko sinubukan ang mga lumang bersyon at ang bagong board na ginamit sa proyekto ay hindi maaaring suportahan.

Ngayon kailangan mong i-install ang mga bagong board kasama ang kanilang mga driver:

  1. simulan ang IDE
  2. Mula sa menu ng Mga Tool pumili ng Mga Board pagkatapos, sa tuktok ng listahan ng mga nagpoproseso, piliin ang Tagapamahala ng mga board.
  3. Mag-scroll sa bagong window (tingnan ang imahe) hanggang sa makita mo ang mga board ng Arduino SAMD na kasama ang bagong MKR WiFi 1010.
  4. Mag-click sa tab na iyon o mag-click sa Higit pang impormasyon sa loob ng tab, piliin ang pinakabagong bersyon at i-install.
  5. Hintaying nakumpleto ang pag-install. Alagaan din nito ang pag-install ng mga driver
  6. Kailangan mo rin ng isang bagong library ng WiFi para sa board na ito: pumili ng Sketch, Isama ang Library at Pamahalaan ang Mga Aklatan. Maghanap para sa Wifinina at i-install tulad ng ginawa mo sa processor sa itaas.

Ikonekta ngayon ang iyong bagong board ng Arduino at maghintay para sa Windows upang makumpleto ang pag-install ng driver.

Mula sa Tools-> Board menu makikita mo ang mga bagong board, piliin ang MKR WiFi 1010.

Ang isa pang espesyal na silid-aklatan ay kinakailangan para sa proyektong ito, ito ang library ng ESP8266TelegramBot ni Giancarlo Bacchio. Ang library ay bahagyang binago upang gumana sa board na ito kaya't kasama ito sa folder ng sketch.

Piliin ang tamang com port at subukan ang board gamit ang Kumuha ng impormasyon sa Board Board.

Congrats, tapos ka na sa IDE!

Hakbang 3: Paglikha ng Telegram Bot

Lumilikha ng Telegram Bot
Lumilikha ng Telegram Bot
Lumilikha ng Telegram Bot
Lumilikha ng Telegram Bot
Lumilikha ng Telegram Bot
Lumilikha ng Telegram Bot

Ang paglikha ng isang bagong Telegram Bot ay medyo simple.

Buksan ang Telegram app at, sa search bar, i-type ang @BotFather at magsimula ng pakikipag-chat sa kanya (image1). Ang BotFather ang… Bot factory. Tutulungan ka nitong lumikha ng isang bagong bot at baguhin ang mga setting nito.

Matapos ang / simulang utos makikita mo ang listahan ng tulong (imahe2).

  • Type / newbot (image3) Ngayon i-type ang pangalan ng iyong bot. Ang pangalan ay ipinapakita sa mga detalye sa pakikipag-ugnay at saanman.
  • Hihiling sa iyo ng BotFather para sa isang Username. Ang Username ay isang maikling pangalan, upang magamit sa mga pagbanggit at mga link ng telegram.me. Ang mga username ay 5-32 character ang haba at case insensitive, ngunit maaari lamang isama ang mga Latin character, number, at underscore. Ang pangalan ng iyong bot ay dapat magtapos sa ‘bot’, hal. 'Tetris_bot' o 'TetrisBot'.
  • Kung ang parehong pangalan at username ay wasto makakatanggap ka ng isang mahabang string ng mga chars na tinatawag na TOKEN. Ito ang iyong personal na 'key' na ginamit upang makipag-usap sa mga server ng Telegram. Kopyahin at i-paste ito sa isang text file sa iyong PC sa ngayon. Gagamitin namin ito sa paglaon sa Arduino code. Kung malaya mo ito huwag mag-alala, buksan muli ang chat at i-type / token upang makabuo ng bago.

Inilalarawan dito ang lahat ng mga hakbang:

Advanced (opsyonal)

Muling buksan ang chat at i-type / tulungan

Mag-click sa (o i-type) / setuserpic upang mag-upload ng isang larawan para sa iyong bot. Mag-click sa (o i-type) / setabouttext upang maitakda ang seksyong Tungkol sa iyong Bot: Makikita ng mga tao ang teksto na ito sa pahina ng profile ng bot at ipapadala ito kasama isang link sa iyong bot kapag ibinabahagi nila ito sa isang tao.

Mag-click sa (o i-type) / setdescription upang magtakda ng isang seksyon ng paglalarawan para sa iyong bot. Makikita ng mga tao ang paglalarawan na ito kapag nagbukas sila ng chat sa iyong bot, sa isang bloke na pinamagatang 'Ano ang magagawa ng bot na ito?'.

Hakbang 4: Baguhin, Mag-upload at Subukan ang Sketch

Baguhin, Mag-upload at Subukan ang Sketch
Baguhin, Mag-upload at Subukan ang Sketch
Baguhin, Mag-upload at Subukan ang Sketch
Baguhin, Mag-upload at Subukan ang Sketch
Baguhin, Mag-upload at Subukan ang Sketch
Baguhin, Mag-upload at Subukan ang Sketch

Panahon na upang mai-upload ang software sa Arduino MKR WiFi 1010 board.

I-download ang mga nakalakip na file, sa ilang kadahilanan ay hindi ako makapag-upload ng isang ZIP, kaya lumikha ng isang folder na pinangalanan bilang sketch at kopyahin ang lahat ng 4 na mga file sa loob nito, mangyaring huwag baguhin ang mga pangalan maliban kung alam mo kung ano ang iyong ginagawa.

Baguhin

Buksan ang sketch, kailangan naming punan ang ilang impormasyon (image1): punan ang arduino_secrets.h sa iyong kredensyal sa wifi at telegram.

  • Hanapin ang mga impormasyong WiFi network at i-type ang iyong pangalan sa network (SSID) at password.
  • Hanapin ang mga impormasyon sa telegram Bot at i-type ang pangalan, username at token na ibinigay ng @BotFather

I-upload

Siguraduhin na ang board ay tama (image2) sa ide at konektado pagkatapos subukang i-compile ang code. Kung ang pagsasama-sama ay maayos, i-upload ito sa board, tatagal ng ilang segundo.

Sa kaso ng mga problema suriin ang isang typo at subukang muli.

Pagsusulit

[MAHALAGA!] Nagpapadala ng sketch ang sketch sa IDE. Ang processor ay may katutubong USB port (tulad ng Leonardo boards). Kapag napagana na, maghihintay ang code hanggang sa tumakbo ang serial monitor. Kaya, hayaan itong konektado sa PC at buksan ang serial monitor. Ang Arduino ay unang kumokonekta sa internet, pagkatapos ay magsisimulang botohan ang Telegram server para sa mga bagong mensahe (image3).

Ngayon buksan ang Telegram sa iyong ginustong aparato at, sa box para sa paghahanap, i-type ang pangalan ng iyong bot (hindi ang username na nagtatapos sa 'bot'). Magbukas ng chat dito.

Ang unang utos na magsimula ng isang chat sa isang bot ay / magsimula, ang aming Arduino ay sasagot sa isang maligayang mensahe. Ngayon uri ng tulong (nang walang slash), sasagutin ito ng isang listahan ng mga sinusuportahang utos, maaari mong subukan ang lahat (image4).

Tapos ka na sa pagsubok, kung may isang bagay na hindi gumagana, suriin ang mga impomasyong ipinasok sa sketch (pangalan, username, token…)

Kung nakakaranas ka ng mga error sa koneksyon sa telegram server (mag-log: Hindi nakakonekta ang Bot):

  • Buksan ang Mga Tool-> Wifi101 / wifinina updater
  • Siguraduhin na ang iyong board ay konektado, suriin ang mga port sa kaliwa ng updater tool, ang board ay dapat doon
  • I-click ang Buksan ang sketch ng updater at i-upload ito sa board
  • Pagkatapos ng pag-upload, sa updater piliin ang pinakabagong firmware para sa iyong board at i-click ang i-update ang firmware
  • Pagkatapos ng pag-update, sa updater, seksyon ng mga sertipiko ng SSL, i-click ang Magdagdag ng domain, sa dayalogo ay isulat ang telegram.org:443 pagkatapos ay pindutin ang OK.
  • I-click ang Mag-upload ng mga sertipiko sa wifi module
  • I-upload ang sketch na ito sa board

Hakbang 5: Mga Pagpapabuti

Mga pagpapabuti
Mga pagpapabuti

Sa pagtingin sa code napakadali upang magpatupad ng mga bagong utos at sagutin ang gumagamit.

Mga bagong utos: Maaari kang magsulat ng isang sub para sa bawat bagong utos. Ang bawat sub ay mag-aalaga ng pagkumpleto ng utos at (sa huli) ibalik ang isang impormasyon sa katayuan sa gumagamit.

Paglilimita sa mga gumagamit: Syempre ang proyektong ito ay isang demo lamang. Ang sinumang gumagamit ng Telegram ay maaaring kumonekta sa iyong bahay at magpadala ng mga hindi gustong mga utos. Ayaw mo nito !.

Kaya, tingnan ang image1, nagpapakita ito ng 2 mga koneksyon na konektado. Tulad ng nakikita mong bawat gumagamit ay mayroong sariling ID ng gumagamit. Sa isang maliit na trabaho sa gilid ng code maaari kang mag-filter (o bumuo ng isang listahan) para sa mga awtorisadong gumagamit lamang. Pag-aralan lamang ang code at subukang harangin ang numero ng user ID. Pagkatapos ay magpatupad ng mga utos mula lamang sa mga kilalang gumagamit.

Hardware: Sa panig ng hardware, maraming mga sensor at relay ang maaaring konektado sa mga I / O na pin ng Arduino.

Mag-ingat: ang board na ginamit sa proyektong ito ay 3.3V mapagparaya !!! Gumamit ng boltahe na antas ng shifter kung kinakailangan! Para sa karagdagang impormasyon at mga tip tungkol sa board na ito mangyaring basahin dito:

Iyon lang, mag-enjoy!

Inirerekumendang: