Мазмуну:

[IoT] Telegram Bot Arduino MKR WiFi 1010 менен: 5 кадам
[IoT] Telegram Bot Arduino MKR WiFi 1010 менен: 5 кадам

Video: [IoT] Telegram Bot Arduino MKR WiFi 1010 менен: 5 кадам

Video: [IoT] Telegram Bot Arduino MKR WiFi 1010 менен: 5 кадам
Video: 35 Light Control with Telegram and ESP8266 | NodeMCU | Arduino | 2024, Ноябрь
Anonim
Image
Image
Сизге эмне керек
Сизге эмне керек

Бул долбоор Telegram Bot API менен Arduino интерфейсин көрсөтөт. Долбоор U-BLOX тарабынан ESP32 модулу менен жабдылган жаңы MKR WiFi 1010 тактасынын айланасында курулган.

Бул этапта, долбоор түшүнүктүн далили гана эмес, сизге эмне кыла алаарыңызды көрсөтүү үчүн, андыктан бул үчүн сизге Arduino тактасы гана керек.

Бирок, Telegram Bot деген эмне? Ооба, боттор - бул адамдар эмес, программалык камсыздоо тарабынан башкарылуучу Telegram эсептери жана алар көбүнчө AI өзгөчөлүктөрүнө ээ болушат. Алар каалаган нерсени кыла алышат - үйрөтүү, ойноо, издөө, берүү, эскертүү, туташуу, башка кызматтар менен интеграциялоо, ал тургай нерселердин интернетине буйруктарды берүү. (Кредиттер Telegram аркылуу:

Биздин учурда, биз Arduinoго жөнөкөй IoT түзмөгүн курууга буйрук беребиз. Бул жөнөкөй буйруктарга жооп берет, ошондой эле камтылган Ledти күйгүзөт/өчүрөт. Мен муну менен сиздин фантазияңызды көбүрөөк кылууга мүмкүнчүлүк берем … (мисалы, смартфонуңуз менен бир же бир нече релени I/O казыктарына туташтырып, жылыткычты же кондиционер тутумун күйгүзүүнү/өчүрүүнү элестетиңиз).

1 -кадам: Сизге эмне керек

Сизге эмне керек
Сизге эмне керек

Бул долбоор үчүн сизге керек:

  • Arduino дүкөнүнөн Arduino MKR WiFi 1010:
  • Arduino IDE 1.8.5 же андан жогору:
  • Ардуинону компьютериңизге туташтыруу үчүн микро-USB кабели
  • Интернет байланышы, ал SSID жана сырсөздү талап кылат. Блок кылынбаганына ынануу үчүн өзүңүздүн жеке үй роутериңизди колдонсоңуз жакшы болот.
  • Сиздин смартфонуңузга орнотулган Telegram тиркемеси, кандай гана бренд болбосун. Бул жерден PC жана веб версияларын текшериңиз!

2 -кадам: IDE орнотуу

IDE орнотуу
IDE орнотуу
IDE орнотуу
IDE орнотуу
IDE орнотуу
IDE орнотуу

Ооба, мен билем … "администратор эмес" же exe файлы)

1.8.5 версиясы сунушталат, мен эски версияларын текшерген жокмун жана долбоордо колдонулган жаңы такта таптакыр колдоого алынбай калган.

Эми сиз драйверлери менен жаңы такталарды орнотушуңуз керек:

  1. IDE баштоо
  2. Куралдар менюсунан "Такта" тандап, процессорлор тизмесинин башында "Такта менеджери" дегенди тандаңыз.
  3. Жаңы MKR WiFi 1010 камтыган Arduino SAMD такталарын тапмайынча, жаңы терезени жылдырыңыз (сүрөттү караңыз).
  4. Бул өтмөктү чыкылдатыңыз же кошумча маалымат чыкылдатыңыз, акыркы версиясын тандап, орнотуңуз.
  5. Орнотуунун бүтүшүн күтө туруңуз. Бул драйверлерди орнотууга да кам көрөт
  6. Бул такта үчүн сизге дагы жаңы WiFi китепканасы керек: эскизди тандап, китепкананы кошуу жана китепканаларды башкаруу. Wifinina издеп, жогорудагы процессордо болгондой орнотуңуз.

Эми жаңы Arduino тактаңызды туташтырып, Windowsтун драйверди орнотуусун аягына чейин күтө туруңуз.

Tools-> Board менюсунан сиз жаңы такталарды таба аласыз, MKR WiFi 1010ду тандаңыз.

