Mundarija:

[IoT] Arduino MKR WiFi 1010 bilan Telegram Bot: 5 qadam
[IoT] Arduino MKR WiFi 1010 bilan Telegram Bot: 5 qadam

Video: [IoT] Arduino MKR WiFi 1010 bilan Telegram Bot: 5 qadam

Video: [IoT] Arduino MKR WiFi 1010 bilan Telegram Bot: 5 qadam
Video: SPM4650 using Arduino MKR Wifi 1010 and two tri-state buffers and SRXL2 protocol. 2024, Noyabr
Anonim
Image
Image
Sizga nima kerak
Sizga nima kerak

Ushbu loyiha Arduino-ni Telegram Bot API bilan qanday bog'lashni ko'rsatadi. Loyiha U-BLOX tomonidan ESP32 moduli bilan jihozlangan yangi MKR WiFi 1010 taxtasi atrofida qurilgan.

Bu bosqichda loyiha kontseptsiyani isbotlashdan boshqa narsa emas, faqat nima qilish kerakligini ko'rsatish uchun, shuning uchun sizga faqat Arduino platasi kerak.

Telegram boti nima? Xo'sh, botlar oddiygina odamlar tomonidan emas, balki dasturiy ta'minot bilan ishlaydigan Telegram hisoblari bo'lib, ular ko'pincha AI xususiyatlariga ega bo'ladi. Ular hamma narsani qilishlari mumkin - o'rgatish, o'ynash, qidirish, translyatsiya qilish, eslatish, ulanish, boshqa xizmatlar bilan integratsiya qilish yoki hatto narsalar Internetiga buyruqlar berish. (Telegram kreditlari:

Bizning holatda, biz Arduino -ga oddiy IoT qurilmasini yaratishga buyruq beramiz. U oddiy buyruqlarga javob beradi, shuningdek o'rnatilgan Led-ni yoqadi/o'chiradi. Men sizning tasavvuringizni yanada ko'proq qilishiga imkon beraman … (masalan, kirish -chiqish pinlariga bir yoki bir nechta o'rni ulashni va smartfoningiz bilan isitgichni yoki konditsioner tizimini yoqishni/o'chirishni tasavvur qiling).

1 -qadam: Sizga nima kerak

Sizga nima kerak
Sizga nima kerak

Ushbu loyiha uchun sizga kerak:

  • Arduino do'konidan Arduino MKR WiFi 1010:
  • Arduino IDE 1.8.5 yoki undan yuqori:
  • Arduino-ni shaxsiy kompyuteringizga ulash uchun micro-usb kabeli
  • Internetga ulanish uchun SSID va parol kerak. Agar siz blokirovka qilinmaganligiga ishonch hosil qilish uchun o'zingizning uy yo'riqchingizdan foydalansangiz yaxshiroqdir.
  • Smartfoningizga markasi qanday bo'lishidan qat'i nazar, Telegram ilovasi o'rnatilgan. Kompyuter va veb -versiyalarni ham shu erdan tekshiring!

2 -qadam: IDE -ni o'rnatish

IDE -ni o'rnatish
IDE -ni o'rnatish
IDE -ni o'rnatish
IDE -ni o'rnatish
IDE -ni o'rnatish
IDE -ni o'rnatish

Ha, bilaman, bilaman … ko'pchiligingizda kompyuterda Arduino IDE o'rnatilgan, lekin bu ko'rsatma yangi boshlanuvchilar uchun ham mo'ljallangan, shuning uchun birinchi navbatda siz tanlagan Arduino IDE 1.8.5 ni yuklab oling (zip fayl uchun "administrator bo'lmaganlar" yoki exe fayli)

1.8.5 versiyasi tavsiya etiladi, men eski versiyalarni sinab ko'rmadim va loyihada ishlatilgan yangi taxtani umuman qo'llab -quvvatlab bo'lmadi.

Endi siz haydovchilar bilan yangi taxtalarni o'rnatishingiz kerak:

  1. IDE -ni ishga tushiring
  2. "Asboblar" menyusidan "Kengashlar" ni tanlang, keyin protsessorlar ro'yxatining yuqori qismida "boshqaruv paneli" ni tanlang.
  3. Yangi MKR WiFi 1010 o'z ichiga olgan Arduino SAMD platalarini topmaguningizcha, yangi oynani aylantiring (rasmga qarang).
  4. Ushbu yorliqni bosing yoki yorliq ichidagi Qo'shimcha ma'lumotni bosing, oxirgi versiyasini tanlang va o'rnating.
  5. O'rnatish tugashini kuting. Bu, shuningdek, haydovchilarni o'rnatish masalasini hal qiladi
  6. Bu karta uchun sizga yangi WiFi kutubxonasi kerak bo'ladi: eskizni tanlang, kutubxonani qo'shing va kutubxonalarni boshqaring. Wifinina -ni qidiring va yuqoridagi protsessor kabi o'rnatib qo'ying.

