手順2:SORACOM Airで利用するSIMカードの購入と登録
続いて、SORACOM Airで利用するSIMカードを購入します。
Amazon.co.jpでAir SIMを購入
現在Air SIMを購入する方法には、後述のユーザーコンソールでの購入とAmazon.co.jpでの購入の2種類がありますが、ユーザーコンソールでの購入は10枚単位のため、個人で試すのであればAmazon.co.jpからの購入がお勧めです。SIMのサイズとSMSの有無で6種類ありますので、用途に応じて選択します。
なお、本稿では「標準・データ通信のみ」を購入したとします。
購入したAir SIMを登録
Air SIMが手元に届いたら、ユーザーコンソールの[+ SIM登録]ボタンをクリックし、カード台紙裏面に記載されている「IMSI」と「パスコード」を入力、[登録]ボタンをクリックします。
登録したAir SIMの利用を開始
これでSIM一覧に購入したSIMが追加されました。続いてそのSIMを選択し、[操作]−[使用開始]を選択します。
[ステータスを変更する]をクリックします。
「状態」が使用中になったら準備完了です。
手順3:Raspberry Pi 2と各デバイスのセットアップ
Raspberry Pi 2のOSとして、今回はDebian GNU/Linuxベースの「Raspbian Wheezy」を利用します。PCやMacでRaspbian WheezyのイメージをあらかじめMicro SDカードに書き込み、Micro SDカードをRaspberry Pi 2にセットします。以下デバイスをそれぞれ設置します。
- SORACOM Airの台紙からSIMカードを切り取って3G/LTEモデム(L-02C)に差し込み、USBポートに接続[1]
- GrovePiをRaspberry Pi 2のGPIOピンに設置
- Grove光センサーをGrovePiのA0に差し込む
- HDMIケーブルでモニタに接続
設定が完了したら、USB電源に接続、起動します。Raspbianの初期ユーザーはpi
、パスワードはraspberry
です。SORACOM Airで接続する前に必要なソフトウェアをダウンロードするため、有線LANもしくは無線LANでインターネットに接続しておきます。
なお、L-02Cは使用電流が大きいため、周辺機器の組み合わせによってはUSB電源の容量が不足し機器の動作が不安定になることがあります。
注
[1]: 他ポートに干渉するので、USBハブや延長ケーブルを経由しましょう。
手順4:SORACOM Airの接続
Raspbian+L-02C+SORACOM Air SIMのセットアップ方法は、ブログ記事「Raspberry Pi にRaspbian(ラズビアン)を入れてSORACOM Airを使ってみた - Mana Blog Next」が詳しいです。ここでは、必要な設定のみ抜粋で紹介します。
wvdialパッケージとejectパッケージのインストール
モデムを設定するwvdial
パッケージと、L-02Cの接続時に自動マウントされる仮想CD-ROMを取り外すためのeject
パッケージをインストールします。
$ sudo apt-get install wvdial eject :(中略) Processing triggers for man-db ... Setting up libpcap0.8:armhf (1.3.0-1) ... Setting up eject (2.1.5+deb1+cvs20081104-13) ... Setting up libwvstreams4.6-base (4.6.1-5) ... Setting up libwvstreams4.6-extras (4.6.1-5) ... Setting up libuniconf4.6 (4.6.1-5) ... Setting up ppp (2.4.5-5.1+deb7u2) ... Setting up wvdial (1.61-4.1) ... Sorry. You can retry the autodetection at any time by running "wvdialconf". (Or you can create /etc/wvdial.conf yourself.) $
モデムを利用できるようにするために、仮想CD-ROMの取り外しとUSBモデムの設定、デバイスファイルのパーミッションを調整します。
$ sudo modprobe usbserial vendor=0x1004 product=0x618f $ sudo eject sr0 $ sudo chmod 666 /dev/ttyUSB*
これで準備OKです。モデムの設定ファイル/etc/wvdial.conf
を、テキストエディタで次のように作成します。
[Dialer Defaults] Init1 = ATZ Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 Init3 = AT+CGDCONT=1,"IP","soracom.io" Dial Attempts = 3 Stupid Mode = 1 Modem Type = Analog Modem Dial Command = ATD Stupid Mode = yes Baud = 460800 New PPPD = yes Modem = /dev/ttyUSB2 ISDN = 0 APN = soracom.io Phone = *99***1# Username = sora Password = sora Carrier Check = no Auto DNS = 1 Check Def Route = 1
モデムによるSORACOM Air SIMでの接続
それでは、モデムによるSORACOM Air SIMでの接続を実行してみます。
$ sudo wvdial & --> WvDial: Internet dialer version 1.61 --> Initializing modem. --> Sending: ATZ ATZ OK --> Sending: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 OK --> Sending: AT+CGDCONT=1,"IP","soracom.io" AT+CGDCONT=1,"IP","soracom.io" OK --> Modem initialized. --> Sending: ATD*99***1# --> Waiting for carrier. ATD*99***1# CONNECT --> Carrier detected. Starting PPP immediately. --> Starting pppd at Wed Nov 4 08:53:38 2015 --> Pid of pppd: 3298 --> Using interface ppp0 --> pppd: ��v�Z5 --> pppd: ��v�Z5 --> pppd: ��v�Z5 --> pppd: ��v�Z5 --> pppd: ��v�Z5 --> pppd: ��v�Z5 --> local IP address 10.XX.XX.XX --> pppd: ��v�Z5 --> remote IP address 10.64.64.64 --> pppd: ��v�Z5 --> primary DNS address 169.254.0.53 --> pppd: ��v�Z5 $
接続できているようです。次に、インターフェースppp0
の確認とインターネット接続を試行してみます。このとき、元々使っていたインターネット接続をいったん切断しておくと、SORACOMでのインターネット接続ができているかを確実に確認できます。
$ ifconfig ppp0 ppp0 Link encap:Point-to-Point Protocol inet addr:10.XX.XX.XX P-t-P:10.64.64.64 Mask:255.255.255.255 UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1 RX packets:7 errors:0 dropped:0 overruns:0 frame:0 TX packets:13 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:3 RX bytes:124 (124.0 B) TX bytes:345 (345.0 B) $ ping yahoo.co.jp PING yahoo.co.jp (183.79.135.206): 56 data bytes 64 bytes from 183.79.135.206: icmp_seq=0 ttl=53 time=25.465 ms 64 bytes from 183.79.135.206: icmp_seq=1 ttl=53 time=28.214 ms 64 bytes from 183.79.135.206: icmp_seq=2 ttl=53 time=29.774 ms ^C --- yahoo.co.jp ping statistics --- 3 packets transmitted, 3 packets received, 0.0% packet loss round-trip min/avg/max/stddev = 25.465/27.818/29.774/1.781 ms $
接続できていますね!