İçindekiler:

[IoT] Arduino MKR WiFi 1010 ile Telegram Botu: 5 Adım
[IoT] Arduino MKR WiFi 1010 ile Telegram Botu: 5 Adım

Video: [IoT] Arduino MKR WiFi 1010 ile Telegram Botu: 5 Adım

Video: [IoT] Arduino MKR WiFi 1010 ile Telegram Botu: 5 Adım
Video: How to Connect Arduino Board to WiFi Network 2024, Kasım
Anonim
Image
Image
Neye ihtiyacın var
Neye ihtiyacın var

Bu proje, Arduino'nun Telegram Bot API'leri ile nasıl arayüzleneceğini gösterir. Proje, U-BLOX tarafından bir ESP32 modülü ile donatılmış yeni MKR WiFi 1010 kartı etrafında inşa edilmiştir.

Bu aşamada, proje sadece bir konsept kanıtından başka bir şey değildir, sadece size neler yapabileceğinizi göstermek için, bunun için sadece Arduino kartına ihtiyacınız var.

Ancak Telegram Botu nedir? Botlar, insanlar tarafından değil, yazılım tarafından işletilen Telegram hesaplarıdır ve genellikle AI özelliklerine sahip olurlar. Her şeyi yapabilirler - öğretebilir, oynatabilir, arayabilir, yayınlayabilir, hatırlatabilir, bağlanabilir, diğer hizmetlerle entegre edebilir ve hatta Nesnelerin İnterneti'ne komutlar iletebilirler. (Telegram tarafından verilen krediler:

Bizim durumumuzda basit bir IoT cihazı oluşturan Arduino'ya komutları ileteceğiz. Basit komutlara cevap verecek ve ayrıca yerleşik Led'i açıp kapatacaktır. Hayal gücünüzün onunla daha fazlasını yapmasına izin vereceğim… (örneğin, bir veya daha fazla röleyi I/O pinlerine bağladığınızı ve akıllı telefonunuzla bir ısıtıcıyı veya klima sistemini açıp kapattığınızı hayal edin).

Adım 1: İhtiyacınız Olan Şey

Neye ihtiyacın var
Neye ihtiyacın var

Bu proje için ihtiyacınız olan:

  • Arduino mağazasından Arduino MKR WiFi 1010:https://store.arduino.cc/arduino-mkr-wifi-1010
  • Arduino IDE 1.8.5 veya üzeri:https://www.arduino.cc/en/Main/Software
  • Arduino'yu PC'nize bağlamak için bir mikro-usb kablosu
  • İnternet bağlantısı, SSID ve şifre gerektirir. Engellenmediğinden emin olmak için kendi ev yönlendiricinizi kullanırsanız daha iyi olur.
  • Markası ne olursa olsun akıllı telefonunuzda yüklü olan Telegram uygulaması. PC ve Web sürümleri için burayı kontrol edin!

2. Adım: IDE'yi Yükleme

IDE'yi yükleme
IDE'yi yükleme
IDE'yi yükleme
IDE'yi yükleme
IDE'yi yükleme
IDE'yi yükleme

Evet, biliyorum, biliyorum… çoğunuz PC'de Arduino IDE'yi zaten kurdunuz, ancak bu Instructables aynı zamanda yeni başlayanlar için de tasarlanmıştır. 'yönetici olmayan' veya exe dosyası)

1.8.5 sürümü önerilir, eski sürümleri test etmedim ve projede kullanılan yeni kart hiç desteklenemedi.

Şimdi yeni panoları sürücüleriyle birlikte yüklemeniz gerekiyor:

  1. IDE'yi başlat
  2. Araçlar menüsünden Panolar'ı seçin, ardından işlemciler listesinin en üstünde Panolar yöneticisi'ni seçin.
  3. Yeni MKR WiFi 1010'u içeren Arduino SAMD kartlarını bulana kadar yeni pencereyi kaydırın (resme bakın).
  4. Bu sekmeye tıklayın veya sekmenin içindeki Daha fazla bilgi'ye tıklayın, en son sürümü seçin ve yükleyin.
  5. Kurulumun tamamlanmasını bekleyin. Ayrıca sürücülerin kurulumuyla da ilgilenecek
  6. Ayrıca bu pano için yeni bir WiFi kitaplığına ihtiyacınız var: Taslak, Kitaplığı Dahil Et ve Kitaplıkları Yönet'i seçin. Wifinina'yı arayın ve yukarıdaki işlemciyle yaptığınız gibi kurun.

