販売1000万台記念! Raspberry Jam #007 in OSC

イベント概要

Raspberry Jamは、Raspberry Piに関する発表や情報交換をする世界的なコミュニティイベントです。
OSC2016 Tokyo/Springにつづいて、OSC会場にて開催します!
今回もその場で登録をして5~15分ほどの発表するアンカンファレンス形式で開催します。
発表したいネタや制作物をお持ちの方は、直接会場までお越しください。
目玉の発表は、太田さんがRaspberry Pi 1000万台販売記念パーティに参加したイギリス訪問記!
おみやげ話やおみやげ(物理)もあるかも……?乞うご期待!

対象者・前提知識

  • Raspberry Piに興味がある方
  • Raspberry Piで工作などを作成して発表・紹介したい方

開催情報

開催日時: 11月6日(日) 13:00〜16:00
開催場所: オープンソースカンファレンス(OSC)2016 Tokyo/Fall内
開催教室: 304教室 (28号館 3F)
受付: 申込不要(発表者は当日その場で登録、聞くだけの方は出入り自由です)
費用: 無料

オープンソースカンファレンス(OSC)2016 Tokyo/Fall日程

日程:2016年11月5日(土) 10:00~18:00(展示:11:00~17:30)
11月6日(日) 10:00~17:30(展示:10:00~16:00)
会場:明星大学 日野キャンパス 28号館 2F(OSC受付)
(多摩モノレール 「中央大学・明星大学駅」直結。会場まで徒歩6分)
(ご来場の際は公共交通機関をご利用下さい)
費用:無料
内容:オープンソースに関する最新情報の提供
・展示 – オープンソースコミュニティ、企業・団体による展示
・セミナー – オープンソースの最新情報を提供
主催:オープンソースカンファレンス実行委員会

詳細はオープンソースカンファレンス(OSC)2016 Tokyo/Fall公式ページをご覧ください。


NetworkManagerでカンタン!SORACOM SIM自動接続環境を作ろう

こんにちは、あっきぃ/大内です。本記事はソラコムのSoftware Design誌巻頭特集記念リレーブログ 5月16日の記事です。本来は太田さんが担当でしたが、ご多忙とのことで急きょ私が書かせていただくことになりました。

https://blog.soracom.jp/relay-blog/2016-04/

私からは、ハードにRaspberry PiとLG製L-05Aモデムを、ソフトウェアにUSB_ModeSwitchとNetworkManagerを使用して、SORACOM SIMの自動接続環境を構築する方法をご紹介します。

なお、OSはRaspbianを利用しますが導入方法は割愛します。ただしそれ以外のLinuxでもおそらくそのまま利用できるでしょう。

(知っている人からは「こないだ自分のブログに違うSIM使う前提で書いてたやんけ」って突っ込まれそうですが、許して><)

20160422014027

なぜNetwork Manager?

LinuxでSIMを利用したネットワーク接続には、一般的にはwvdialが利用されるようです。しかし、自動再接続は非対応で、一定時間ごとに接続するスクリプトを別途仕込む必要があるようです。スクリプトを仕込み忘れてしまうと、切断されるたびに手で再起動する必要がありますし、そもそもこのスクリプトの動かし方自体あまりスマートではないように見えます。

NetworkManagerではそのようなことをしなくても自動起動や自動再接続、ホットプラグにも対応します。電源を入れるだけで後は良きに計らってくれるあたり、IoTデバイス的に向いてそうですね。

やること

やることは以下の2点です。

  • USB_ModeSwitchの設定を置いてデフォルトの設定をオーバーライド
  • NetworkManagerでPPP接続

USB_ModeSwitchの設定

USB_ModeSwitchの設定は、/etc/usb_modeswitch.d/1004:613aと言うファイルを作成して、以下の内容を記述します。

# LG L-05A
TargetVendor=0x1004
TargetProduct=0x6124
StandardEject=1
WaitBefore=2

オリジナルの設定ファイルが/usr/share/usb_modeswitch/configPack.tar.gzの中にあって、デフォルトではここから読んでいるようです。/etc/usb_modeswitch.dにファイルを配置することで、オリジナルの設定をオーバーライドできます。オリジナルからの変更点は、WaitBefore=2の1行を追加しただけです。

