質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Arduino

Arduinoは、AVRマイコン、単純なI/O(入出力)ポートを備えた基板、C言語を元としたArduinoのプログラム言語と、それを実装した統合開発環境から構成されたシステムです。

Q&A

解決済

1回答

2870閲覧

Arduino M0 ProとESP-WROOM-02とMILKCOCOAの接続

bobby2128

総合スコア42

Arduino

Arduinoは、AVRマイコン、単純なI/O(入出力)ポートを備えた基板、C言語を元としたArduinoのプログラム言語と、それを実装した統合開発環境から構成されたシステムです。

0グッド

0クリップ

投稿2017/01/16 05:53

###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を飛ばしています。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ozwk

2017/01/16 06:06

ツール > ボードをちゃんと設定していますか?
bobby2128

2017/01/16 06:11

ozwk様 こんにちは早速のご連絡をいただき誠にありがとうございます。ボードの設定はArduino M0 Pro(Programing)で設定した状態での症状となります。説明が不足しており申し訳ございません。
ozwk

2017/01/16 06:14

IDEのバージョンは?
bobby2128

2017/01/16 06:19

otwk様 IDEのバージョンは、1.8.0でございます。よろしくお願いいたします。
guest

回答1

0

ベストアンサー

IDEのver1.8(より前?)からSerial1に変更されたらしいです。
(公式のソースは見つけられていないので今探しています。)

投稿2017/01/16 06:23

ozwk

総合スコア13512

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

bobby2128

2017/01/16 06:44

otwk様 こんにちはご連絡いただき誠にありがとうございます。 状況について説明不足の中、度々のアドバイスをいただきありがとうございました。 書き込むことができました。誠にありがとうございました。
bobby2128

2017/01/16 07:12 編集

現在書き込み完了後、スマホのテザリングのWifiへの接続を試みているのですが、シリアルモニタに「.......」(待機中の意味)が表示されるのみでなかなか接続されません。一度、スマホ側に接続済みユーザーの名前が浮かんだのですが、Arduinoの電源を切って再度接続を行おうおするとできない状況になっています。 接続には時間を要するものなのでしょうか。 お手数おかけいたしますが、よろしくお願いいたします。 少し待って解決しない場合は、ベストアンサーに選出させていただき新たにご質問投稿させていただきます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問