aptのrbenvが0.3.0と古かったので
Ubuntu12.04にrbenvインストールして、crontabやdaemontoolsも設定した
と同じ手順で0.4.0をgitから入れた。
けどビルドに2時間以上かかったので、aptで1.9.3-p194を入れればいいと思う。
crontabや、foremanで書きだしたupstartも
/home/pi/.rbenv/shims/bundle exec ruby hogehoge.rbで起動したら問題なく動いた。
aptのrbenvが0.3.0と古かったので
Ubuntu12.04にrbenvインストールして、crontabやdaemontoolsも設定した
と同じ手順で0.4.0をgitから入れた。
けどビルドに2時間以上かかったので、aptで1.9.3-p194を入れればいいと思う。
crontabや、foremanで書きだしたupstartも
/home/pi/.rbenv/shims/bundle exec ruby hogehoge.rbで起動したら問題なく動いた。
% sudo apt-get install upstartでsysvinitが消えてupstartが入り、
RocketIOのサンプルとして、それなりに激しい処理が低スペックマシンで動くかテストするために作った。
http://status.shookai.org
ソースコード
https://github.com/shokai/rocketio-arduino-sample
こういうのが表示されてるはず
物理的な意味ではこうなってる
Arduino Firmata on Rubyで、ADコンバータに温度センサと明るさセンサを付けたArduinoを読んで0.3秒毎にSinatra RocketIOでブラウザにpushしている。
5秒毎にCPUとメモリ使用量もpushしてる。
あと新規接続/切断がある度に全クライアントに接続数を通知してる。
60行ぐらいのSinatraと40行ぐらいのJavaScriptでできてる。
JavaScript側を抜粋すると、こんな感じでそれぞれイベント待ちしておいて
io.on("arduino", function(data){
$("#temp").text("気温:"+data.temp+"度");
$("#light").text("明るさ:"+data.light);
});
io.on("stat", function(data){
$("#cpu").text("CPU:"+data.cpu+"%");
$("#mem").text("メモリ:"+data.mem+"%");
});
io.on("clients", function(data){
$("#websocket").text("websocket:"+data.websocket);
$("#comet").text("comet:"+data.comet);
});
io = Sinatra::RocketIOCPUとメモリは同じ要領で、psコマンドの結果をparseして送ってる。
## Arduino sensors
io.once :start do
begin
arduino = ArduinoFirmata.connect ENV['ARDUINO'], :eventmachine => true
rescue => e
STDERR.puts "#{e.class} - #{e}"
next
end
EM::add_periodic_timer 0.3 do
light = arduino.analog_read 0
$logger.debug "light : #{light}"
temp = arduino.analog_read(1).to_f*5*100/1024
$logger.debug "temperature : #{temp}"
io.push :arduino, :temp => temp, :light => light
end
end
ArduinoFirmata.connect "/dev/tty.usbデバイス名", :eventmachine => trueEM::runの中でこうやって起動するとThreadのかわりにeventmachineで動くようになった。
Raspberry Piが音声で状況報告してくれると、画面を接続していなくても状況がわかって便利です。
音はUSBスピーカで出した方がいいですね。ヘッドフォン端子からの出力は無音でもブチブチ音が出ててきびしい。
OSはraspbian使ってる。
sudo apt-get install open-jtalk open-jtalk-mecab-naist-jdic htsengine libhtsengine-dev hts-voice-nitech-jp-atr503-m001
wget http://downloads.sourceforge.net/project/mmdagent/MMDAgent_Example/MMDAgent_Example-1.3/MMDAgent_Example-1.3.zip
unzip MMDAgent_Example-1.3.zip
sudo cp -R MMDAgent_Example-1.3/Voice/* /usr/share/hts-voice/
jsay はいで喋る。
sudo amixer cset numid=3 11じゃなく2にするとHDMIから出る。0は自動判別
sudo apt-get install alsa-utils
amixer set PCM 0%のようにして設定する。
amixer set PCM 20%
Raspberry Pi firmware updater by Hexxeh, enhanced by AndrewS動かない。
Performing self-update
sARM/GPU split is now defined in /boot/config.txt using the gpu_mem option!
Updating firmware (this will take a few minutes)
fatal: Failed to resolve 'HEAD' as a valid ref.
HTMLにimgタグで埋め込んでwebブラウザで見れる
これそのままやってみた → Raspberry Pi に Webカメラを接続して動画を配信してみる Chick Lab
ロボット作ったりしててすごい Raspberry Piでロボットを作る Chick Lab
sudo apt-get install subversion libjpeg-dev imagemagick
svn co https://mjpg-streamer.svn.sourceforge.net/svnroot/mjpg-streamer mjpg-streamer
cd mjpg-streamer/mjpg-streamer
make
./mjpg_streamer -i "./input_uvc.so -f 2 -r 320x240 -d /dev/video0 -y" -o "./output_http.so -w ./www -p 8080"
<html>
<body>
<h1>Raspberry Pi</h1>
<img src="http://192.168.1.6:8080/?action=stream">
</body>
</html>