sam
2016年5月24日 17時49分
お世話になっております。
開発者ブログではArmadillo IoTで取得したデータをHerokuのサーバに上げてブラウザに
表示するサンプルがあげられていますが、その逆のパターンでブラウザで入力された値をHerokuを
経由し、Armadillo IoTで取得してRS232Cに出力する場合はどのような方法で行えば良いのでしょうか?
よろしくお願いします。
コメント
at_ohsawa
もし、リアルタイムにpushして欲しい場合は、
Armadillo-IoTスタートアップガイド[http://armadillo.atmark-techno.com/armadillo-iot-g2/downloads ページ内]
で紹介しているサンプルアプリケーションの 「ON/OFFボタン」の実装を参考にしてみてください。
サンプルアプリケーションのソースコードは、
アットマークテクノ公式 GitHub [https://github.com/atmark-techno]で公開しています。
一見githubのソースコードツリーにはサーバーサイドの実装しか無いように見えますが、
クライアントアプリケーションはHerokuからユーザーがダウンロードする事を想定して
public/client/sample.rb に入っています。
サンプルアプリケーションでは、Armadillo側で動くクライアント(sample.rb) でソケットを作り、
HerokuのPusherサービスに対してセッションを張って、HerokuからのPushを待つように実装しています。
sample.rbの下記の箇所が、それにあたります。
pusher_options = {:secret => config['pusher_secret']} socket = PusherClient::Socket.new(config['pusher_key'], pusher_options) socket.connect(true) socket.subscribe(uid) socket[uid].bind('button') do |data| d = JSON.parse(data) command = sprintf("value=%s;%s", d["value"], OPTS[:command]) system(command) end
at_yashi
2016年5月24日 18時38分
heroku上に Database をもったアプリを置いて、
ブラウザーでアクセスするエンドポイントは、書き込み
Armadillo-IoTでアクセスするエンドポイントは、読み込み可能にします。
で、Armadillo-IoT上で、↓と同じことをするアプリを書けば、シリアルにデーターが出せます。
curl http://app.heroku.com/?id=1 > /dev/ttyUSB0
id
を指定しなくても、読みたいものが読み出せればなんでもOKです。