Hatena::ブログ(Diary)

のんびり気ままよろず日記 RSSフィード

旅風 どりくら バイカーズカフェ虎亀

2015-03-22

[]Edison定点カメラ 22:04 Edison定点カメラを含むブックマーク

IntelEdisonを使ってアンテナ・カメラにする作業を行った。

まず、Webカムからの画像取得であるが、カメラをUSBポートに接続すると簡単に認識した。

root@edison:~# lsusb

Bus 001 Device 002: ID 046d:0805 Logitech, Inc. Webcam C300

Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub

画像取得はfswebcamを使うことにして、opkgコマンドでインストールする。

root@edison:~# opkg install fswebcam

root@edison:~# opkg list-installed | grep fswebcam

fswebcam - 20140113-r0

撮影コマンドは以下で行い、画像はRAMディスク(/dev/shm)上に保存するようにした。

root@edison:~# cat fswebcam.conf

skip 15

resolution 1240x1024

scale 640x480

palette YUYV

root@edison:~# /usr/bin/fswebcam -c /home/root/fswebcam.conf /dev/shm/webcam/edison.jpg

撮影を15分おきに実行するようcronに登録した。

次に画像をWebストレージにアップロードする方法だが、当初vsftpをインストールして別のサーバからgetした画像ファイルをアップロードするよう考えたが、node.jsがEdisonには入っているのでこれを使うよう変更した。

node.jsでftpのアップロードをするにはgruntを導入するのが簡単なため、まずgruntをインストールしプロジェクトと称するローカルディレクトリを作成して、npm initコマンドでpackage.jsonを生成する。npm initコマンドで聞かれる問いは適当に入れた。

root@edison:~# npm install -g grunt-cli

root@edison:~# mkdir project

root@edison:~# cd project

root@edison:~/project# npm init

package.jsonを生成したら、grunt本体とftpのモジュールをインストールする。

root@edison:~/project# npm install grunt --save-dev

root@edison:~/project# npm install grunt-ftp-deploy --save-dev

あとはgrunt-ftp-deployのサンプルを使ってアップロードするようファイルを修正する。

root@edison:~/project# cd node_modules/grunt-ftp-deploy

root@edison:~/project/node_modules/grunt-ftp-deploy# npm install

root@edison:~/project/node_modules/grunt-ftp-deploy# vi Gruntfile.js

 host: 'アップロード先URL'

 port: 21

 src: '/dev/shm/webcam/':画像保存場所

 dest: './':アップロード先

あと、./test/.ftpconfigファイル内のftpユーザのアカウントを編集しておく。

これでgruntを実行するとEdisonから直接Webサイトへファイルをアップロードできる。

gruntはgrunt-ftp-deployディレクトリから実行する必要があるので注意する。

root@edison:~/project/node_modules/grunt-ftp-deploy# grunt ftp-deploy

Running "ftp-deploy:build" (ftp-deploy) task

>> FTP upload done!

Done, without errors.

■撮影結果

f:id:yoch:20150322220350p:image:w240

gruntについては下記サイトが参考になった。

no title

■日のサテライト

f:id:yoch:20150322215508j:image:w320

トラックバック - http://d.hatena.ne.jp/yoch/20150322