makoto_fujimotoのblog

株式会社進角
代表 藤本信のブログです
どうぞよろしくお願いします

カテゴリ: IoT

IMG_1308
11月末にリリースされたRaspberry Pi Zeroを早速入手しました。さらに小型化され$5という安さが驚異的です。
FullSizeRender
Model Bも十分小さいのですが、Zeroは少し幅の広いガムみたいな感じです。


いそいそとケーブルを接続し、とりあえず電源投入!

と、いきなりつまずきました

全く何も起きません(起きていないように見える)。

すわ初期不良かと焦りましたが販売元の方にいろいろサポートいただきながらなんとかOSの起動に成功しました。
CVXDAAzUwAACGj5

とりあえず注意点として
・microSDにOSイメージが無いと通電してもACTランプすら点灯しません。PWRランプは省略されています。
・OSはJessieを使用する必要がある。
・以前のラズパイの様にFAT32フォーマットのSDにOSパッケージimgをコピーするだけではブートしない。
・ブートイメージのSDを作成するには以下のサイトを参考にユーティリティを用いる。
https://learn.adafruit.com/introducing-the-raspberry-pi-zero/setting-up-your-sd-card
・Model Bで使用していたSDをぶち込んでも起動しませんでした(ACTランプは点灯)。
こちらを参考にしてくれればと思います。

とりあえずアプリの確認として、omxplayerという動画再生ソフトでフルハイのmp4を試しましたがコマ落ちもなくスムースに再生することが出来ました。ただGUI(x window)の操作感は少しもっさりした感じがあります。

また検証が進みましたらレポートします。

image1
簡単にクリアできると思っていたラズベリーパイの無線LAN化ですが、購入したELECOM製無線LAN子機のデバイスドライバがラズベリーパイに標準でパッケージされておらず、またDHCP Clientデーモンの停止方法で少し苦労したのでメモを残しておきます。

ELECOMのWi-fi子機WDC-150SU2MWHには8188euというチップが搭載されていますが、使用しているバージョンのカーネルパッケージにはドライバが付属していませんでした。

■以下ドライバのインストール手順です

  1.  カーネルに適合するドライバファイルを探す
    # uname -a でカーネルバージョンを調べます。
    以下のサイトから適合するドライバファイルを探します。
    https://www.raspberrypi.org/forums/viewtopic.php?p=462982
  2. ドライバインストール
    # cd /tmp
    # wget https://dl.dropboxusercontent.com/u/80256631/8188eu-v7-20151028.tar.gz
    # tar xzf 8188eu-v7-20151028.tar.gz
    # ./install.sh
  3. 再起動してしばらくするとGUIの右上に検知されたアクセスポイントが表示されるで、そこからSSIDを選択してパスフレーズを入力すると設定ファイルが出来ます。
    /etc/wpa_supplicant/wpa_supplicant.conf
  4. 但しこのままではpskが平文なので
    # wpa_passphrase SSID PASS
    で出力される暗号化されたpskを使用した方が良いです。
  5. # service networking restart または再起動

ELECOM製を購入した理由は消費電力が少なかったからですが、この様な手間が必要なので正直初心者にはお勧めしません。

また高性能なUSBカメラなどを接続すると消費電力が多いせいか無線LANが不安定になるようです。その場合はセルフパワー付のUSBハブなどを使用する必要があります。

■DHCP Clientデーモンを停止する方法
デフォルトでDHCPクライアントデーモン(dhcpcd)が起動しているので固定IPアドレスを設定する場合は停止させた方が良いと思います。そうしないとeth0にケーブルを差し込んだだけで /etc/network/interfaces の設定を無視して意図しないIPアドレスが振られてしまいます。ifdown/ifupも効きません。

しかしdhcpcdは以下の様にしても自動起動が止まりません
#update-rc.d -f dhcpcd remove

色々調べたらラズベリーパイのサービスはsystemdの管理化にあることが分かったのでsystemctlを用いて
# systemctl disable dhcpcd.service ではだめで
# systemctl disable dhcpcd@eth0.service これでやっと自動起動しなくなりました。
但しGUIの右上のネットワークアイコンの機能は使えなくなりました。

image1
2015東京モーターショー関連の開発も無事に終わり、少し時間があったので前から気になっていたラズベリーパイ(Raspberry Pi)を検証してみました。ラズベリーパイの詳細は割愛しますが、ホビー、教育、試作用途向けの安価なマイクロPCです。

まだ検証途中ですが以下のような状況です。

