makoto_fujimotoのblog

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

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の接点になる機会としてラズベリーパイは有効なのではないでしょうか。

このページのトップヘ