NodeMCUとは

NodeMCUはAP,STA,AP+STAの3つのモードが搭載している非常に人気あるマイクロコントローラです。ESP8266搭載 -Arduino IDEに完備対応し、安くて良質なチップです。ArduinoIDEに熟練者の場合、簡単にプログラムしできます。

目的

このプロジェクトでは、制御命令がIoT設備への伝送を展示します。今回のIoT設備はNodeMCUボードと接続済みの圧電ブザーです。 MQTTプロトコルを使って、NodeMCUと他のIoT設備の情報交換します。

MQTTは非常に人気あるIOTプロトコルとして、インタネットを通じで、異なるのディバイス間の通信が実現できます。デバイス間のブリッジがMQTTブローカーと呼ばれています。各ディバイスはMQTTブローカーからメッセージを簡単に申し込む(獲得)しできますし、MQTTブローカーへメッセージを簡単にパブリッシュ(送信)しできます。

必要なパーツ

設備
数量
NodeMCU ボード
1
Breadboard
1
圧電ブザー
1
ジャンプワイヤー
若干

Picture 1: 配線図

プログラム前の準備:

Arduino IDEの設定について:

Libraryのインストール:

MQTT brokerと通信のため、ArduinoIDEにMQTT クライアントlibrary をインストールして下さい。

上記のリンクでのZIPファイルをダウンロードして、解凍したフォルダをArduino IDE library フォルダに移動して下さい。

次のリンクでサンプルコードをダウンロードして下さい。

https://osoyoo.com/wp-content/uploads/2016/12/NodeMCU_Buzzer-.txt コードをArduino IDEにコーピーして、 ロードの前に、下記のように編集して下さい。

1)Line 19 と20:

const char* ssid = “your_hotspot_ssid

const char* password = “your_hotspot_password

赤字の部分をお宅のルーターのSSIDとルーターのパスワードを切り替えして下さい。

2)Line 21

const char* mqtt_server = “broker.emqx.io“;

赤字も部分はお客様自弁のMQTT broker URLやIPアドレスも切り替えすることはできます。

他の無料なMQTTサーバーもお勧めます:“broker.emqx.io” ”iot.eclipse.org”

お客様自弁のMQTT brokerサーバーをUbuntu Linuxにインストールしたいの場合、次の文章をご参照下さい:https://osoyoo.com/ja/2016/09/07/how-to-install-mosquitto-mqtt-server-on-linux

3)もし、お客様のMQTTサーバーはユーザー名とパスワードが必要の場合、Line86の内容を変更して下さい。

コードをロードして下さい

コードをロード完了しましたら、Arduino IDEのserialモニター窓を開けて下さい。

お客様のルーターのSSIDとパスワードが正しく入力されたとMQTT brokerに接続済みの場合、次のように表示します:

Picture 2:

NodeMCUとWifi、MQTT brokerサーバーを接続完了したら、 topic 「OsoyooCommand」のメッセージを購読します。メッセージは1の場合圧電ブザーは鳴ります。メッセージは0の場合、圧電ブザーはミュートします。 mqtt クライアントソフトを使って、メッセージ(0または1)を送信して下さい。

MQTT クライアントソフトウエアを使って、MQTT brokerにメッセージを送信しできます。Google、AppleStore、GooglePlayで無料MQTT クライアントツール沢山ありますので、ご自由にインストールして下さい。 この文章ではMicrosoft MQTTを使用します。Microsoft MQTTをパソコンでインストールしたら、Picture 2のようにMQTT host とtopicを設定して下さい。

設定完了したら、メッセージをNodeMCUボードに送信して下さい:

Picture 3

“1” を送信したら、 圧電ブザーは鳴ります。”0″を送信したら、圧電ブザーはミュートします。