こんばんは。
今、WROOMとSPI接続ADコンバーターで実験中ですが、なかなか多忙で記事アップが進んでおりません。
今回は、報告ではなく、どうしたらできるんだろうか?? という つぶやき です。
ESP-WROOM-02(ESP8266)でできることの最終目標はスマホブラウザと
リアルタイム双方向通信です。
これができないと、私的に意味ありません。
前回の記事で紹介した、ブラウザのServer-Sent Events はWROOM(Arduino)からブラウザへの一方通行通信です。
以前、ブラウザからスイッチを押すとArduinoのLEDを点灯させる方法を紹介しましたが、あれはブラウザのGETリクエスト送信だったので、スリムなリアルタイム通信ではありません。 スイッチを押すたびに、ブラウザ画面がリフレッシュされるだけです。
理想は、スマホブラウザ上のスライダーを動かすとLEDの明るさ調整がリアルタイムでできて、WROOMから送られてくるデータがServer-Sent Events のように途切れずにブラウザに表示されることです。しかも、それが同時にできることです。
何かできる方法は無いかといろいろ調べてますが、今のところの候補は以下の3つですかね。
1.WROOM(ESP8266)を透過モードにしてブラウザと通信
2.WROOM(ESP8266)とブラウザとでWeb Socket通信
3.スマホアプリを開発して、WROOMとHTTPソケット通信
ネットに出回っている情報ですと、双方向通信はスマホアプリやサーバプログラムを組んだものが殆どでした。
WROOMとスマホだけでアプリ無しで、Arduinoスケッチだけで成し遂げているのは2番のWeb Socketが1件だけネットで情報があったと思います。
この3つの問題点をあげてみます。
1.は透過モードにする場合、WROOM側はサーバーにできない。 クライアントでないと不可。
2.はWeb Socketのコネクション成立のために、ハッシュ関数のKEYの受け渡しをするプログラムを作らなければならない。
3.はスマホアプリを別途開発しなければならないので、誰でも使える環境とはならない。
ということです。
いずれも、ホントにイマイチですねぇ~~~・・・。
なぜ、透過モードはサーバー側ではダメなんですかねぇ・・・。
それさえできれば、全て解決するんですがねぇ・・・。
2番のWeb Socketはハッシュ関数生成のためのプログラムが結構膨大でした。
ネットで出ているスケッチソースをコピーしてもいいんでしょうけど、やっぱり自力で実現したいんです。
そうすると、一番現実的なのはスマホアプリを開発することでしょうか・・・。
ホビーロボットやドローンにしても、スマホアプリを使ってますからねぇ・・・。
ということで、今回はみなさんに有益な情報でなくて、すみません。
どなたか、いいアイデアありましたら教えてください。
↓
双方向ストリーミング通信実現しました!!
WebSocketができました!!
以下の記事をご覧ください。
●WebSocketライブラリを使ったスマホとの双方向リアルタイム通信
●Arduino化 WROOM で WebSocket ハンドシェイク 確立方法
●Arduino化 WROOM で WebSocket データ送受信方法
●WebSocket でスマホから Arduino化 WROOM のLEDを調光してみる
Amazon.co.jp 当ブログのおすすめ
コメント
いつもお世話になっております。
“3.スマホアプリを開発して、WROOMとHTTPソケット通信”のサイト見つけれないんですけどよければ教えていただけませんか
竹さん
当ブログをご覧いただき、ありがとうございます。
ご質問の件ですが、この記事を書いていた頃はESP-WROOM-02で双方向通信しているブログはありませんでした。
ですから、Arduino で双方向通信やソケット通信を検索していました。
例えば以下のサイトを拝見させていただきました。
http://www.atmarkit.co.jp/ait/articles/1411/19/news053.html
http://yoppa.org/tau_bmaw13/4772.html
http://www.allbluesystem.com/wp/?p=211
http://log.niccol.li/2012/05/arduinowebsocketsocketio.html
当時はいずれもサッパリ理解できず、socket.io すら分かりませんでした。
今はWebSocket通信は分かりますが、未だにHTTPのソケット通信はどうやったらよいのか分かりません。
これで参考になったでしょうか?
最近では自力でWebSocket 双方向リアルタイム通信ができて、ライブラリも作って満足しています。
ご覧になっているかもしれませんが当ブログのこちらの記事も参照してみてください。
https://www.mgo-tec.com/blog-entry-easywebsocket-beta13.html