Şimdi yeni Arduino kartınızı bağlayın ve Windows'un sürücü kurulumunu tamamlamasını bekleyin.

Araçlar->Board menüsünden yeni panoları bulacaksınız, MKR WiFi 1010'u seçin.

Bu proje için başka bir özel kitaplık gereklidir, bu Giancarlo Bacchio'nun ESP8266TelegramBot kitaplığıdır. Kitaplık, bu panoyla çalışacak şekilde biraz değiştirildi, böylece eskiz klasörüne dahil edildi.

Doğru com portunu seçin ve Get Board Info komutuyla kartı test edin.

Tebrikler, IDE ile işiniz bitti!

Adım 3: Telegram Botunu Oluşturma

Telegram Botu Oluşturma
Telegram Botu Oluşturma
Telegram Botu Oluşturma
Telegram Botu Oluşturma
Telegram Botu Oluşturma
Telegram Botu Oluşturma

Yeni bir Telegram Botu oluşturmak oldukça basittir.

Telegram uygulamasını açın ve arama çubuğuna @BotFather yazın ve onunla bir sohbet başlatın (image1). BotFather… Bot fabrikasıdır. Yeni bir bot oluşturmanıza ve ayarlarını değiştirmenize yardımcı olacaktır.

/start komutundan sonra yardım listesini göreceksiniz (image2).

  • /newbot yazın (image3)Şimdi botunuzun adını yazın. Ad, iletişim bilgilerinde ve başka yerlerde görüntülenir.
  • BotFather sizden bir Kullanıcı Adı isteyecektir. Kullanıcı adı, bahsetmelerde ve telegram.me bağlantılarında kullanılacak kısa bir addır. Kullanıcı adları 5-32 karakter uzunluğundadır ve büyük/küçük harfe duyarlı değildir, ancak yalnızca Latin karakterleri, sayıları ve alt çizgileri içerebilir. Botunuzun kullanıcı adı "bot" ile bitmelidir, ör. "tetris_bot" veya "TetrisBot".
  • Hem ad hem de kullanıcı adı geçerliyse, TOKEN adlı uzun bir karakter dizisi alırsınız. Bu, Telegram sunucularıyla iletişim kurmak için kullanılan kişisel 'anahtarınız'dır. Şimdilik PC'nizdeki bir metin dosyasına kopyalayıp yapıştırın. Daha sonra Arduino kodunda kullanacağız. Kaybederseniz endişelenmeyin, sohbeti yeniden açın ve yeni bir tane oluşturmak için /token yazın.

Tüm adımlar burada açıklanmıştır:https://core.telegram.org/bots#6-botfather

Gelişmiş (isteğe bağlı)

Sohbeti yeniden açın ve /help yazın

Botunuz için bir resim yüklemek için /setuserpic'e tıklayın (veya yazın). Bot'unuz için Hakkında bölümünü ayarlamak için /setabouttext'e tıklayın (veya yazın) birisiyle paylaştıklarında botunuza bir bağlantı.

Botunuz için bir açıklama bölümü ayarlamak için /setdescription öğesine tıklayın (veya yazın). İnsanlar, botunuzla bir sohbet açtıklarında, 'Bu bot ne yapabilir?' başlıklı bir blokta bu açıklamayı görecekler.

Adım 4: Çizimi Değiştirin, Yükleyin ve Test Edin

Çizimi Değiştirin, Yükleyin ve Test Edin
Çizimi Değiştirin, Yükleyin ve Test Edin
Çizimi Değiştirin, Yükleyin ve Test Edin
Çizimi Değiştirin, Yükleyin ve Test Edin
Çizimi Değiştirin, Yükleyin ve Test Edin
Çizimi Değiştirin, Yükleyin ve Test Edin

Yazılımı Arduino MKR WiFi 1010 kartına yükleme zamanı.

Ekli dosyaları indirin, nedense ZIP yükleyemiyorum, bu yüzden kroki adında bir klasör oluşturun ve içindeki 4 dosyayı da kopyalayın, lütfen ne yaptığınızı bilmiyorsanız adlarını değiştirmeyin.

değiştir

Krokiyi açın, bazı bilgileri doldurmamız gerekiyor (image1): arduino_secrets.h dosyasını wifi ve telgraf kimlik bilginizle doldurun.

  • WiFi ağ bilgilerini bulun ve ağ adınızı (SSID) ve şifrenizi girin.
  • Telgraf Bot bilgilerini bulun ve @BotFather tarafından sağlanan adı, kullanıcı adını ve belirteci yazın

Yüklemek

Kartın ide'de doğru (image2) ve bağlı olduğundan emin olun, ardından kodu derlemeyi deneyin. Derleme iyi giderse, panoya yükleyin, sadece birkaç saniye sürecektir.

Sorun olması durumunda yazım hatası olup olmadığını kontrol edin ve yeniden deneyin.

Ölçek

[ÖNEMLİ!] Çizim, günlükleri IDE'ye gönderir. İşlemcinin yerel bir USB bağlantı noktası vardır (Leonardo kartları gibi). Açıldıktan sonra kod, seri monitör çalışana kadar bekleyecektir. Bu yüzden PC'ye bağlanmasına izin verin ve seri monitörü açın. Arduino önce internete bağlanacak, ardından Telegram sunucusunu yeni mesajlar için sorgulamaya başlayacak (image3).

Şimdi tercih ettiğiniz cihazda Telegram'ı açın ve arama kutusuna botunuzun adını yazın ('bot' ile biten kullanıcı adını değil). Onunla bir sohbet açın.

Bir bot ile sohbet başlatmak için ilk komut /start, Arduino'muz bir karşılama mesajı ile cevap verecektir. Şimdi yardım yazın (eğik çizgi olmadan), desteklenen komutların bir listesi ile cevap verecektir, hepsini deneyebilirsiniz (image4).

Testi bitirdiniz, eğer bir şey çalışmıyorsa, eskizde girilen bilgileri kontrol edin (isim, kullanıcı adı, jeton…)

SertifikalarTelegram sunucusuna bağlantıyla ilgili hatalar yaşıyorsanız (günlük: Bot bağlı değil):

  • Araçlar->Wifi101/wifinina güncelleyiciyi açın
  • Anakartınızın bağlı olduğundan emin olun, güncelleme aracının solundaki bağlantı noktalarını kontrol edin, pano orada olmalıdır
  • Güncelleyici taslağını aç'ı tıklayın ve panoya yükleyin
  • Yüklemeden sonra, güncelleyicide panonuz için en son bellenimi seçin ve bellenimi güncelle'yi tıklayın.
  • Güncellemeden sonra, güncelleyicinin SSL sertifikaları bölümünde Alan ekle'yi tıklayın, iletişim kutusunda telegram.org:443 yazın ve ardından Tamam'a basın.
  • Sertifikaları wifi modülüne yükle'ye tıklayın
  • Bu taslağı tahtaya yükleyin

Adım 5: İyileştirmeler

İyileştirmeler
İyileştirmeler

Koda bakıldığında, yeni komutları uygulamak ve kullanıcıya cevap vermek çok basittir.

Yeni komutlar: Her yeni komut için bir alt yazabilirsiniz. Her alt, komutu tamamlamaya özen gösterecek ve (sonunda) kullanıcıya bir durum bilgisi döndürecektir.

Kullanıcıları sınırlamak:Tabii ki bu proje sadece bir demodur. Herhangi bir Telegram kullanıcısı evinize bağlanabilir ve istenmeyen komutlar gönderebilir. Bunu istemiyorsun!.

Peki, resme bakın1, bağlı 2 kullanıcıyı gösteriyor. Gördüğünüz gibi her kullanıcının kendi kullanıcı kimliği vardır. Kod tarafında biraz çalışarak yalnızca yetkili kullanıcılar için filtre uygulayabilirsiniz (veya bir liste oluşturabilirsiniz). Sadece kodu inceleyin ve kullanıcı kimlik numarasını engellemeyi deneyin. Ardından, yalnızca iyi bilinen kullanıcılardan gelen komutları yürütün.

Donanım: Donanım tarafında Arduino'nun I/O pinlerine bir çok sensör ve röle bağlanabilir.

Dikkatli olun: Bu projede kullanılan kart 3.3V toleranslıdır!!! Gerektiğinde voltaj seviye değiştirici kullanın! Bu kart hakkında daha fazla bilgi ve ipuçları için lütfen burayı okuyun:https://www.arduino.cc/en/Guide/MKRWiFi1010

Hepsi bu, tadını çıkarın!

Önerilen: