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

はじめに

このレッスンでは、MQTTプロトコルを介してステッピングモータをリモート制御する方法を紹介します。

準備

ハードウェア:

ソフトウェア:

接続方法

まず、ステップモータをブリッジに接続し、次にブリッジボードをNodeMCUに接続します:

NodeMCU Stepper Bridge Board
Vin Power+
GND Power-
D1 IN1
D2 IN3
D5 IN2
D6 IN4

スケッチのアップロード

NodeMCUをUSBケーブルでパソコンに接続し、Arduino IDE(Version1.6.4+)でスケッチを開きます:

ステッピングモータの速度を設定する行を変更します:

  myStepper.setSpeed(80);

以下のように、自分の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ホットスポット名とパスワードの設定がOKで、MQTTブローカーが接続されている場合、シリアルモニターを開くと以下の結果が表示されます:

NodeMCUのシリアルポートにIPアドレスと接続状況が表示され、MQTTクライアントが発行したコマンドが表示されます。

スケッチからわかるように、パブリッシュトピックのペイロードが “1 “の場合、ステッピングモーターは時計回りに回転し、シリアルモニタの出力は次のようになります:

「MQTTブローカーからのコマンドは、[OsoyooCommand clockwise]です。

発行トピックのペイロードが “2 “の場合、ステッピングモーターは反時計回りに回転し、シリアルモニター出力は次のようになります:

“Command from MQTT broker is : [OsoyooCommand counterclockwise “