Бул долбоор үчүн дагы бир атайын китепкана керек, бул Джанкарло Бакчионун ESP8266TelegramBot китепканасы. Китепкана бул такта менен иштөө үчүн бир аз өзгөртүлгөн, андыктан эскиздин папкасына киргизилген.

Туура ком портун тандап, тактаны алуу буйругу менен тактаны текшериңиз.

Куттуктайбыз, сиз IDE менен бүттүңүз!

3 -кадам: Telegram ботун түзүү

Telegram ботун түзүү
Telegram ботун түзүү
Telegram ботун түзүү
Telegram ботун түзүү
Telegram ботун түзүү
Telegram ботун түзүү

Жаңы Telegram Bot түзүү абдан жөнөкөй.

Telegram тиркемесин ачыңыз жана издөө тилкесине @BotFather териңиз жана аны менен баарлашууну баштаңыз (image1). BotFather - бул… Бот фабрикасы. Бул сизге жаңы бот түзүүгө жана анын жөндөөлөрүн өзгөртүүгө жардам берет.

/Start командасынан кийин сиз жардам тизмесин көрөсүз (image2).

  • Type /newbot (image3) Эми ботуңуздун атын жазыңыз. Аты байланыш маалыматында жана башка жерлерде көрсөтүлөт.
  • BotFather сизден колдонуучунун атын сурайт. Колдонуучунун аты кыскача аталып, эскерүүлөрдө жана telegram.me шилтемелеринде колдонулат. Колдонуучунун аттары 5-32 белгиден турат жана чоң-кичине сезилбейт, бирок латын тамгаларын, сандарын жана астынкы сызыктарды гана камтышы мүмкүн. Сиздин боттун колдонуучу аты "бот" менен бүтүшү керек, мис. "Tetris_bot" же "TetrisBot".
  • Эгерде аты да, колдонуучунун аты да жарактуу болсо, сиз TOKEN деп аталган узун саптарды аласыз. Бул сиздин жеке "ачкычыңыз" Telegram серверлери менен баарлашуу үчүн колдонулат. Көчүрүп, азырынча компьютериңиздеги текст файлына чаптаңыз. Биз аны кийинчерээк Arduino кодуна колдонобуз, эгер сиз аны жоготуп койсоңуз, кабатыр болбоңуз, жаңысын түзүү үчүн чатты кайра ачып /териңиз.

Бардык кадамдар бул жерде сүрөттөлгөн:

Өркүндөтүлгөн (милдеттүү эмес)

Чатты кайра ачып, жардамды териңиз

Ботуңузга сүрөт жүктөө үчүн (же терүү) /setuserpic баскычын басыңыз. Ботуңуз жөнүндө Жөнүндө бөлүмүн орнотуу үчүн (же териңиз) /setabouttextти басыңыз: Адамдар бул текстти боттун профилдик баракчасында көрүшөт жана ал менен бирге жөнөтүлөт аны кимдир бирөө менен бөлүшкөндө сиздин ботко шилтеме.

Ботуңуздун сүрөттөө бөлүмүн орнотуу үчүн (же териңиз) /setdescription басыңыз. Адамдар бул сүрөттөмөнү сиздин ботуңуз менен "Бул бот эмне кыла алат?" Деп аталган блокту ачканда көрүшөт.

4 -кадам: Эскизди өзгөртүү, жүктөө жана сыноо

Эскизди өзгөртүү, жүктөө жана сыноо
Эскизди өзгөртүү, жүктөө жана сыноо
Эскизди өзгөртүү, жүктөө жана сыноо
Эскизди өзгөртүү, жүктөө жана сыноо
Эскизди өзгөртүү, жүктөө жана сыноо
Эскизди өзгөртүү, жүктөө жана сыноо

Программаны Arduino MKR WiFi 1010 тактасына жүктөө убактысы келди.

Тиркелген файлдарды жүктөп алыңыз, кандайдыр бир себептерден улам мен ZIP жүктөй албайм, андыктан эскиз деп аталган папканы түзүп, ичиндеги бардык 4 файлды көчүрүп алыңыз, эмне кылып жатканыңызды билмейинче, аттарын өзгөртпөңүз.

Өзгөртүү

Эскизди ачыңыз, биз кээ бир маалыматты толтурушубуз керек (image1): arduino_secrets.hти wifi жана телеграмма грамотасы менен толтуруңуз.

  • WiFi тармагынын маалыматын таап, тармагыңыздын атын (SSID) жана сырсөзүңүздү териңиз.
  • Телеграмма Bot маалыматын таап, @BotFather тарабынан берилген аты, колдонуучу аты жана токенди териңиз

