Framework7でモバイルWebを開発するとHTML5/JavaScript/CSSを使ってiOSやMaterialデザインのネイティブに近いUIを作ることができます。またW3Cが策定しているHTML5のデバイスAPIを活用すればネイティブのAPIをコールしなくてもHTML5経由でハードウェアの制御を行うこともできます。簡単なところからGeolocation APIで緯度経度情報を取得して遊んでみようと思います。
myThingsをはじめよう - Part8: トリガーの閾値監視をIDCFクラウド側で行う
Raspberry Piのプログラムからセンサーデータをmessageトピックにpublishして、IDCFクラウドのサーバー側のプログラムでsubscribeと閾値監視を行うパターンです。トリガーの発火条件をRaspberry Piのセンサーデータに加えてサーバー側で他のデータと組み合わせたい場合に使います。一度データをsubscribeしているので、閾値監視以外にもデータベースに保存したり、さらに別のデバイスにメッセージをpublishすることもできます。
myThingsをはじめよう - Part7: トリガーの閾値監視をRaspberry Piで行う
myThingsの組合せとしてIDCFをトリガーに使う場合、何かしらの条件を設定してその条件を満たしているか判定する必要があります。大きく分けてRaspberry Piなどのコネクテッドデバイス側か、IDCFチャンネルサーバーがあるクラウド側でプログラムを実行します。今回は計測したセンサーデータが閾値を超えた場合に、トリガー発火条件を満たしているか判定するコードをRasbperry Pi側で実装してみます。
konashi 2.0 入門 - Part4: Framework7でネイティブ風に
jsdo.itで作成したkonashi.jsアプリの画面はZepto.jsを使っていました。ちょっとシンプルなので最近HTML5モバイルアプリの開発で使っているFramework7を使ってLチカとタクトスイッチの画面を作ります。
YQLを使って為替レートを取得する
意外に日本では知られていないのですが、Yahoo! Inc.の便利なYQLを使うと、WebサイトのスクレイピングやWebサービスをSQL風なシンタックスでクエリすることができます。
Framework7でHTML5モバイルアプリをつくる - Part3: gulp-webserverとgulp-watchでLiveReloadする
Gulpプラグインを使い開発用サーバ-の起動とライブリロードの設定をします。開発用サーバーはExpressサーバーとは独立して起動するのでフロントサイドのSPAの開発が行うことができます。リポジトリはこちらです。
Framework7でHTML5モバイルアプリをつくる - Part2: GulpとBowerでパッケージを1つにまとめる
前回はFramework7のパッケージはBowerからインストールした後、HTMLファイルから直接bower_componentsディレクトリからJavaScriptとCSSをロードしていました。Gulpから事前にBowerを使ってインストールしたパッケージを公開用ディレクトリにパブリッシュすることが今回の目的です。今のところFramework7だけしか使っていませんが、bower_components配下にインストールされたパッケージのJavaScriptやCSSを1つのファイルにまとめて、本番用にファイルスサイズを圧縮させます。
Raspberry Pi2からSensorTagのデータをBluebirdのCoroutineとPromiseで取得する
BeagleBone BlackでSensorTagを使ったときのように、Raspberry Pi 2でもNode.jsのコードからデータを取得してみます。node-sensortagライブラリに付属しているtest.jsのサンプルコードはAsync.jsのasync.seriesを使っています。最近はES6のPromiseとGenerator、Coroutineで書くようにしているのでBluebirdを使うコードに書き直してみます。
Promiseでwhileループを書いてみる
io.jsのES6では標準でPromiseが使えるようになりました。Async.jsで書いてきたコードも、これからはPromiseやGenerator、coなどのコルーチンに移行していきたいです。whileループの書き方がよくわからなかったので、Stack Overflowなどで調べてみました。
myThingsをはじめよう - Part6: 「IDCF」のトリガーからHTTPで「Gmail」のアクションを実行する
「IDCF」チャンネルを使うと、Raspberry Piと環境センサーが計測した気温が27度を超えたときなど閾値を監視して、myThingsのトリガーを作成することができます。前回はアクションを作成するサンプルでしたが、今回はトリガーを作成するサンプルになります。