現在esp8266とwebアプリケーションをmilkcocoaでつないだ作品をつくっています。javascriptでデータを送りそのデータに応じてesp8266の方のLEDがパターンごと光るようになっているのですが、もし一定時間javascriptの方からデータがこなかったときまた違うパターンで光るといったことは可能でしょうか?
よろしくお願いします。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答2件
0
ベストアンサー
取りあえず途中経過。
Arduino
1#include <MsTimer2.h>
これでタイマー割り込み(定期的に割り込み処理がかかる)で信号が無かったときの処理のために、どの位信号が無かったかを計測できる。
Arduino
1 wait_count = 0; 2 MsTimer2::set(500, waiting); // 500ms毎にflash( )割込み関数を呼び出す様に設定 3 MsTimer2::start();
setupの中にこれを書くと0.5秒ごとにvoid waiting()に飛ぶ。
グローバル変数にint wait_count;を定義。
arduino
1void waiting() 2{ 3 wait_count++; 4}
割り込み処理waitingではカウントアップだけ。
そして
arduino
1void loop() 2{ 3// 4// javascriptからのデータを受信 5// 6// 例えば文字としてLEDのパターンを’A'なら1の処理、’B'なら2の処理などをする。 7(中略) 8 switch(Recv) 9 { 10 case 'A': 11 (処理1) 12 // 受信できたので、無信号のカウンターをリセット 13 wait_count = 0; 14 break; 15 case 'B': 16 (処理2) 17 // 受信できたので、無信号のカウンターをリセット 18 wait_count = 0; 19 break; 20 default: 21 // 未定義の受信 22 (何か処理が必要なら) 23 } 24 if( wait_count >= 120 ) // 1分以上無信号ならば 25 { 26 (無信号の処理) 27 wait_count = 0; 28 } 29}
で、javascriptではなくターミナルで検証できました。
投稿2016/11/17 09:32
総合スコア3747
0
最近ESP8266での開発をしていますが、解決したのでしょうか?
投稿2016/11/09 11:07
総合スコア3747
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/11/09 15:18
2016/11/10 05:45
2016/11/10 05:49
2016/11/10 05:56
2016/11/10 06:13
2016/11/16 11:23
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。