Жүктөө

Такта идеде туура экенин текшериңиз (image2) жана туташып, анан кодду түзүп көрүңүз. Эгерде компиляция жакшы өтсө, аны тактага жүктөңүз, ага бир нече секунд кетет.

Көйгөйлөр пайда болсо, ката кеткенин текшерип, кайра аракет кылыңыз.

Тест

[МААНИЛҮҮ!] Эскиз журналдарды IDEге жөнөтөт. Процессордун жергиликтүү USB порту бар (Леонардо такталары сыяктуу). Күйгүзүлгөндөн кийин, код сериялык монитордун иштешин күтөт. Ошентип, ал компьютерге туташып, сериялык мониторду ачыңыз. Arduino алгач интернетке туташат, андан кийин Telegram серверинен жаңы билдирүүлөрдү сурай баштайт (image3).

Эми өзүңүз каалаган түзмөктө Telegram'ды ачыңыз жана издөө кутусуна ботыңыздын атын жазыңыз ("бот" менен аяктаган колдонуучунун атын эмес). Аны менен чат ачыңыз.

Бот менен баарлашууну баштоонун биринчи буйругу /баштоо, биздин Arduino саламдашуу билдирүүсү менен жооп берет. Эми жардамды териңиз (сызыксыз), ал колдоого алынган буйруктардын тизмеси менен жооп берет, сиз алардын бардыгын сынап көрсөңүз болот (image4).

Сиз тестти бүтүрдүңүз, эгер бир нерсе иштебесе, эскизге киргизилген маалыматты текшериңиз (аты, колдонуучунун аты, токен …)

Эгерде сиз телеграмма серверине туташууда катачылыктарга туш болуп жатсаңыз (журнал: Bot туташкан эмес):

  • Ачык Tools-> Wifi101/wifinina Updater
  • Тактаңыздын туташып турганын текшериңиз, жаңырткыч куралынын сол жагындагы портторду текшериңиз, такта ошол жерде болушу керек
  • Жаңырткычтын эскизин ачууну чыкылдатып, тактага жүктөңүз
  • Жүктөп бергенден кийин, жаңырткычта тактаңыз үчүн эң акыркы камтылган программаны тандап, чыкылдатыңыз
  • Жаңырткандан кийин, SSL тастыктамалар бөлүмүндө, Домен кошуу баскычын чыкылдатыңыз, диалогдо telegram.org:443 жазыңыз, андан кийин ОК басыңыз.
  • Wi -Fi модулуна сертификаттарды жүктөө дегенди басыңыз
  • Бул эскизди тактага жүктөңүз

5 -кадам: жакшыртуулар

Жакшыртуулар
Жакшыртуулар

Кодду карасак, жаңы буйруктарды ишке ашыруу жана колдонуучуга жооп берүү өтө жөнөкөй.

Жаңы буйруктар: Сиз ар бир жаңы буйрукка подписка жаза аласыз. Ар бир бөлүм буйрукту аткарууга кам көрөт жана (акыры) колдонуучуга статус маалыматын кайтарат.

Колдонуучуларды чектөө: Албетте, бул долбоор демо гана. Каалаган Telegram колдонуучусу үйүңүзгө туташып, керексиз буйруктарды жөнөтө алат. Сиз муну каалабайсыз!.

Ооба, image1ди караңыз, анда 2 колдонуучу туташкандыгын көрсөтөт. Көрүнүп тургандай, ар бир колдонуучунун өзүнүн колдонуучу идентификатору бар. Код жагында бир аз иштөө менен сиз авторизацияланган колдонуучулар үчүн гана чыпкалай аласыз (же тизме түзө аласыз). Жөн эле кодду изилдеп, колдонуучунун ID номерин кармап көрүңүз. Андан кийин белгилүү колдонуучулардын гана буйруктарын аткарыңыз.

Техникалык жабдыктар: Ардуинонун I/O казыктарына көптөгөн сенсорлор жана реле туташтырылышы мүмкүн.

Абайлаңыз: бул долбоордо колдонулган такта 3.3V чыдамкай !!! Керек болгон жерде чыңалуу деңгээлин алмаштыргычты колдонуңуз! Бул такта тууралуу көбүрөөк маалымат жана кеңештерди бул жерден окуңуз:

Болду, ырахат алыңыз!

Сунушталууда: