2016/12/17

[esp8266][rtos]サンプルを斜め読み

そろそろ、何か作ってみないと、正月を迎えてしまうと何もしないまま年度末の慌ただしさに巻き込まれてしまうに違いない。。
特に作りたいものがあるわけではないので、まずはサンプルを眺めてみよう。
眺めるだけで、深入りはしない。

 

NonOS版のexamples。

image

RTOS版のexamples

image

たぶん、RTOS版でFreeRTOSの機能を使わなければ、NonOS版と同じ動きになるのだと思う。
今日(2016/12/17)の時点では、NonOS版はV2.0.0(patchあり)、RTOS版はV1.5.0が最新となっている。
なお、RTOS版は1.5.0のタグが作られていない(コメントで1.5.0になっている)ので、確定じゃ無いのかもしれない。

ここに貼ってるgithubのリンクは、今日の最新のcommit(2016/11/09)にしているので、今の最新版では無いかもしれない。
そこはご注意くだされ。


project_template

これはシンプルで、実際の動作としてはSDKバージョンをprintf()するだけだ。
さすがテンプレート。

 

smart_config

昔から気になっていたものの、動かしたことがないsmart_config。
名前からすると、設定ができそうなのだが。。
SmartConfigはNonOS版でも専用APIがあるくらいなので、ドキュメントも充実しているのでは?

ドキュメントの一覧を見たが、よくわからん。
APIしか出てこないのだろうか。

ESP8266はモードとして、STATIONモード、APモード、その両方、の3種類がある。
STATIONモードはAPにつなぐモード。APモードは自分がAPになるモード。
SmartConfigは、STATIONモードでしか動作しない。
私のイメージでは、自分がAPになって「誰か接続して設定しておくれ~」という動作なのかと思っていたのだが、そうじゃないんだなぁ。

説明を読む限りでは、つなぐ先の情報をブロードキャストしていたらESP8266が接続してくれる、というように感じた。
WPSみたいなものか?

しかし、WPSと絡めて検索しても情報が出てこない。。。
Smart Plugなんてものすら出てきてしまったので、これは後日調べよう。

 

spiffs_test

名前からすると、SPIでつながっているFlashにFileSystemを作ろう、というところだろうか。
大したサイズではないのだけど、自前で管理するとやはりめんどうなのだ(ああ、めんどうだったさ)。
ぎりぎりまで使わないと足りない場合は、自分でやらんといかんだろう。

元はこれらしい。
pellepl/spiffs: Wear-leveled SPI flash file system for embedded devices

が、これだけで終わらず、SSC APIというものもspiffs_testに関わっているようだ。
SSCは、Simple Serial Commandの略。

サンプルもファイル数が多いので、必要があるときまで忘れておこう。

 

websocket_demo

まず、websocket、というものがあるらしい。
検索するといろいろ出てくる。。。が、ここではIPAのリンクを載せておこう。
一番下に"2007"とあるので、たぶん2007年に書かれたものなのだろう。

IPA ISEC セキュア・プログラミング講座:Webアプリケーション編 第9章 Web関連技術

とりあえず、サーバとクライアントの間で双方向通信したいためのプロトコルらしい。
だいたい、サーバは待ち、クライアントがアクションを掛ける、というイメージがあるのだが、サーバからも送りつけたい場合なのだろう。

サンプルではSTATIONモードになっているから、自分はクライアントということか。
なんか、STATIONって駅だから、電車が来るのを待っている姿をイメージして、APの動作になると勘違いしてしまうのだよなぁ。

このサンプルは、SSIDやパスフレーズがべた書きになっているから、それなりに書き換える必要があろう。
しかし、それ以前に、どういうアプリを用意したらよいのだろう?


すまん、この辺で私が力尽きた。

websocketがサーバからの通知に注力してるのだったら、常に接続状態にしていないといけないだろうから、それだったらBLEでいいやん、と思ってしまったせいかもしれない。
WiFi-AP用のBLE規格、みたいなものがあればよいのだけど、多少マニアックな感じがするから、そういうのは出てこないだろうねぇ。

 

さて、この中で何をRTOS版でやってみたいかというと。。。特にないな。
かろうじて、SmartConfigが気になっているというところか。
今はソースにSSIDやパスフレーズを埋め込んでいるのだけど、外部から設定できるようにしたいのよねぇ。

0 件のコメント:

コメントを投稿

コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。