済 シリアル通信(USBシリアルケーブル) /dev/ttyUSB0として認識
済 Ethernet拡張(USB-Ethernetケーブル)
済 動画再生(mp4) omxplayerで実用レベル
済 USBカメラ ロジクール製 自動認識
済 ストリーム配信 mjpg-streamerで検証 320x240 10fならLANで遅延0.5s以下
済 httpdとCGI(perl Device::SerialPort)を経由してシリアル(RS232C)通信
済 I/O(GPIO)の検証 python 出力はテスターで確認済。入力は抵抗が必要で未検証
× Flash再生 gnashで検証 遅すぎて使い物にならない
× HTML5再生(youtube) 全画面にすると5フレ程度しか描画できない
未 Wi-Fi
未 プリンタ印刷
未 バーコードリーダー制御
未 データ通信モジュール(USBドングル) wvdial
未 カメラによるQRコードリーダー

マイクロPC分野は以前からPlathome社などが自社製品を販売していたり、また組込デバイスにOSを搭載しTCP/IPスタックが使用できる"部品"があります。したがってラズベリーパイの優位性は基本的に低価格しかないのですが、話題性があるので数多くの開発者がミドルウェアやアプリケーションの移植を行ってくれたことで使いやすくなっています。

弊社として考えられるIoT製品例は以下のようなものがあります

[安価な]ネットワークデジタルサイネージ
[安価な]バーコード入退室管理デバイス
[安価な]自動車の逆走検知装置
[安価な]環境観測デバイス
[安価な]アミューズメント機のネットワーク化
[安価な]電源コントローラー
[安価な]I/Oコントローラー
[安価な]既存家電のIoT化(赤外線リモコン操作をネット化)
安いのでとにかく大量に使用して何かするw

なかなか既成品に無いものが思い浮かばないのですが、Webエンジニアがハードウェアに触れやすくなり、またあらゆる製造業とITの接点になる機会としてラズベリーパイは有効なのではないでしょうか。

IoT(Internet of Things)=「モノのインターネット」がにわかに注目されています。

以前ユビキタスと呼ばれていたIoT市場ですが、最近は通信モジュール、I/Oユニット、各種センサー、GPS、カメラ、ストレージ等の小型化が進み、デバイスとしてハードウェア本体に組み込まれる事も容易となり面白い製品やサービスも続々発表されています。また一般的なOSをベースとした製品ではインターネット技術の転用が容易で、ビッグデータビジネスにおいても重要ソリューションとなっています。

ちなみに弊社はインターネットが一般的ではなかった時代からPCとハードウェアを連携するシステム構築を得意としてきましたので、以下の様なIoTソリューションを用いたシステム構築を請け負っておりますのでよろしくお願いします。

シリアルI/Oユニット

「いっちゃん」
パソコンのRS232Cから簡単に入出力を実現するユニット
http://www.data6.jp/rs232c/ichan_s.html
イーサネット経由で8点の接点出力を簡単に実現
http://www.data6.jp/xport/et-r8.html

シリアルポート拡張ボード
http://www.area-powers.jp/product/pci/io/9835-2sl.html

AndroidタブレットのUSBポート(Micro-USB Bタイプ)にRS-232C機器を接続!
http://www.ratocsystems.com/products/subpage/usb60mb.html


組込デバイス

「XPort」
組込み用超小型デバイスサーバー
http://www.lantronix.jp/products/xport.shtml
「xPico Wi-Fi」
組込み用Wi-Fiデバイスサーバー
http://www.lantronix.jp/products/xpico-wifi.shtml
イーサネットターミナルサーバー
http://www.lantronix.jp/products/eds8ps_eds16ps.shtml


小型コンピュータ

Raspberry Pi
https://ja.wikipedia.org/wiki/Raspberry_Pi

PLATHOMEマイクロサーバー
http://openblocks.plathome.co.jp/products/obs_a/

Teamacaron 超小型の組込み制御用コンピュータ
http://www.t-engine4u.com/products/teamacaron.html

超小型デスクトップパソコン「CuBox-i」シリーズ
http://online.radiokaikan.jp/shop/pages/13070004/cubox-i.aspx


ソフトウェア

PHPからシリアルポートを制御するクラスライブラリ
http://www.phpclasses.org/package/3679-PHP-Communicate-with-a-serial-port.html

perlからシリアルポートを制御するCPANモジュール
http://search.cpan.org/dist/Device-SerialPort/SerialPort.pm

Adobe Flash(AIR)でシリアル制御する方法まとめ
http://tech.ironhearts.com/blog/archives/39

Adobe Director用 シリアル通信Xtra
http://www.directxtras.com/DComm_doc.asp?UUID=3982985


ネットから制御が可能な機器

パトライト ネットワーク監視表示灯
https://www.patlitestore.jp/index.php?main_page=page&id=20

Panasonic ネットワークカメラ
http://panasonic.biz/security/#content

ソーラー型Web監視カメラシステム
http://www.arksystem.jp/RT-SFC150/


生体検知デバイス

オムロン ヒューマンビジョンコンポ
http://plus-sensing.omron.co.jp/egg-project/product/

↑このページのトップヘ