このレッスンでは、MQTTクライアントを使用して、MQTTプロトコル経由でアクティブなブザーをリモート制御する方法を紹介します。
ハードウェア:
(ブザー電流を制限するために直列抵抗を追加することもできます。)
ソフトウェア:
ここではD2を出力ピンとしてブザーを制御しています。
NodeMCUをUSBケーブルでパソコンに接続し、Arduino IDE(Version1.6.4+)でスケッチ を開きます:
次の操作のように、独自の WiFi および MQTT 設定に合わせてコードを編集します。
1)WiFiの設定:
const char* ssid = “your_hotspot_ssid”;
const char* password = “your_hotspot_password”;
上記のコード行を探し、そこに自分のssidとパスワードを記述します。
2)MQTTサーバーアドレスの設定
const char* mqtt_server = “broker.mqtt-dashboard.com”;
上記のmqtt_serverの値には、自分のMQTTブローカーのURLやIPアドレスを使うことができます。また、”broker.mqtt-dashboard.com”、”iot.eclipse.org “などの有名なフリーのMQTTサーバーを使用してプロジェクトをテストすることもできます。
3)MQTTクライアント設定
MQTTブローカーがclientID、ユーザー名、パスワード認証を必要とする場合は、次のように変更する必要があります。
if (client.connect(clientId.c_str()))
to
if (client.connect(clientId,userName,passWord)) //put your clientId/userName/passWord here
そうでなければ、デフォルトのままにしておく。
スケッチをNodeMCUにアップロードします。
MQTTクライアントの設定方法はこちらをご覧ください。
トピックの設定
アップロードが完了し、無線LANホットスポットのIDとパスワードの設定に問題がなく、MQTTブローカーが接続されていれば、シリアルモニターを開き、NodeMCUのシリアルポートにIPアドレスと接続状況が表示されます。
次に、MQTTクライアントを開き、以下のように “OsoyooCommand “トピックに “1 “または “0 “を発行します:
するとNodeMCUのシリアル出力が表示されます。1 “を発行すると、NodeMCUはこのメッセージを受信し、シリアルモニターに “Command from MQTT broker is : [OsoyooCommand Turn On Buzzer]”と表示され、ブザーが鳴ります。”0 “を発行すると、NodeMCUはこのメッセージを受信し、”Command from MQTT broker is : [OsoyooCommand Turn Off Buzzer]”と表示され、ブザーがオフになります。
DownLoad Url osoyoo.com
You must be logged in to post a comment.
Hello – I successfully loaded this sketch onto a WEMOS D1 Mini, but I wonder if the code can be modified to accept the Wemos buzzer shield (https://wiki.wemos.cc/products:d1_mini_shields:buzzer_shield). Can you please help?