blogこの広告は、90日以上更新していないブログに表示しています。2018-07-27ニュース見て思ったことほんとはFacebookに投稿しようと思って書きはじめたものなんだけど、長くなったしなんとなく思いついてブログのほうに晒しとこうと思います。気づいたら2年半ぶりくらいのブログと投稿になるんだけど、とくに意味深いものじゃありません。まぶた監視->空調制御による居眠り抑制の実証実験について思ったこと。IoTといったテクノロジーについて、世間一般の人への不信感を増大させるためが目的だとすると、実によく練られたソリューションである意味すごいな!」と思ったんだけど、さすがにそんなことはないだろうと思ってプレスリリースを探して読んでみた。http://www.daikin.co.jp/press/2018/20180725/仮説と検証方法の脈絡を読み解いてみると、ソリューションの目的は「従事者に適切な覚醒レベルを提供して生産効率を維持する」ということにみえる。検証結果のグラフをみると温度刺激に加えてアロマによる芳香刺激、ライトによる照明刺激とその複合によって覚醒レベルをコントロールできることが示唆されていて興味深い。このような検証をもとに今回のプロトタイプでは空調、照明の効果をピックアップしてその制御に依る覚醒レベルのコントロールを実証実験中。いうのが正確な表現になるだろう。一概に「部屋を冷やして疲労した社畜を強制労働させ続ける」ということを狙ったものではない感じがした。一方で、本検証・実証については以下の疑問も出てくる。本仮説にはヤーキーズ・ドットソンの法則が引用されているが、本法則に照らせば、ある一定水準のストレス状態に対して適切な刺激を与えると、覚醒レベルを維持向上させることができる示唆がされているが、逆にあまりに高いストレス状態に対して刺激を与えることは逆効果につながると説明されている。https://en.wikipedia.org/wiki/Yerkes%E2%80%93Dodson_law本検証において、まぶた監視によるストレス検知が当該法則で説明されている刺激を与えるに妥当なストレスレベルを検知できる手法であるのか?まぶたが下がりはじめた状態は睡眠初期でありストレスレベル軽であると仮定しているのであれば、その人のその時点での健康状態についての睡眠重要度が不明であるため、もしその時睡眠をとらなければ体調に不調をきたす状態であった場合、刺激を与えることが当該法則により不適当ということになる。説明されていて、どちらかというとやる気を測る指標である。このあたりは論文を読んでいない上で恐縮だが、当該法則について説明されているページをいくつか読んだ上ではやはり当該法則の「覚醒度」とは「やる気」に関係するもののようだ。いうことは本検証は「眠気のない状態」=「やる気のある状態」という前提のもと構築されていることになり、本検証から出力されるソリューションは平たく言えば「眠気をなくせば、みんな意欲的にバリバリ働くのでオフィスの眠気を払拭しましょう!」というものになると推測される。これマジだろうか?みなまでは言わないが。より日々変化している」という実際を無視していると捉えることもできるように思う。この点に対して、本検証ではどういう議論がされたのかが気になるところである。以上のことを鑑みてみると、本実証実験はまあAIやIoTを貶める目的でないことやある程度の仮説検証プロセスに基づき計画され明確な効果を狙ったプロジェクトであることが見える一方、これから引き続き検討しなければならない課題や検証がいくつかあることがうかがえる。すべての眠い従業員を起こすことが妥当でない場合がある。何らかの方法で個々の従業員を計測し、本当に睡眠が重要な人にあっては別のケアを実行することをサブシステム等で設ける必要かもしれない。本検証の効果から、上記疑問2についての前提が本当に妥当であるかどうかが生産効率の変化を計測することによって検証できるだろう。多くの従業員にとって従業中の「眠気のない状態」が「やる気のある状態」であれば良し。なければソリューション全体を見直す必要に迫られるのかもしれない。この点は興味深いのでぜひ検証の報告を待ちたいものである。あ、あと大企業が莫大な予算を投じてやっているAIやIoTの実証実験なので面白おかしく取り上げてTogetterあたりを盛り上げたいのはわかりますけどね各紙。コンテキストを読み解いて書いてあげるのも世の中のためによろしかろうと思いますよ。あとTwitterに書きたい人も、書く前に一回公式プレスリリースをみてそれでも面白おかしくdisれると判断したときに、絶賛書いたほうがいいと思います。ロボットネタじゃねえけどJSBoardでもいいって書いてあったからEspruinoのネタにしました。PicoはKickstarter発のマイコンボードでJavaScriptをコンパイルして即実行するインタプリタを搭載しています。インタプリタの名前がEspruinoでPicoはそのリファレンスボードのひとつって感じね。Boardに比べてめっちゃちっちゃいので本格的なデバイス実装にもいろいろ使えそうな感じです。最近ではAmazonで取扱もあって国内でも入手できるようになったのだけどめっちゃ高い。これならAdafruitとかで買ったほうがいいっすね。EspruinoのいいところはなんといってもJavaScriptネイティブなマイコンボードであるということ。Piをはじめとする様々なデバイスでビルド可能といったところがメリットとして挙げられます。個人的には一番漢なJSBoardだと思っていてJSネイティブってだけで他のことはどうでもいいです。Hardwareというキーワードに釣られて一個でも書こうかと思った次第。Wifiチップを使ってなんかやることにします。送るデータはなんでも良かったのでとりあえずDS18B20デジタル温度計で気温取って送った。Espruino公式のチュートリアル的にはこれとこれの合わせ技プラスアルファみたいな感じです。配線ブレッドボード上での配線はこんな感じです。Picoとの話ワイアードを図にしたのがこちら。Fritzing使ったことないけど練習で描いてみたのがこちら。今回使ってるのはESP-WROOM-2だけどFritzingのオブジェクトになかったので違うESP8266チップになってます。そのためWROOM-2よりピン1列少なくて配線が異なったりしてますが、その辺は雰囲気です。上の写真が正しいので参考程度にしてください。CerevoのESP-WROOM-2ブレイクアウトボードを使用しました。他のブレイクアウトボードよりもピン出しが素直な感じで気に入ってます。ピンレイアウトはこちら。DS18B20デジタル温度計はこちらを参考に。GND(左ピン)をPicoのGNDに、データ(真ん中ピン)をPicoのB1、電源(右ピン)をPicoの3.3Vに接続します。データ(真ん中ピン)と電源(右ピン)を4.7kΩの抵抗で接続します。Calenderのrockymanobiくんのものを使わせてもらいました。cloneして以下を実行します。mqttHostにIPアドレスをセットします。Espruinoのプログラミングソースコードは以下。使用したESP8266のファームバージョンは0.25.0.0だったのでドキュメントにしたがってESP8266WiFi_0v25をrequireしました。ボーレートは115200です。subscriberのホストIPをセットします。IDEでプログラムを転送してしばらくすると、Wifiに接続されてpublisherのコンソールで温度が表示されるようになります。DS18B20の温度取得をsetIntervalで回して、それとは別にWifiをセットアップしてMQTT接続を確立、確立後2秒ごとにsubscriberに向かって温度データをpublishしています。こんな感じで非同期でセンサー毎にループが書けるのはJSのメリットが活かせて便利だと思う。まとめEspruinoはMQTTライブラリをビルトインでサポートしているので簡単にMQTT通信するデバイスをつくることができます。あとESP8266安くていいですね。Espruinoでも最近ESP8266対応のリファクタリングが積極的に行われています。EspruinoをESP8266上に直接書き込んでビルドする方法も公開されていて激アツです。これは今度やってみたい。Broker向けと思われるライブラリがマージされたりと面白そうなことになってる。こんなマージもあったし今後も注目したいですね。Espruino日本でももっと流行んねぇかな。WearのアプリをHTML5つくってみる最近キャラ的にHTML5属性のほかにウェアラブル属性が追加された気がして、まあ日本ウェアラブルデバイスユーザー会(WUG)とかやってたりヘンなデバイスたくさん買ったりしてるので仕方ない。ソフトウェアと違ってハード持ってると目立ちますね。最近イベントいったらよく写メ撮られます。塚本先生には遠く及ばないけど。ウェアラブルのこと話してるとよく「職業変えたんですか?」と聞かれるけど、そんなことはない。Glassをはじめてみたときに「あー、これのアプリはそのうちHTML5で動くだろうな」と思ったから。Androidがウェアラブルになるという時点でどうせそのうちウェアラブルデバイスにもHTML5の波がおしよせてくると思ったんです。その感覚を忘れないためにウェアラブルデバイスを日常的に追っかける必要があると思ったからみんなとユーザー会を立ち上げたというのが本音。Glassは当分ないでしょうけど、そう遠い将来でもないんじゃないでしょうか。昨今のAndroidとChromeの融合っぷりをみるともちろんモバイルのほうが先だろうけど、そのうちアプリランタイムとしてのAndroidとChromeは見分けがつかなくなるんじゃないかな。そのころにはウェアラブルなAndroidは普通にHTML5だと。なったら誰得かは別にしておもしろいなと思います。Wearアプリが書けるという選択肢が登場しました。これ速攻で試すつもりだったんだけど実機持ってなかったりハンダ付けにはまったりしてたんでやるの遅くなりました。Rを購入したのでやれる状況になったのでやってみた。やってみた結果がこれ。CSS3のロゴがsetIntervalでふわふわ切り替わります。外出の用事があってデモ動いてからバスの中で写真とった。家に出る前に作業してだいたい15分くらいで動くところまでできたと思う。ソースコードはこちら。いじってシンプルにした感じ。2Dで書いたほうがもっと良くなる気がする。その気になったらリファクタリングするかもしないかも。READMEに書いてあります。ブログにも書いてある。