テスト用に手軽な静的Webサーバーを使いたかったのでnode-staticをDockerコンテナで起動しました。ちょっとしたJavaScriptのアプリを簡単にデプロイして確認することができます。
ArduinoからDHT11の温度と湿度データをMQTTを使ってMeshbluに送信する
ArduinoのEthernetライブラリを使ってモバイルルーター経由でHTTPクライアントの実装を確認しました。またDHT11のデジタル温度センサーからAdafruitのライブラリを使い温度と湿度を計測できるようになりました。ようやく準備が整ったのでMeshbluブローカーにMQTT通信でセンシングデータを送信してみます。
ArduinoでDHT11デジタル温度センサーをAdafruitライブラリから使う
ArduinoからデジタルセンサーモジュールのDHT11を使って温度と湿度を計測してみようと思います。DHTxx用のライブラリやチュートリアルはたくさん見つかるので勉強に役立ちます。DHT11よりDHT22の方が精度が高く、DHT22とAM2302は同じモジュールのようです。どれも同じライブラリを使えるようなので、安い方のDHT11を購入しました。
ArduinoをEthernetでWR702Nモバイルルーターに接続してRESTクライアントにする
Arduino Uno用のEthernetシールドにWiznet W5100 チップを搭載したW5100が安く買えました。セットアップしたWR702Nモバイルルーターと一緒に使いArduinoをRESTクライアントとして使うサンプルを書いてみます。Ethernet libraryを使ったサンプルはたくさん見つかるのでArduinoをネットワーク接続する勉強にはちょうど良いです。
TP-LINKのWR702NモバイルルーターのClientモードをOSXから設定する
TP-LINKのWR702Nは安価で機能が豊富なモバイルルーターです。接続モードがAP、Router、Repeater、Bridge、Clientと用意されています。特にClientモードは無線LANカードとして使えるのでArduioとEthernetケーブルで接続するとArduinoの安価なWi-Fi環境が作れます。ただしブラウザから使える設定画面が中国語です。NodeMCUもそうですがIoTは中国語も読めないと困ることが多くなりそうです。日本語マニュアルが付属していますがWindows用なので参考にしながらOSXで設定をしていきます。
MeshbluとMongoDBとRedisをDocker Composeで起動する
これまでMeshbluのリポジトリにあるDockerfileを修正して使っていましたが、最近になりnode 0.10-onbuildをベースイメージにした構成に大きく変更になりました。一つのイメージになっていたMongoDBとRedisもインストールされなくなりました。これにあわせてDocker Copmoseを使ってMeshblu、MongoDB、Redisのコンテナを起動するように変更しようと思います。
Raspberry PiでPythonのRPi.GPIOを使ってLチカする
以前Raspberry PiでNode.jsのJohnny-Fiveを使ったLチカのサンプルを書きました。今回はPythonのRPi.GPIOパッケージをインストールしてLチカしてみます。
Raspberry PiのPythonでDS18B20のセンシングデータをPahoのMQTTからpublishする
前回Raspberry Pi上で1-Wireデジタル温度センサのDS18B20からセンシングデータをPythonを使い取得するサンプルを作りました。次に取得したデータをPahoのPythonクライアントを使ってMQTTブローカーであるMeshbluにpublishしてみます。
Raspberry PiでEmacs 24.5とCaskを使う
Raspberry Pi (Model B)は非力なので開発環境には向いていませんがデバイスを操作するPythonを書いているとEmacsが欲しくなります。apt-getでEmacs 24がインストールできないようなので、これも不向きですがRaspberry Pi上でEmacsをビルドして使うことにします。
Raspberry Piで1-Wireデジタル温度センサのDS18B20をPythonから使う
いつも参考にしているAdafruitのLernサイトのAdafruit's Raspberry Pi Lesson 11. DS18B20 Temperature SensingにPythonを使ったDS18B20の温度センシングのサンプルがありました。簡単な方法としてW1ThermSensorライブラリが紹介されているのでさっそく試してみます。ライセンスはGPLv2です。