Endi yangi Arduino kartasini ulang va Windows drayverini o'rnatishni tugatguncha kuting.

Asboblar-> Kengash menyusida siz yangi taxtalarni topasiz, MKR WiFi 1010-ni tanlang.

Bu loyiha uchun boshqa maxsus kutubxona kerak, bu - Jankarlo Bacchio tomonidan ESP8266TelegramBot kutubxonasi, kutubxona bu taxta bilan ishlash uchun biroz o'zgartirilgan, shuning uchun u eskizlar papkasida joylashgan.

To'g'ri portni tanlang va taxta ma'lumotini olish buyrug'i bilan taxtani sinab ko'ring.

Tabriklaymiz, IDE tugadi!

3 -qadam: Telegram botini yaratish

Telegram botini yaratish
Telegram botini yaratish
Telegram botini yaratish
Telegram botini yaratish
Telegram botini yaratish
Telegram botini yaratish

Yangi Telegram botini yaratish juda oddiy.

Telegram ilovasini oching va qidiruv satriga @BotFather yozing va u bilan suhbatni boshlang (image1). BotFather bu … Bot zavodi. Bu sizga yangi bot yaratishga va uning sozlamalarini o'zgartirishga yordam beradi.

/Start buyrug'idan so'ng siz yordam ro'yxatini ko'rasiz (image2).

  • Type /newbot (image3) Endi botingizning nomini kiriting. Ism aloqa ma'lumotlarida va boshqa joylarda ko'rsatiladi.
  • BotFather sizdan foydalanuvchi nomini so'raydi. Foydalanuvchi nomi - bu qisqa ism, uni eslatmalar va telegram.me havolalarida ishlatish mumkin. Foydalanuvchi nomlari 5-32 belgidan iborat va katta-kichik harflarga sezgir emas, lekin faqat lotin harflari, raqamlar va pastki chiziqlarni o'z ichiga olishi mumkin. Sizning botingizning foydalanuvchi nomi "bot" bilan tugashi kerak, masalan. "Tetris_bot" yoki "TetrisBot".
  • Agar ism ham, foydalanuvchi nomi ham to'g'ri bo'lsa, sizga TOKEN deb nomlangan uzun satrlar beriladi. Bu Telegram serverlari bilan muloqot qilish uchun ishlatiladigan shaxsiy kalitingiz. Hozircha uni kompyuteringizga matnli faylga nusxalash va joylashtirish. Biz uni keyinroq Arduino kodiga ishlatamiz, agar uni yo'qotib qo'ysangiz, xavotir olmang, yangisini yaratish uchun suhbatni qayta oching va /tokenini kiriting.

Barcha qadamlar bu erda tasvirlangan:

Kengaytirilgan (ixtiyoriy)

Suhbatni qayta oching va yozing /yordam

Botingiz uchun rasm yuklash uchun (yoki yozing) /setuserpic -ni bosing. Botingiz haqidagi bo'limni o'rnatish uchun (yoki yozing) /setabouttext -ni bosing: Odamlar bu matnni bot profil sahifasida ko'rishadi va u bilan birga yuboriladi. kimdir bilan bo'lishganda, sizning botingizga havola.

Botingiz uchun tavsif bo'limini o'rnatish uchun (yoki yozing) /setdescription -ni bosing. Odamlar sizning botingiz bilan suhbatni ochganda, bu tavsifni ko'rishadi, "Bu bot nima qila oladi?".

4 -qadam: Eskizni o'zgartirish, yuklash va sinovdan o'tkazish

Eskizni o'zgartirish, yuklash va sinovdan o'tkazish
Eskizni o'zgartirish, yuklash va sinovdan o'tkazish
Eskizni o'zgartirish, yuklash va sinovdan o'tkazish
Eskizni o'zgartirish, yuklash va sinovdan o'tkazish
Eskizni o'zgartirish, yuklash va sinovdan o'tkazish
Eskizni o'zgartirish, yuklash va sinovdan o'tkazish

Dasturiy ta'minotni Arduino MKR WiFi 1010 kartasiga yuklash vaqti keldi.

Biriktirilgan fayllarni yuklab oling, negadir men ZIP yuklay olmayman, shuning uchun eskiz deb nomlangan papkani yarating va undagi 4 ta faylni nusxa ko'chiring, nima qilayotganingizni bilmasangiz, ismingizni o'zgartirmang.

O'zgartirish

