NodeMCUとは

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

目的

このプロジェクトでは、タクトスイッチとNodeMCUボードを接続して、 タクトスイッチを押したら、”pressed” メッセージは遠隔のMQTT
クライアントに送信します。タクトスイッチをはずしたら、 “not pressed”メッセージを遠隔のMQTT クライアントに送信します。NodeMCUボードは2秒1回にタクトスイッチの状態を更新します。

必要なパーツ

NodeMCUボードx 1

タクトスイッチx 1

1K 抵抗x 1

ブレッドボードx 1

ジャンプワイヤー

配線図

nodemcuiot_button_1

プログラム前の準備:

Arduino IDEの設定について:

Libraryのインストール:

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

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

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

https://osoyoo.com/wp-content/uploads/2016/12/nodemcuiot_button_code.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に接続済みの場合、次のように表示します:

led-nodemcu

NodeMCU とWIFI、MQTT brokerサーバーに接続したら、「OsoyooCommand」と言うタイトルのタクトスイッチ状態のメッセージをMQTT
brokerサーバーに発表します。MQTT クライアントソフトウエアを使って、「OsoyooCommand」というタイトルのメッセージを購読して、遠隔場所でのリアルタイムの光強度値を表示します。

Google、AppleStore、GooglePlayで無料MQTT クライアントツール沢山ありますので、ご自由にインストールして下さい。 この文章ではMQTTBox(Windows)
を使用します:

MQTTBoxの設定について、下記の文章をご参照よろしくお願い致します:

https://osoyoo.com/ja/2016/12/02/nodemcu-potentiometer-mqtt/

peizhighh

Saveをクリックして、「Add Subscriber」ボダンをクリックして、 新しいsubscriber スクリーンを作成します。タクトスイッチを押して、
リリースして、subscriber スクリーンでタクトスイッチの状態を表示します。