0%

これまでOSXやChromebookをホストマシンとして、Arduino FirmataをCylon.jsやJohnny-Fiveから操作していました。ロボットやRCカーを作ろうとするといつまでも有線では困ります。センサーやアクチュエーターなどのハードウェア操作はArduinoは優れています。一方ArduinoへFirmataプロトコルのコマンドを発行したり、外部からWi-Fi経由でMQTTやWebSocketのメッセージを取得する場合はLinuxが動作するRaspberry PiやEdisonが便利です。Arduino YunやLinino OneのようにArduinoとLinuxの両方をワンボードに乗せたマイコンもあります。impやSparkのようにクラウドからデバイスに対して直接コマンドを発行できると、これまでのクラウドの技術を活用してコネクテッドデバイスの可能性が広がります。

Read more »

Docker上に構築したMeshbluへArduinoからセンシングデータを送信してみます。前回起動したコンテナではMongoDBを使わない設定なので、POSTしたデータはNeDBにJSONファイルとして保存されます。大気圧センサーモジュールはBMP180を使います。前回Intel Edisonでこのモジュールを使ったときはcylon-i2cやmraaが使えず、bmp085パッケージを使いました。Arduinoの場合cylon-firmataが動作するようです。Cylon.jsを使ってセンシングデータを取得してMeshbluにデータをPOSTしてみます。

Read more »

EspruinoやTessel、imp、Spark、EdisonのmraaなどNode.js/JavaScriptのインタフェースを持ったマイコンや小型コンピューターが増えてきました。これまでIoTのJavaScriptフレームワークとしてCylon.jsを主に使っていました。Cylon.jsのDSLはシンプルで良いのですが、もうちょっとNode.jsらしく書けないか別の方法を探しています。mraaはLow Level過ぎたりなかなか難しいです。Johnny-Fiveも同様のJavaScript Roboticsフレームワークです。FirmataプロトコルがベースになっているのでArduinoを使ってLチカのサンプルを書いてみます。

Read more »

普段はクラウド上のUbuntuコンテナやLinux Mintをメインの作業環境にしています。最近Arduinoなどマイコンを操作していると、USBシリアル通信をするホストマシンとしてOSXで一通りの開発環境が必要になりました。いつものクラウド上と同じようなの開発環境とOSX上にも用意しようと思います。

Read more »

2週間前にSeeed Studioから購入したEspruinoがようやく届きました。50ドル以上購入特典で送料無料すると到着まで時間がかかるようです。EspruinoはJavaScript for Microcontrollersこと、JavaScript/Node.jsで操作できるマイコンボードです。また、ChromeアプリのWeb IDEが開発環境として用意されているのも魅力です。Web IDEを使ってQuick Startを読みながらLチカまでやってみます。

Read more »

Dockerを使いMeshbluのIoTプラットフォームをローカルに構築します。GitHubのリポジトリにはDockerfileもあるのですが、開発用に`node_modules`のキャッシュと`docker restart`がやりやすいように少し構成を変更します。最後にMosquittoのコンテナを2つ使いPub/Subのテストをしてみます。

Read more »

Octobluは2014年に設立されたIoT事業者です。同じ年の12月にはCitrixに買収されています。IoTプラットフォームのMeshbluでは、コネクテッドデバイスと人やWebサービスをリアルタイム通信でつなぐためのプラットフォームと周辺技術の開発をオープンソースで行っています。ソースコードはMITライセンスでGitHubに公開されています。また、このプラットフォームを使ったサービスも現在ベータ版で提供を開始しています。

Read more »

Intel Edisonはスイッチサイエンス版Eaglet(MFT版)ボードに乗せています。先日ピンヘッダをはんだ付けしたBMP180の大気圧センサーモジュールとI2C接続してセンシングしようと思います。I2CはGroveコネクタになっているので、4ピンコネクタをメス変換してピンヘッダでブレッドボードに挿します。Cylon.jsのBMP180ドライバーやmraaがうまく動作しないので、bmp085のNode.jsライブラリを使います。

Read more »

Node.jsアプリのDockerイメージを作っているとpackage.jsonのnpm installのときにnode-gypによるネイティブモジュールのビルドが走ることがあります。Node.jsのコードやDockerfileの構成を変更するたびにビルドされて長いときは数分かかります。なにか良い方法がないかググっているとnpm package.json and docker (mounting it…)という記事を見つけました。このソリューションを使っていまビルドに時間がかかっているMeshbluのDockerイメージ作成を修正します。

Read more »