Buy from US Buy from UK Buy from DE Buy from IT Buy from FR Buy from ES ここでご購入を!

はじめに

このレッスンでは、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クライアント設定

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]”と表示され、ブザーがオフになります。