デフォルトの設定では、CD-ROMモードで認識したL-05AをEjectするタイミングが早すぎるため、USB_ModeSwitchが処理に失敗していました。WaitBeforeパラメータを使用して2秒ほど待つように変えてあげることで、USB_ModeSwitchが正しく動作するようになります。

(参考) http://www.draisberghof.de/usb_modeswitch/bb/viewtopic.php?f=4&t=2130

NetworkManagerのインストールと設定

NetworkManagerをインストールします。デフォルトでインストールされているネットワーク管理とは競合するため、dhcpcd5はアンインストールします(もし入ってなかったらそのままで良いです)。


sudo apt-get install -y network-manager
sudo apt-get remove -y dhcpcd5

(ちなみに、デスクトップ環境の人はGUI管理ツールも入れると良いです)
sudo apt-get install -y network-manager-gnome

もう一つ、デフォルトと競合するものとして、/etc/network/interfacesをエディタで開いて全部コメントアウトします。この時点でOSを一度再起動しておきましょう。

次にNetworkManagerの接続設定を記述します。/etc/NetworkManager/system-connections/soracomを以下のとおり作成します。接続先の情報はSORACOMの利用方法にあるので、そちらを参考に書きます。

[connection]
id=soracom
uuid=271bf085-ac9e-4f98-901c-c300f267d26f
type=gsm
autoconnect=true

[ppp]
refuse-eap=true
refuse-mschap=true
refuse-mschapv2=true

[ipv6]
method=auto

[ipv4]
method=auto

[serial]
baud=460800

[gsm]
number=*99***1#
username=sora
password=sora
apn=soracom.io

設定ファイルの書き方についてですが、今回はデスクトップ環境でNetworkManagerのGUIを使って設定を作りこんでから、下記の設定パラメータ一覧を参考にパラメータをいじりました。

https://developer.gnome.org/NetworkManager/stable/ref-settings.html

接続

L-05AをRaspberry Piに接続すると、USB_ModeSwitchによってデバイスが初期化され、電波ランプが青で数秒点滅したあと点灯に切り替わるのがわかります。

ipコマンドで見るとこうなります。ちゃんとアドレスを拾っていますね。

pi@raspberrypi:~ $ ip a show ppp0
4: ppp0: mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 3
link/ppp
inet 100.94.xxx.xxx peer 10.64.64.64/32 scope global ppp0
valid_lft forever preferred_lft forever

Raspberry Piを再起動しても同じように自動で接続されれば完成です。

さて、これで何しよう?

電源を入れれば勝手にSORACOMでネットワークに繋がるようになったRaspberry Piで何をしよう、というのが肝なわけですが、実はそこまでできていませんでした……。

先述の通りこの記事は自身の記事を使い回していますが、見ると「こいつをCD-ROMドライブに埋め込んで野外Ejectとしゃれ込みましょうかね……?」とか書いてるんです。それをどうしろと。

一方、リレーブログを見てみると、Raspberry PiとUSBカメラを組み合わせていらっしゃる方が見られました。ここはRaspberry PiらしくCamera Moduleを利用されるとよりそれっぽくなるかもしれません。ちょうど本日、Camera ModuleのCSIポートが追加搭載されたRaspberry Pi Zero v1.3がリリースされましたので、こちらと組み合わせてみてはいかがでしょうか。

Zero grows a camera connector

2016-05-15-16.32.19-500x375


Raspberry Pi 3でCentOS

昨晩、CentOSのRaspberry Pi 3向けのイメージが公開されたようです(RPi2も同じイメージで起動するようです)。なお、Raspbian以外のディストリビューションでは、Ubuntu MATEもRPi2/3対応イメージが公開されています。

Ubuntu MATEはこっち: https://ubuntu-mate.org/raspberry-pi/

で、CentOSをひとまずインストールしてみました。上記ツイートのURLからディスクイメージをダウンロードして、xzコマンドで解凍後、ddコマンドでSDカードに書き込みます。

CchcuC-WAAAQ000

起動すればあとは普通にCentOSとして使えます。Raspbianの起動時に出るRainbowもCentOSでは出ない模様。Pidoraとかもそうなのかな(実は他のディストリビューションは普段触っていない……)。

無線LANとBluetoothに関しては、ドライバーが読み込まれていないので、ないようでした。まあ、CentOSを使いたい人にそこを求める人はそんなにいないような気はしますが……(?)