Eskizni oching, biz ba'zi ma'lumotlarni to'ldirishimiz kerak (rasm1): arduino_secrets.h -ni Wi -Fi va telegram ma'lumotlari bilan to'ldiring.

  • Wi -Fi ma'lumotlarini toping va tarmoq nomi (SSID) va parolni kiriting.
  • Telegram Bot ma'lumotlarini toping va @BotFather tomonidan berilgan ism, foydalanuvchi nomi va tokenni kiriting

Yuklab olish

Kengashning ideada to'g'ri (rasm2) va ulanganligiga ishonch hosil qiling, keyin kodni kompilyatsiya qilib ko'ring. Agar kompilyatsiya yaxshi ketsa, uni taxtaga yuklang, atigi bir necha soniya kerak bo'ladi.

Muammo bo'lsa, matn terish xatoligini tekshiring va qaytadan urinib ko'ring.

Sinov

[MUHIM!] Eskiz jurnallarni IDE ga yuboradi. Protsessor mahalliy USB portiga ega (Leonardo platalari kabi). Quvvat yoqilgandan so'ng, kod ketma -ket monitor ishlashini kutadi. Shunday qilib, uni kompyuterga ulang va ketma -ket monitorni oching. Arduino avval internetga ulanadi, keyin Telegram serverida yangi xabarlar uchun so'rov o'tkazishni boshlaydi (image3).

Endi xohlagan qurilmangizda Telegram -ni oching va qidiruv maydoniga botingizning nomini kiriting ("bot" bilan tugaydigan foydalanuvchi nomini emas). U bilan suhbatni oching.

Bot bilan suhbatni boshlashning birinchi buyrug'i /start, bizning Arduino xush kelibsiz xabar bilan javob beradi. Endi yordamni yozing (chiziqsiz), u qo'llab -quvvatlanadigan buyruqlar ro'yxati bilan javob beradi, siz hammasini sinab ko'rishingiz mumkin (image4).

Siz testdan o'tdingiz, agar biror narsa ishlamasa, eskizga kiritilgan ma'lumotlarni tekshiring (ism, foydalanuvchi nomi, token …)

Agar siz telegram serveriga ulanishda xatolarga duch kelsangiz (jurnal: Bot ulanmagan):

  • Asboblar-> Wifi101/wifinina yangilagichini oching
  • Kengashingiz ulanganligiga ishonch hosil qiling, yangilash asbobining chap tomonidagi portlarni tekshiring, taxta u erda bo'lishi kerak
  • Yangilash eskizini ochish -ni bosing va uni taxtaga yuklang
  • Yuklab olgandan so'ng, yangilash panelida eng so'nggi dasturiy ta'minotni tanlang va dasturiy ta'minotni yangilash -ni bosing
  • Yangilashdan so'ng, SSL sertifikatlari bo'limida, yangilanuvchi bo'limida, Domen qo'shish -ni bosing, muloqot oynasida telegram.org:443 yozing va OK tugmasini bosing.
  • Wi -Fi moduliga sertifikat yuklash -ni bosing
  • Ushbu eskizni taxtaga yuklang

5 -qadam: yaxshilanishlar

Yaxshilashlar
Yaxshilashlar

Kodga qaraganda, yangi buyruqlarni bajarish va foydalanuvchiga javob berish juda oddiy.

Yangi buyruqlar: Siz har bir yangi buyruq uchun sub yozishingiz mumkin. Har bir bo'lim buyruqni bajarishga g'amxo'rlik qiladi va (oxir -oqibat) foydalanuvchiga holat ma'lumotlarini qaytaradi.

Foydalanuvchilarni cheklash: Albatta, bu loyiha faqat demo. Har qanday Telegram foydalanuvchisi uyingizga ulanishi va keraksiz buyruqlarni yuborishi mumkin. Siz buni xohlamaysiz!.

Xo'sh, 1 -rasmga qarang, u 2 foydalanuvchi ulanganligini ko'rsatadi. Ko'rib turganingizdek, har bir foydalanuvchining shaxsiy identifikatori bor. Kod tomonida ozgina ishlash bilan siz faqat vakolatli foydalanuvchilar uchun filtrlashingiz (yoki ro'yxat tuzishingiz) mumkin. Faqat kodni o'rganing va foydalanuvchi identifikator raqamini to'xtatib ko'ring. Keyin buyruqlarni faqat taniqli foydalanuvchilardan bajaring.

Uskuna: apparat tomonida ko'plab sensorlar va o'rni Arduino kirish -chiqish pinlariga ulanishi mumkin.

Ehtiyot bo'ling: ushbu loyihada ishlatilgan taxta 3.3V bardoshli !!! Agar kerak bo'lsa, kuchlanish darajasini o'zgartirish moslamasidan foydalaning! Bu taxta haqida qo'shimcha ma'lumot va maslahatlar uchun bu yerdan o'qing:

Hammasi shu, zavqlaning!

Tavsiya: