Mündəricat:

[IoT] Arduino MKR WiFi 1010 ilə Telegram Botu: 5 addım
[IoT] Arduino MKR WiFi 1010 ilə Telegram Botu: 5 addım

Video: [IoT] Arduino MKR WiFi 1010 ilə Telegram Botu: 5 addım

Video: [IoT] Arduino MKR WiFi 1010 ilə Telegram Botu: 5 addım
Video: How to Connect Arduino Board to WiFi Network 2024, Noyabr
Anonim
Image
Image
Nə lazımdır
Nə lazımdır

Bu layihə, U-BLOX tərəfindən ESP32 modulu ilə təchiz edilmiş yeni MKR WiFi 1010 lövhəsi ətrafında qurulmuş Telegram Bot API-ləri ilə Arduino ilə necə əlaqə qurmağı nümayiş etdirir.

Bu mərhələdə, layihə konsepsiyanın sübutundan başqa bir şey deyil, sadəcə nələr edə biləcəyinizi göstərmək üçün bu məqsədlə yalnız Arduino lövhəsinə ehtiyacınız var.

Ancaq Telegram Botu nədir? Hər şeyi edə bilərlər - öyrətmək, oynamaq, axtarmaq, yayımlamaq, xatırlatmaq, əlaqə qurmaq, digər xidmətlərlə inteqrasiya etmək və ya hətta Əşyalar İnterneti üçün əmrləri ötürmək. (Telegramdan kreditlər:

Bizim vəziyyətimizdə sadə bir IoT cihazı quran əmrləri Arduinoya verəcəyik. Sadə əmrlərə cavab verəcək və həmçinin quraşdırılmış Led-i yandıracaq/söndürəcək. Təsəvvürünüzün bununla daha çox iş görməsinə icazə verəcəyəm … (məsələn, bir və ya daha çox röleyi I/O pinlərinə bağlamağı və ağıllı telefonunuzla bir qızdırıcını və ya kondisioner sistemini açmağı/söndürməyi düşünün).

Addım 1: Nə lazımdır

Nə lazımdır
Nə lazımdır

Bu layihə üçün sizə lazımdır:

  • Arduino mağazasından Arduino MKR WiFi 1010:
  • Arduino IDE 1.8.5 və ya daha yuxarı:
  • Arduino'yu kompüterinizə bağlamaq üçün mikro usb kabeli
  • İnternet bağlantısı üçün SSID və parol tələb olunur. Bloklanmadığından əmin olmaq üçün öz ev routerinizi istifadə etsəniz daha yaxşı olar.
  • Markasından asılı olmayaraq smartfonunuza Telegram proqramı quraşdırılıb. PC və Veb versiyaları üçün bura baxın!

Addım 2: IDE -nin quraşdırılması

IDE -nin quraşdırılması
IDE -nin quraşdırılması
IDE -nin quraşdırılması
IDE -nin quraşdırılması
IDE -nin quraşdırılması
IDE -nin quraşdırılması

Bəli, bilirəm, bilirəm … çoxunuzun kompüterinizdə artıq Arduino IDE quraşdırılıb, amma bu Təlimatlar həm də yeni başlayanlar üçün nəzərdə tutulub, buna görə də ilk növbədə seçdiyiniz Arduino IDE 1.8.5 -i yükləyin (zip faylı 'administrator olmayanlar' və ya exe faylı)

1.8.5 versiyası tövsiyə olunur, köhnə versiyaları sınamamışam və layihədə istifadə olunan yeni lövhə ümumiyyətlə dəstəklənə bilməz.

İndi sürücüləri ilə birlikdə yeni lövhələri quraşdırmalısınız:

  1. IDE -ni işə salın
  2. Alətlər menyusundan Lövhələr seçin, sonra prosessorlar siyahısının yuxarı hissəsində İdarəetmə Paneli meneceri seçin.
  3. Yeni MKR WiFi 1010 olan Arduino SAMD lövhələrini tapana qədər yeni pəncərəni sürüşdürün (şəklə baxın).
  4. Bu sekməni vurun və ya sekmənin içərisindəki Ətraflı məlumatı vurun, ən son versiyanı seçin və quraşdırın.
  5. Quraşdırmanın tamamlanmasını gözləyin. Sürücülərin quraşdırılmasına da diqqət yetiriləcək
  6. Bu lövhə üçün yeni bir WiFi kitabxanasına da ehtiyacınız var: Sketch seçin, Kitabxana daxil edin və Kitabxanaları İdarə edin. Wifinina axtarın və yuxarıdakı prosessorla olduğu kimi quraşdırın.

İndi yeni Arduino lövhənizi bağlayın və Windows -un sürücü quraşdırmasını başa çatdırmasını gözləyin.

Tools-> Board menyusundan yeni lövhələr tapa bilərsiniz, MKR WiFi 1010 seçin.

Bu layihə üçün başqa bir xüsusi kitabxana lazımdır, bu Giancarlo Bacchio tərəfindən ESP8266TelegramBot kitabxanasıdır. Kitabxana bu lövhə ilə işləmək üçün bir qədər dəyişdirilmiş və eskizin qovluğuna daxil edilmişdir.

Doğru giriş limanını seçin və lövhəni məlumat əldə et əmri ilə sınayın.

Təbriklər, IDE ilə işiniz bitdi!

Addım 3: Telegram Botunun yaradılması

Telegram Botunun yaradılması
Telegram Botunun yaradılması
Telegram Botunun yaradılması
Telegram Botunun yaradılması
Telegram Botunun yaradılması
Telegram Botunun yaradılması

Yeni bir Telegram Botu yaratmaq olduqca sadədir.

Telegram tətbiqini açın və axtarış çubuğuna @BotFather yazın və onunla söhbətə başlayın (şəkil1). BotFather… Bot fabriki. Yeni bir bot yaratmağa və parametrlərini dəyişdirməyə kömək edəcək.

/Start əmrindən sonra kömək siyahısını görəcəksiniz (şəkil 2).

  • Type /newbot (image3) İndi botunuzun adını yazın. Adı əlaqə məlumatlarında və başqa yerlərdə göstərilir.
  • BotFather sizdən İstifadəçi adı istəyəcək. İstifadəçi adı, qeydlərdə və telegram.me bağlantılarında istifadə ediləcək qısa bir addır. İstifadəçi adları 5-32 simvol uzunluğundadır və böyük hərflərə həssas deyil, ancaq yalnız Latın hərflərini, rəqəmlərini və alt xəttini daxil edə bilər. Botunuzun istifadəçi adı 'bot' ilə bitməlidir, məs. 'Tetris_bot' və ya 'TetrisBot'.
  • Həm ad, həm də istifadəçi adı etibarlıdırsa, TOKEN adlı uzun bir simvol alacaqsınız. Bu, Telegram serverləri ilə ünsiyyət qurmaq üçün istifadə etdiyiniz şəxsi 'açarınızdır. Hələlik kompüterinizdəki mətn faylına kopyalayın və yapışdırın. Daha sonra Arduino kodunda istifadə edəcəyik. Əgər itirməsəniz, narahat olmayın, yenisini yaratmaq üçün söhbəti yenidən açın və /işarəsini yazın.

Bütün addımlar burada təsvir edilmişdir:

Ətraflı (isteğe bağlı)

Söhbəti yenidən açın və /kömək yazın

Botunuz üçün bir şəkil yükləmək üçün (və ya yazın) /setuserpic düyməsini basın. Botunuz üçün Haqqında bölməni qurmaq üçün (və ya yazın) /setabouttext düyməsini basın: İnsanlar bu mətni botun profil səhifəsində görəcək və birlikdə göndəriləcək. kimsə ilə paylaşanda botunuza bir keçid.

Botunuz üçün bir təsvir bölməsi qurmaq üçün (və ya yazın) /setdescription düyməsini basın. İnsanlar 'Bu bot nə edə bilər?' Başlıqlı bir blokda botunuzla söhbət açdıqda bu təsviri görəcəklər.

Addım 4: Eskizi dəyişdirin, yükləyin və sınayın

Eskizi dəyişdirin, yükləyin və sınayın
Eskizi dəyişdirin, yükləyin və sınayın
Eskizi dəyişdirin, yükləyin və sınayın
Eskizi dəyişdirin, yükləyin və sınayın
Eskizi dəyişdirin, yükləyin və sınayın
Eskizi dəyişdirin, yükləyin və sınayın

Proqramı Arduino MKR WiFi 1010 lövhəsinə yükləməyin vaxtı gəldi.

Əlavə edilmiş faylları yükləyin, nədənsə ZIP yükləyə bilmirəm, buna görə eskiz adlı bir qovluq yaradın və içərisində olan 4 faylı kopyalayın, nə etdiyinizi bilməyincə adları dəyişdirməyin.

Dəyişdirin

Eskizi açın, bəzi məlumatları doldurmalıyıq (şəkil 1): arduino_secrets.h -i wifi və teleqram məlumatlarınızla doldurun.

  • WiFi şəbəkə məlumatlarını tapın və şəbəkə adınızı (SSID) və şifrənizi daxil edin.
  • Teleqram Bot məlumatlarını tapın və @BotFather tərəfindən verilən adı, istifadəçi adını və işarəni yazın

Yükləmək

Lövhənin ide -də (şəkil2) düzgün və bağlı olduğundan əmin olun, sonra kodu tərtib etməyə çalışın. Kompilyasiya yaxşı gedirsə, lövhəyə yükləyin, cəmi bir neçə saniyə çəkəcək.

Problem yaranarsa, bir səhv yazın və yoxlayın.

Test

[Vacib!] Eskiz IDE -yə qeydlər göndərir. Prosessorun yerli USB portu var (Leonardo lövhələri kimi). Güc açıldıqdan sonra kod serial monitorun işləməsini gözləyəcək. Beləliklə, PC -yə qoşun və serial monitoru açın. Arduino əvvəlcə internetə qoşulacaq, sonra yeni mesajlar üçün Telegram serverində sorğu keçirməyə başlayacaq (image3).

İndi istədiyiniz cihazda Telegramı açın və axtarış qutusuna botunuzun adını yazın ('bot' ilə bitən istifadəçi adını deyil). Onunla söhbət açın.

Bir botla söhbətə başlamaq üçün ilk əmr /startdır, bizim Arduino xoş mesajla cavab verəcək. İndi kömək yazın (işarəsiz), dəstəklənən əmrlərin siyahısı ilə cavab verəcək, hamısını sınaya bilərsiniz (image4).

Testi bitirdiniz, bir şey işləmirsə, eskizdə daxil edilmiş məlumatları yoxlayın (ad, istifadəçi adı, işarə …)

SertifikatlarTelegram serverinə keçiddə səhvlər yaşayırsınızsa (qeyd: Bot bağlı deyil):

  • Alətlər-> Wifi101/wifinina yeniləyicisini açın
  • Lövhənizin bağlı olduğundan əmin olun, yeniləmə alətinin solundakı portları yoxlayın, lövhə orada olmalıdır
  • Yeniləyicinin eskizini aç düyməsini vurun və lövhəyə yükləyin
  • Yüklədikdən sonra, yeniləyicidə lövhəniz üçün ən son firmware seçin və firmware yeniləməsini vurun
  • Yeniləmədən sonra, güncelleyicinin SSL sertifikatları bölməsində Domen əlavə et düyməsini vurun, informasiya qutusunda telegram.org:443 yazın və sonra OK düyməsini basın.
  • Wifi moduluna sertifikatları yüklə düyməsini basın
  • Bu eskizi lövhəyə yükləyin

Addım 5: Təkmilləşdirmələr

Təkmilləşdirmələr
Təkmilləşdirmələr

Koda baxanda yeni əmrləri tətbiq etmək və istifadəçiyə cavab vermək çox sadədir.

Yeni əmrlər: Hər yeni komanda üçün alt yaza bilərsiniz. Hər alt komanda əmrini yerinə yetirməyə çalışacaq və (nəticədə) istifadəçiyə bir vəziyyət məlumatı qaytaracaq.

İstifadəçilərin məhdudlaşdırılması: Əlbəttə ki, bu layihə yalnız bir demodur. İstənilən Telegram istifadəçisi evinizə qoşula və istənməyən əmrlər göndərə bilər. Bunu istəmirsən!

Yaxşı, şəkilə baxın 1, 2 istifadəçinin bağlı olduğunu göstərir. Gördüyünüz kimi hər bir istifadəçinin öz istifadəçi kimliyi var. Kod tərəfində kiçik bir işlə yalnız səlahiyyətli istifadəçilər üçün süzgəc (və ya siyahı) qura bilərsiniz. Yalnız kodu öyrənin və istifadəçi ID nömrəsini kəsməyə çalışın. Sonra yalnız tanınmış istifadəçilərin əmrlərini yerinə yetirin.

Avadanlıq: Arduino -nun I/O pinlərinə bir çox sensor və röle qoşula bilər.

Ehtiyatlı olun: bu layihədə istifadə olunan lövhə 3.3V dözümlüdür !!! Gerekirse, bir gerilim səviyyəsi dəyişdiricisindən istifadə edin! Bu lövhə haqqında daha çox məlumat və məsləhətlər üçün buradan oxuyun:

Hamısı budur, zövq alın!

Tövsiyə: