İçindekiler:

Arduino'yu Telegram Bot Kullanarak Ekstra Donanım Olmadan Kontrol Edin: 5 Adım
Arduino'yu Telegram Bot Kullanarak Ekstra Donanım Olmadan Kontrol Edin: 5 Adım

Video: Arduino'yu Telegram Bot Kullanarak Ekstra Donanım Olmadan Kontrol Edin: 5 Adım

Video: Arduino'yu Telegram Bot Kullanarak Ekstra Donanım Olmadan Kontrol Edin: 5 Adım
Video: Yazılımcıyım Dediğimde Çevrem vs Aslında Olan 😂 2024, Temmuz
Anonim
Arduino'yu Ekstra Donanım Olmadan Telegram Botunu Kullanarak Kontrol Edin
Arduino'yu Ekstra Donanım Olmadan Telegram Botunu Kullanarak Kontrol Edin

Arduino ile yapabileceğiniz çok çeşitli şeyler var, ancak Arduino'nuzu bir Telegram botu kullanarak kontrol etmeyi hiç düşündünüz mü? NEYE İHTİYACINIZ OLACAK:

  • Arduino UNO'su
  • PC'nizde yüklü Node.js
  • Kontrol edilebilir bir cihaz (Biz burada pin 13'te Arduino'nun yerleşik LED'ini kullanıyoruz, ancak yapmak istediğiniz her şeyi yorumlarda sormaktan çekinmeyin)

1. Adım: Node.js'yi PC'nize yükleyin

Node.js'yi PC'nize yükleyin
Node.js'yi PC'nize yükleyin

Node.js bir JavaScript çalışma zamanıdır, ancak programlama geçmişiniz yoksa paniğe kapılmayın. İhtiyacınız olanı hazırladım ve indirebilirsiniz. Bu projede Node.js'yi aşağıdakiler için kullanacağız:

  1. Telegram botu oluştur
  2. Arduino'yu Kontrol Et

NODE. JS'İ KURUN:

Resmi Node.js indirme sayfasına gidin ve işletim sisteminize göre en son yükleyici paketini indirin.

*İndirme sayfasının üst kısmında belirtildiği gibi en son sürüm numarasını unutmayın, bir sonraki adımda kullanacağız.

Paketi indirip kurduktan sonra Node.js'nin tamamen kurulup kurulmadığını kontrol etmelisiniz.

PAKETİN TAMAMEN TAKILDIĞINI GÖRMEK İÇİN KONTROL EDİN:

Windows'taysanız, CMD'yi açın ve macOS'taysanız terminali açın ve şunu yazın:

-v düğümü

Şimdi Node.js indirme sayfasında ziyaret ettiğiniz sürümü burada yazdırılmış olarak görmelisiniz.

Aksi takdirde, tekrar denemek için aşağıya bazı öğreticiler koydum:

  • pencereler
  • Mac os işletim sistemi

Adım 2: Arduino Parçası

Arduino Parçası
Arduino Parçası

Bu adımda yapmanız gereken tek şey, Arduino Uno'nuza yerleşik bir Arduino IDE ürün yazılımı yüklemek.

Önemli: Arduino IDE'nizi Arduino tarafından yayınlanan en son sürüme güncellemeniz gerekir.

Firmata kütüphanesini içe aktar:

Üst Menü >> Dosya >> Örnekler >> Firmata >> StandardFirmata

Arduino'da kodu doğrulayın ve yükleyin:

1. Üst Menü >> Çizim >> Doğrula/Derle

2. Üst Menü >> Çizim >> Yükle

Hepsi tamam.

3. Adım: Telegram Bot Jetonunu Alın

Telegram Bot Jetonunu Alın
Telegram Bot Jetonunu Alın

Telegram'ı açın ve @BotFather'ı arayın veya bu botu telegramda açmak için buraya tıklayın.

  1. /newbot yazın ve enter'a basın
  2. Botunuz için bir ad seçin
  3. Botunuz için bir kullanıcı adı seçin. 'bot' ile bitmeli
  4. Şimdi bot size API erişim belirteciniz de dahil olmak üzere bazı bilgiler gönderiyor. Bir yere yazın, bu jetonu sonraki adımlarda kullanacağız

4. Adım: Bir Node.js Projesi Oluşturun

YENİ BİR NODE. JS PROJESİ OLUŞTURUN

Node.js projesi oluşturmak ve modülleri kurmak için terminal kullanmamız gerekiyor, bu nedenle Windows kullanıyorsanız CMD'yi, macOS kullanıyorsanız aşağıdaki tüm adımlar için Terminal'i kullanın.

1. Proje için bir yerde bir klasör oluşturun

2. En son oluşturulan klasöre CD(Dizini Değiştir). Örneğin, bu klasöre 'TelegramBot' adını verdiyseniz ve masaüstüne koyduysanız, bunu terminalde yazın ve enter tuşuna basın:

cd Masaüstü/TelegramBot

3. Node.js projesi oluşturmak için aşağıdaki komutu girin:

npm başlangıç

4. Ad, tanım, lisans vb. gibi bazı soruları yanıtlayın. Ne cevap vereceğinizi bilmiyorsanız, sadece enter tuşuna basın. Bu durumda parantezler arasındaki kelime varsayılan değer olarak kullanılacaktır.

5. Şimdi klasörünüzde oluşturulan 'package.json' dosyasını görmelisiniz ve bu Node.js projesini başarıyla oluşturduğunuz anlamına gelir.

Adım 5: Kodlama

Buraya bazı kodlar yazmamız gerekiyor. Bazı kullanılmış kütüphaneleri tanımlayalım:

  1. Telgraf botu API isteklerini işlemek için Düğüm Telegram Bot API'si.
  2. Arduino'ya bağlanmak için Johnny-Five Platformu.

Bu kütüphaneler hakkında bilmeniz gereken her şey onların bağlantılı web sitelerinde bulunabilir. onları sadece kodumuzda kullanıyoruz, ancak bunların tam belgeleri bloglarında.

Kod düzenleme için Microsoft Visual Studio Code kullanıyorum. ama istediğiniz herhangi birini kullanabilirsiniz.1. Kod düzenleme yazılımını açın ve ilgili dizinde 'index.js' (veya Node.js proje oluşturma adımının giriş noktası bölümünde girdiğiniz herhangi bir şey) adlı bir dosya oluşturun.

2. Kodu yazın:

var beş = require("johnny-five");let TelegramBot = require('node-telegram-bot-api'); const token = '#########################################'; const bot = new TelegramBot(belirteç, { yoklama: doğru }); var board = new beş. Board(); const answerGeri aramalar = {};

bot.on("mesaj", fonksiyon (mesaj) {

const geri arama = cevapCallbacks[msg.chat.id]; if (geri arama) { answerCallbacks[msg.chat.id] silin; geri arama(msg); } });

board.on("hazır", function () {

var led = yeni beş. Led(13);

bot.on('mesaj', (mesaj) => {

const chatId = msg.chat.id; const metin = msg.metin; if (metin == '/start') { start(chatId, led); } }); });

function start(chatId, led) {

bot.sendMessage(chatId, "Arduino Kontrol Paneli", getKeyboardOptions());

bot.on("callback_query", (callbackQuery) => {

const msg = callbackQuery.message; bot.answerCallbackQuery(callbackQuery.id).then(() => { const data = callbackQuery.data; if (data == 'turnon') { led.on(); } else if (data == 'turnoff') { led.off(); } }) }); }

function getKeyboardOptions() {

const options = { "reply_markup": { resize_keyboard: true, "inline_keyboard": [{ text: "Aç", callback_data: "turnon", }], [{ text: "Kapat", callback_data: "turnoff", }] } }

iade seçenekleri;

}

3. Token özelliğinin değerini bot oluşturma adımında yazdığınız değerle değiştirin

4. Kodu kaydedin

5. Terminali açın ve aşağıdaki komutu girin:

npm i -- johnny-beş düğüm-telgraf-bot-api'yi kaydet

6. Modülleri kurduktan sonra Arduino'nuz USB portuna bağlıyken terminalde aşağıdaki komutu girin:

düğüm indeksi.js

7. Şuna benzer bir şey görmelisiniz:

1534514872949 Mevcut /dev/cu.usbmodem1411

1534514872957 Bağlandı /dev/cu.usbmodem1411 1534514876660 Tekrar Başlatıldı >>

8. Telegramı açın ve botunuzun kullanıcı adını arayın (veya BotFather'dan açın) ve şu komutu girin:

/Başlat

9. Şanslıysanız, yerleşik Arduino LED'ini 'Aç' ve 'Kapat' komutları ile kontrol edebilen bir kontrol paneli görmelisiniz;)

Önerilen: