###Arduino M0 ProとESP-WROOM-02とMILKCOCOAの接続
タイトル通り、Arduino M0 ProとESP-WROOM-02とMILKCOCOAの接続を行いたいです。
「センサーでなんでもできるおもしろまじめ電子工作」という本の、
サンプルプログラムを用いて実施を試みました。
ところが、Arduino M0 ProにArduino IDEから書き込む際に、以下のエラーメッセージがIDE上に出てきて困っています。
サンプルコードは、
http://www.shuwasystem.co.jp/products/7980html/4660.html
にございます、8.1 のプログラムです。(以下にも示しています)
###発生している問題・エラーメッセージ
exit status 1
'Serial5' was not declared in this scope
###該当のソースコード // ライブラリの読み込み #include "ESP8266.h" #include "Milkcocoa.h" #include "Client_ESP8266.h" // 転送スピード #define SERIAL_SPEED 115200 /************************* WiFi Access Point *********************************/ // Wi-Fi SSID #define WLAN_SSID "Daimon5" // Wi-Fi PASSWORD #define WLAN_PASS "Admiral2128" /************************* Your Milkcocoa Setup *********************************/ // MilkcocoaのアプリID #define MILKCOCOA_APP_ID "uniixstvro4" // Data Store名 #define MILKCOCOA_DATASTORE "toilet" /************* Milkcocoa Setup (you don't need to change this!) ******************/ #define MILKCOCOA_SERVERPORT 1883 /************ Global State (you don't need to change this!) ******************/ // Create an ESP8266Client class to connect to the MQTT server. ESP8266Client wifi; const char MQTT_SERVER[] PROGMEM = MILKCOCOA_APP_ID ".mlkcca.com"; const char MQTT_CLIENTID[] PROGMEM = __TIME__ MILKCOCOA_APP_ID; Milkcocoa milkcocoa = Milkcocoa(&wifi, MQTT_SERVER, MILKCOCOA_SERVERPORT, MILKCOCOA_APP_ID, MQTT_CLIENTID); // センサーを接続するピン const int sensorPin = A0; // 光センサーの閾値 const int threshold = 500; // 現在の明るさを保持 boolean nowSensorState = false; // 切り替え前の明るさを保持する boolean sensorState = false; void setup() { // パソコンとのシリアル通信のポートを開ける Serial.begin(SERIAL_SPEED); // Wi-Fiモジュールとのシリアル通信のポートを開ける Serial5.begin(SERIAL_SPEED); // Wi-Fi設定 setupWiFi(); // Milkcocoaへ光センサーの値がpushされた milkcocoa.on(MILKCOCOA_DATASTORE, "push", milkcocoaPushDataHandler); } /* Wi-Fiを設定します */ void setupWiFi() { Serial.print("Connecting to "); Serial.println(WLAN_SSID); // シリアルポートの指定 wifi.begin(Serial5); // Wi-Fiへ接続(成功するまで処理を繰り返す) while (!wifi.joinAP(WLAN_SSID, WLAN_PASS)) { delay(500); Serial.print("."); } Serial.println("Wi-Fi connected"); Serial.println("IP address: "); // Wi-FiのローカルIPアドレスをシリアルモニターへ表示 Serial.println(wifi.getLocalIP().c_str()); } /** * ループ処理 */ void loop() { // Milkcocoaのループ処理を実行 milkcocoa.loop(); // センサーの値 int sensorValue = analogRead(sensorPin); Serial.print("Sensor Value : "); Serial.println(sensorValue); // センサーの値と閾値を比較 nowSensorState = sensorValue > threshold; // 明るさに変化がなければloop()関数の始めに戻る if (sensorState && nowSensorState || !sensorState && !nowSensorState) { return; } // Milkcocoaへ送信するデータを作成 DataElement elem = DataElement(); // lightというデータ名で値を追加 elem.setValue("lightState", nowSensorState); // Milkcocoaへデータを送信 milkcocoa.push(MILKCOCOA_DATASTORE, &elem); // 1秒処理を止める delay(1000); } /* * Milkcocoaへ光センサーの値がpushされた */ void milkcocoaPushDataHandler(DataElement *pelem) { // 明るさの状態を更新 sensorState = nowSensorState; } ###試したこと 特に有効な手段は施していないです。 ###補足情報(言語/FW/ツール等のバージョンなど) スマートフォンのテザリングでWifiを飛ばしています。
回答1件
あなたの回答
tips
プレビュー