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

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

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

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

Q&A

0回答

276閲覧

Milkcocoaの ESP8266 SDKでpushメソッドが機能しない(コンパイル済)

hidelovers

総合スコア8

Arduino

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

0グッド

0クリップ

投稿2018/09/02 10:50

編集2018/09/02 14:20

前提・実現したいこと

初めて質問させて頂きます。
ESP-WROOM-02(ESP8266)のアナログ入力値の値をMilkcocoaのDataStoreに送りたい。
Arduinoは使わずESP-WROOM-02単体での運用です。

Milkcocoaの下記公式ページから ESP8266 SDK(ESP8266に直接プログラムを書き込む場合のSDK)
のスケッチ例を試していますが、コンパイル、ESP-WROOM-02に書込みはできたのですが、
Milkcocoaのデータストアにデータの送信?がされません。
https://mlkcca.com/document/start-arduino.html

発生している問題・エラーメッセージ

エラーはないのですが、 milkcocoa.push(MILKCOCOA_DATASTORE, &elem);
が動いて無いように感じます。

該当のソースコード

#include <ESP8266WiFi.h> #include <Milkcocoa.h> /************************* WiFi Access Point *********************************/ #define WLAN_SSID "********" #define WLAN_PASS "****************" /************************* Your Milkcocoa Setup *********************************/******** #define MILKCOCOA_APP_ID "****************" #define MILKCOCOA_DATASTORE "esp8266/tout" /************* Milkcocoa Setup (you don't need to change this!) ******************/ #define MILKCOCOA_SERVERPORT 1883 /************ Global State (you don't need to change this!) ******************/ // Create an ESP8266 WiFiClient class to connect to the MQTT server. WiFiClient client; const char MQTT_SERVER[] PROGMEM = MILKCOCOA_APP_ID ".mlkcca.com"; const char MQTT_CLIENTID[] PROGMEM = __TIME__ MILKCOCOA_APP_ID; Milkcocoa milkcocoa = Milkcocoa(&client, MQTT_SERVER, MILKCOCOA_SERVERPORT, MILKCOCOA_APP_ID, MQTT_CLIENTID); void onpush(DataElement *elem) { Serial.println("onpush"); }; void onsend(DataElement *elem1) {    //自分で追加 Serial.println("onsend"); }; void setupWiFi() { Serial.println(); Serial.println(); Serial.print("Connecting to "); Serial.println(WLAN_SSID); WiFi.begin(WLAN_SSID, WLAN_PASS); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println(); Serial.println("WiFi connected"); Serial.println("IP address: "); Serial.println(WiFi.localIP()); } void setup() { Serial.begin(115200); delay(10); Serial.println(F("Milkcocoa SDK demo")); setupWiFi(); milkcocoa.on(MILKCOCOA_DATASTORE, "push", onpush) ; milkcocoa.on(MILKCOCOA_DATASTORE, "send", onsend) ;  //自分で追加 }; void loop() { milkcocoa.loop(); int val = analogRead(A0); Serial.println(String(val)); DataElement elem = DataElement(); DataElement elem1 = DataElement();  //自分で追加 elem.setValue("v", val); elem1.setValue("age",40);   //自分で追加 milkcocoa.push(MILKCOCOA_DATASTORE, &elem); delay(7000) milkcocoa.send(MILKCOCOA_DATASTORE, &elem1);  //自分で追加 Serial.println("loop"); delay(7000); };

試したこと

スケッチ例にないsendメソッドを追加して試したところ、
sendメソッドのonメソッドは動いているのですが、pushメソッドのonメソッドが動いていません。
MilkcocoaのAPP_IDを誤ったものにしたらエラーがモニタできたので、
Milkcocoa迄は繋がっていると考えています。

シリアルモニタ結果が以下になります。
.......
WiFi connected
IP address:
192.168.10.4
Connecting to MQTT... MQTT Connected!
282
loop
283
loop
onsend
282
loop
onsend
303

またスケッチ上で
milkcocoa.push(MILKCOCOA_DATASTORE, &elem);のpushは黒字のままなのですが
milkcocoa.send(MILKCOCOA_DATASTORE, &elem1);のsend部は橙色になってます。

どうかよろしくお願いします。

補足情報(FW/ツールのバージョンなど)

Arduino IDE 1.8.6

ここにより詳細な情報を記載してください。

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

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

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

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

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

y_waiwai

2018/09/02 11:39

書き込むことができないのでしょうか?それとも、単に動かないってだけでしょうか?どっちなんでしょう
hidelovers

2018/09/02 13:53

依頼ありがとうございます。 スケッチ例コンパイル書込みはできたのですが、実行時に目的のメソッドが動いて無いのではないという質問です。
chibita

2019/06/01 11:50

ご質問から時間が経ってますが、その後解決策は見つかりましたでしょうか? 私も同じ現象が出ており困ってます。 自己解決されてましたら、ぜひご教示頂けますと助かります。 宜しくお願い致します。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問