工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Manufacturing Technology >> 製造プロセス

[IoT] Arduino MKR WiFi1010を搭載したテレグラムボット

コンポーネントと消耗品

Arduino MKR WIFI 1010
× 1

このプロジェクトについて

このプロジェクトは、ArduinoをTelegram BotAPIとインターフェースする方法を示しています。このプロジェクトは、U-BLOXのESP32モジュールを搭載した新しいMKR WiFi1010ボードを中心に構築されています。

この段階では、プロジェクトは概念実証にすぎず、何ができるかを示すだけなので、このために必要なのはArduinoボードだけです。

しかし、テレグラムボットとは何ですか?

ボットは、人ではなくソフトウェアによって操作される単なるTelegramアカウントであり、多くの場合、AI機能を備えています。教える、再生する、検索する、ブロードキャストする、思い出させる、接続する、他のサービスと統合する、さらにはモノのインターネットにコマンドを渡すなど、何でもできます。 (Telegramによるクレジット:https://telegram.org/blog/bot-revolution)

この例では、単純なIoTデバイスを構築するArduinoにコマンドを渡します。簡単なコマンドに応答し、組み込みのLEDのオン/オフも切り替えます。想像力を働かせましょう...(たとえば、1つまたは複数のリレーをI / Oピンに接続し、スマートフォンでヒーターやエアコンシステムのオン/オフを切り替えることを想像してみてください)。

>

ステップ1:必要なもの

<図> <図>

このプロジェクトには次のものが必要です:

  • ArduinoストアのArduinoMKR WiFi 1010:https://store.arduino.cc/arduino-mkr-wifi-1010
  • Arduino IDE 1.8.5以降:https://www.arduino.cc/en/Main/Software
  • ArduinoをPCに接続するためのマイクロUSBケーブル
  • インターネット接続には、SSIDとパスワードが必要です。自分のホームルーターを使用して、ブロックされていないことを確認することをお勧めします。
  • ブランドに関係なく、スマートフォンにインストールされている電報アプリ。PC版とWeb版もここで確認してください!

ステップ2:IDEをインストールする

<図> <図> <図>

ええ、私は知っています、私は知っています...あなたのほとんどはすでにPCにArduino IDEをインストールしていますが、このチュートリアルは初心者も対象としています。

したがって、まず、選択したArduino IDE 1.8.5をダウンロードします(「非管理者」のzipファイルまたはexeファイル)

1.8.5バージョンをお勧めします。古いバージョンはテストしておらず、プロジェクトで使用されている新しいボードはまったくサポートされていません。

次に、新しいボードとそのドライバをインストールする必要があります。

  • IDEを起動します
  • ツールから メニューはボードを選択します 次に、プロセッサリストの一番上で、ボードマネージャを選択します。 。
  • 新しいMKRWiFi1010が含まれているArduinoSAMDボードが見つかるまで、新しいウィンドウをスクロールします(画像を参照)。
  • そのタブをクリックするか、タブ内の[詳細情報]をクリックして、最新バージョンを選択してインストールします。
  • インストールが完了するのを待ちます。ドライバのインストールも処理します
  • このボードには新しいWiFiライブラリも必要です。スケッチ、ライブラリを含めるを選択してください。 およびライブラリの管理。 Wifininaを検索し、上記のプロセッサで行ったようにインストールします。

次に、新しいArduinoボードを接続し、Windowsがドライバーのインストールを完了するのを待ちます。

ツール->ボードから メニューには新しいボードがあり、MKR WiFi1010を選択します。

このプロジェクトには、Giancarlo BacchioによるESP8266TelegramBotライブラリという別の特別なライブラリが必要です。ライブラリは、このボードで動作するように少し変更されているため、スケッチのフォルダに含まれています。

正しいCOMポートを選択し、ボード情報の取得を使用してボードをテストします コマンド。

おめでとうございます。IDEはこれで完了です。

ステップ3:テレグラムボットを作成する

<図> <図> <図>

新しいTelegramボットの作成は非常に簡単です。

Telegramアプリを開き、検索バーに@BotFatherと入力して、彼とチャットを開始します(image1).BotFatherは...ボットファクトリです。新しいボットを作成し、その設定を変更するのに役立ちます。

/ start の後 コマンドを実行すると、ヘルプリスト(image2)が表示されます。

  • / newbot 」と入力します (image3)ボットの名前を入力します。名前は連絡先の詳細などに表示されます。
  • BotFatherはユーザー名を尋ねます。ユーザー名は短い名前で、メンションやtelegram.meリンクで使用されます。ユーザー名の長さは5〜32文字で、大文字と小文字は区別されませんが、ラテン文字、数字、およびアンダースコアのみを含めることができます。 ボットのユーザー名は「bot」で終わる必要があります。例: 「tetris_bot」または「TetrisBot」
  • 名前とユーザー名の両方が有効な場合は、TOKENと呼ばれる長い文字列を受け取ります。これは、Telegramサーバーとの通信に使用される個人の「キー」です。今のところ、PC上のテキストファイルにコピーして貼り付けてください。後でArduinoコードで使用します。失っても心配ありません。チャットを再度開いて / token と入力してください。 新しいものを生成します。

すべての手順はここで説明されています:https://core.telegram.org/bots#6-botfather

高度な (オプション)

チャットを再度開き、 / help と入力します

/ setuserpic をクリック(または入力)します ボットの画像をアップロードするには、 / setabouttext をクリック(または入力)します。 ボットの[概要]セクションを設定するには:ボットのプロフィールページにこのテキストが表示され、誰かと共有するとボットへのリンクとともに送信されます。

/ setdescription をクリック(または入力)します ボットの説明セクションを設定します。 「このボットは何ができるか」というタイトルのブロックで、ボットとのチャットを開くと、この説明が表示されます。

ステップ4:スケッチを変更、アップロード、テストする

<図> <図> <図> <図>

ソフトウェアをArduinoMKR WiFi1010ボードにアップロードする時が来ました。

添付のスケッチをダウンロードして解凍します。何をしているのかわからない場合は、名前やフォルダを変更しないでください。

変更

スケッチを開きます。いくつかの情報を入力する必要があります(image1)、

arduino_secrets.hタブに移動します:

  • WiFiネットワーク情報を見つけて、ネットワーク名(SSID)とパスワードを入力します。
  • テレグラムボット情報を見つけて、@ BotFatherから提供された名前、ユーザー名、トークンを入力します

アップロード

ボードがIDEで正しく(image2)接続されていることを確認してから、コードをコンパイルしてみてください。コンパイルがうまくいったら、ボードにアップロードしてください。数秒で完了します。

問題が発生した場合は、タイプミスを確認して再試行してください。

テスト

[重要!]スケッチはログをIDEに送信します。プロセッサには、ネイティブUSBポート(Leonardoボードなど)があります。電源を入れると、コードはシリアルモニターが実行されるまで待機します。それで、それをPCに接続させて、シリアルモニターを開きます。 Arduinoは最初にインターネットに接続し、次にTelegramサーバーのポーリングを開始して新しいメッセージを探します(画像3)。

次に、お好みのデバイスでTelegramを開き、検索ボックスにボットの名前を入力します(「bot」で終わるユーザー名ではありません)。それとチャットを開きます。

ボットとのチャットを開始する最初のコマンドは、 / start です。 、Arduinoがウェルカムメッセージで応答します。ヘルプと入力します。 (スラッシュなしで)、サポートされているコマンドのリストで応答します。すべてを試すことができます(image4)。

テストは終了です。何かが機能していない場合は、スケッチに入力されている情報(名前、ユーザー名、トークンなど)を確認してください。

証明書 テレグラムサーバーへの接続でエラーが発生した場合(ログ:ボットが接続されていません):

  • ツールを開く-> Wifi101 / wifininaアップデーター
  • ボードが接続されていることを確認し、アップデータツールの左側にあるポートを確認します。ボードがそこにある必要があります
  • [アップデータスケッチを開く]をクリックしてボードにアップロードします
  • アップロード後、アップデータでボードの最新のファームウェアを選択し、[ファームウェアの更新]をクリックします
  • 更新後、アップデータの[SSL証明書]セクションで[ドメインの追加]をクリックし、ダイアログで[telegram.org:443を書き込む]をクリックして、[OK]を押します。
  • [証明書をwifiモジュールにアップロード]をクリックします
  • このスケッチをボードにアップロードします
<図>

ステップ5:改善

<図>

コードを見ると、新しいコマンドを実装してユーザーに答えるのは非常に簡単です。

新しいコマンド

新しいコマンドごとにサブを書くことができます。すべての潜水艦がコマンドの完了を処理し、(最終的には)ステータス情報をユーザーに返します。

ユーザーの制限

もちろん、このプロジェクトは単なるデモです。 Telegramユーザーは誰でもあなたの家に接続して、不要なコマンドを送信できます。あなたはこれを望まない!。

さて、image1を見ると、2人のユーザーが接続していることがわかります。ご覧のとおり、各ユーザーには独自のユーザーIDがあります。コード側で少し作業するだけで、許可されたユーザーのみをフィルタリング(またはリストを作成)できます。コードを調べて、ユーザーID番号を傍受してみてください。次に、よく知られているユーザーからのみコマンドを実行します。

ハードウェア

ハードウェア側では、多くのセンサーとリレーをArduinoのI / Oピンに接続できます。

注意:このプロジェクトで使用されるボードは3.3V耐性です!!!必要に応じて電圧レベルシフターを使用してください!このボードの詳細とヒントについては、https://www.arduino.cc/en/Guide/MKRWiFi1010

をお読みください。

以上です、お楽しみください!

コード

  • MKR1010Bot_V1_02.zip
MKR1010Bot_V1_02.zip C / C ++
Telegram Botスケッチ
プレビューなし(ダウンロードのみ)。

製造プロセス

  1. GoPiGo v2 with Windows IoT
  2. Arduinoでコインアクセプターを制御する
  3. 可聴周波数検出器
  4. LEDを制御するBluetoothを搭載したArduino!
  5. Tech-TicTacToe
  6. ArduinoとNokia5110ディスプレイを備えたDIY電圧計
  7. Arduinoカウントダウンタイマー
  8. OKGoogleのBluetooth音声制御アプライアンス
  9. Nextionディスプレイを使用してFridgeyeアプリを構築する
  10. RCポルシェカー(Arduinoプロジェクト)
  11. Arduinoで日射量を測定する