Raspberry PiとSORACOM Airで動画と連携するハードウェアを作る
Maker Faire Tokyo 2017で①ヒートガンでポップコーンを作り、②キャンディーを砕いて溶かしてポップコーンに色付けするという展示をしました。写真と動画はこちら。
私が担当したパートは
- srt.jsを使ってYouTubeの字幕としてハードウェアにコマンドを送信
- Raspberry Piでコマンドを受信して、接続されたソレノイドを駆動してキャンディを砕く
- 砕かれたキャンディを手作業で心を込めてフライパンで溶かす
というシステム構成で仕立てたのですが、多くの来場者から不思議がっていただきまして、特にRaspberry PiにSORACOMのSIMを挿してPusher(WebSocket)で待ち受けるという構成は様々なところで使えると思いますので、書いてみることにします。
事前にすること
お買い物
スイッチサイエンスさんで入手できます。
Raspberry Pi 3
https://www.switch-science.com/catalog/2800/
SORACOMスターターキット
https://www.switch-science.com/catalog/2767/
Pusherにお申込み
こちらを参考にしてください。
http://qiita.com/alingogo/items/a52dfccc2e4711c5f521
PHPでPusherへ送る
こういうのを置いて、push.php?text=1
にアクセスしてPusherのデバッグ画面に文字列が届いてると成功です。
require_once('external/Pusher.php');
$pusher_ini = parse_ini_file("api.ini",true)["pusher"];
$text = $_GET["text"];
$pusher = new Pusher(
$pusher_ini["key"],
$pusher_ini["secret"],
$pusher_ini["app_id"],
['encrypted'=>true]
);
$data['message'] = $text;
$pusher->trigger('test_channel', 'my_event', $data);
Raspberry PiとSORACOM SIMが届いたら
Rasberry Piをソラコムに認識させる
このあたりを参考に。
http://qiita.com/CLCL/items/95693f6a8daefc73ddaa
node.jsでPusherから受け取り、Arduinoへ送信
こういうのを置きました。
var Pusher = require('pusher-js/node');
var SerialPort = require('serialport');
var conf = require('config');
var fs = require('fs');
var sp = null;
// Arduinoが刺さっているポートを探索
var files = fs.readdirSync('/dev/');
files.forEach(function(file){
if( file.match(/tty.usbmodem/) ){
sp = new SerialPort('/dev/'+file, {
baudRate: 115200
});
}
})
if( sp == null ){
console.log("disconnected");
return;
}else{
var pusher = new Pusher(conf.app_id, {
encrypted: true
});
var channel = pusher.subscribe('test_channel');
channel.bind('my_event', function(data) {
// 送られてきた文字が数字1桁のときだけArduinoに送信
if( data.message.match(/^[0-9]$/) ){
sp.write(data.message);
}
});
}
Raspberry Piにサービスとして登録
このあたりを参考に。
http://qiita.com/yosi-q/items/55d6d3d6834c778ae2ea
まとめ
Maker Faire Tokyoのようなイベントでネットワーク環境を構築するのも一苦労だし、構築してもWiFiもBluetoothも混線しがちで一苦労なところを、ソラコムの登場により一気に解決した気がします。
Author And Source
この問題について(Raspberry PiとSORACOM Airで動画と連携するハードウェアを作る), 我々は、より多くの情報をここで見つけました https://qiita.com/usop4/items/573af91debb86be59cfe著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .