質問: 10; }; /** * ループ処理 */ void loop() { SerialUSB.println("Loop ..."); // Milkcocoaのループ処理を実行します milkcocoa.loop(); // 1秒処理を止める delay(1000); }; void onpush(DataElement *pelem) { SerialUSB.println("onpush"); //SerialUSB.println(pelem->getInt("state")); // 取得した値が1ならば if (pelem->getInt("state")) { SerialUSB.println("LED ON"); // LEDを接続しているピンをHIGH状態に変更(点灯) digitalWrite(ledPin, HIGH); } // 取得した値が1以外ならば else { SerialUSB.println("LED OFF"); // LEDを接続しているピンをLOW状態に変更(消灯) digitalWrite(ledPin, LOW); } }; ```
回答: いつもありがとうございます! Milkcocoa開発チームのkiyopikkoです。 問題を明確にするために以下についてお答え頂けますか...? * 「Arduino M0の処理が止まる」というのは止まってしまってそこから何も処理をしなくなってしまうということでしょうか?また、そのときのシリアル出力を貼って頂けますでしょうか? * スマートフォンから連続でpushとは具体的な数値としてはどれくらいの間隔でしょうか? 「取得した値が古いものが返ってきたり」については、現在のSDKの仕様で1000msの間に同時に来たデータは同じタイミングで処理されるようになっています。 これは、用途によってはかなり邪魔な(笑)仕様かと思うので、ユーザー側で指定するように検討中です。 ちなみに、以下も確認頂けると幸いです。 * Arduino SDKは最新版を使っているか * Arduinoのlibraries(home/Documents/Arduino/libraries)にESP8266 SDKとArduino SDKが混在してしまっていないか