Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

OpenWrtで自前ネットワークをつくる その5:webcam

openWrtは機器についているUSBも活用可能なため、
パッケージを導入すればUSBカメラによる遠隔監視システムの構築も可能となります。
……ちょっと高機能すぎやしませんかね??

実際のところ

パッケージを導入。
kmodデバイスドライバLinuxカーネル側でよろしく呼び出してくれる仕組みです。

$ opkg install kmod-video-uvc mjpg-streamer

mjpg-streamerのオプションを有効(=1)にする

$ vi /etc/config/mjpg-streamer

起動時に呼び出し設定

/etc/init.d/mjpg-streamer enable

手動で起動

/etc/init.d/mjpg-streamer start

無事起動していれば、http://192.168.1.1:8080/にアクセスすることで中身を確認できます。
ユーザー名/パスワードは “openwrt”/“openwrt”

備考

USBカメラによっては相性がある様子。

これも頑張ればArduino Yun相当ボードで実行できるようです。
Pythonを経由して古いサービスを使ってるようですが、
このあたりはうまく代替案は用意できそう、
Arduino Yún Motion-Trigger Trespasser Camera | Make:
https://learn.adafruit.com/wireless-security-camera-arduino-yun?view=all

OpenWrtで自前ネットワークをつくる その4:パッケージ導入はOPKG

opkgはopen package managementの略で、名前のまんまパッケージツールです。
Debian系でいうaptですね。

パッケージは".ipk"形式にて頒布されます。
動作が軽いこともあって、ルーターNASといった組み込みLinuxを主戦場にしてるパッケージの様子。
OpenWrtで採用されたのもそういう経緯でしょうね。

実際のところ

OpenWrt環境にsttyを入れるコマンドは以下の通り。
こんな感じなのでapt等を使い慣れている人なら普段つかうコマンドは大きくは変わらないです。

$ opkg update
$ opkg install coreutils-stty

OpenWrtで自前ネットワークをつくる その3:GPS情報を同一ネットワーク端末で読み出し

OpenWrtをおいた端末にGPS……というか、NMAフォーマットの情報を同期する方法です。

NMAフォーマットはこちらの記事参照
shuzo-kino.hateblo.jp

実際のところ

雑にまとめると……
‐ シリアルポートにGPS端末を接続
‐ catコマンドで逐次更新をファイルに書き出し

  • 書き出したファイルを下処理

‐ ミンナダイスキnetcatで読み取りサーバーを構築、待ちに入る

今書いてまs

OpenWrtで自前ネットワークをつくる その2:シリアルでつないだ子機を操作する

shuzo-kino.hateblo.jp
の続き。
OpenWrt環境構築済みデバイスarduinoをつないで、TCP越しでデータのやり取りができるようになります。

実際のところ

9600番ポートで、ttyACM0のデバイスで受信待機したい場合、こんな感じに。

$ socat tcp-l:9600,reuseaddr,fork file:/dev/ttyACM0,nonblock,raw,echo=0,waitlock=/var/run/tty,b9600

OpenWrtで自前ネットワークをつくる その1:下調べ/導入

概要

オレオレネットワークを構築しないといけない。
が、金かけたくもないし、それ以上に何やってるか自分でわかっておかないと吊し上げが怖い……そんなとき。
OpenWrtなら結構いろんな事ができる。

基本、ルーターなどネットワーク機器をターゲットにしているがRaspberry Piシリーズも使える。
管理用のWebインターフェイスもある。

openwrt.org

導入

本来はルータの組み込みLinuxが対象なのですが、ありがたいことにRaspberryPiシリーズにも対応しています。
Raspiなら各プロジェクトの残骸が漬物石にするほどあるので、それを使います。

openwrt.org


ほかのデバイスリストはこちら。
OpenWrt Project: Table of Hardware: Firmware downloads


執筆時点の最新版は19.07.2なのでリンクからrpi-3-ext4-factory.img.gzを導入。
ファイルサイズはわずかに12MByte。
組み込みLinux向けとはいえ軽い軽い。
Index of /releases/19.07.2/targets/brcm2708/bcm2710/

これを通常のraspbianと同様、SDカードに書き込んでセットアップ。

最初は無線LAN使うのが面倒なので優先LANで接続。

telnetなりブラウザ(!)なりでWiFiなりIPアドレスの設定。
具体的な手順は公式URL参照
openwrt.org


頑張ればUSB-bootも狙えるみたいです
medium.com