[103] Raspberry Pi を 3G 接続する - soracom/jp-training GitHub Wiki
[103] Raspberry Pi を 3G 接続する
ここでは、Raspberry Pi を SORACOM Air SIM と USB モデムを使用して、3G 接続します。
前提条件
以下を完了し、SORACOM アカウントの作成と、Raspberry Pi への SSH 接続が出来ていること
必要なもの
Raspberry Pi 以外に必要となるものは以下となります
- SORACOM Air SIM
- 3G USB モデム Abit AK-020
SIM のサイズを変換する
Air SIMを取り外します。Air SIMの端子を触らないように気をつけます。
SIM変換アダプタは、真ん中の nano サイズ → 標準サイズ変換を使います。
SIM カードを切り欠きにあわせてアダプタにはめると、このような形となります。
SIM を モデムに入れて Raspberry Pi に接続する
以下の要領で、SIM カードをモデムに入れ、Raspberry Pi に接続します。
Raspberry Pi で接続設定を行う
Raspberry Pi に SSH でログインして、以下のコマンドを実行し、3G 接続設定を行います。
コマンド
curl -O https://soracom-files.s3.amazonaws.com/setup_air.sh
sudo bash setup_air.sh
実行結果
pi@raspberrypi:~ $ curl -O https://soracom-files.s3.amazonaws.com/setup_air.sh
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 4040 100 4040 0 0 17211 0 --:--:-- --:--:-- --:--:-- 17264
pi@raspberrypi:~ $ sudo bash setup_air.sh
--- 1. Check required packages
wvdial is not installed! installing wvdial...
:
:
ok.
--- 2. Generate config files
Adding network interface 'wwan0'.
Adding udev rules for modem detection.
ok.
--- 3. Connect
Found un-initilized modem. Trying to initialize it ...
Now you are all set.
Tips:
- When you plug your usb-modem, it will automatically connect.
- If you want to disconnect manually or connect again, you can use 'sudo ifdown wwan0' / 'sudo ifup wwan0' commands.
- Or you can just execute 'sudo wvdial'.
これで、自動的に 3G モデムが初期化され、Raspberry Pi が SORACOM 経由でインターネットに接続します。 また、再起動時やモデムを接続した際にも、自動的に接続されるようになっています。
接続確認する
接続が出来ている時は、ppp0インターフェースが存在しているはずなので、以下のコマンドで接続状況を確認出来ます。
コマンド
ifconfig ppp0
実行結果
pi@raspberrypi:~ $ ifconfig ppp0
ppp0 Link encap:Point-to-Point Protocol
inet addr:10.xxx.xxx.xxx P-t-P:10.64.64.64 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:133 errors:0 dropped:0 overruns:0 frame:0
TX packets:134 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:2092 (2.0 KiB) TX bytes:4039 (3.9 KiB)
"inet addr" の後ろに表示されているのが、デバイスに割り当てられた IP アドレスとなります。
次に、インターネットへの疎通が出来るかどうかを確認しましょう。
Google Public DNS (8.8.8.8) への到達性を ping コマンドで調べます。
また、ifconfig.io というサイトにアクセスして、インターネットへ接続する際の IP アドレスを調べます。
コマンド
ping 8.8.8.8
(Ctrl+C で止める)
curl ifconfig.io
host $(curl -s ifconfig.io)
実行結果
pi@raspberrypi:~ $ ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=55 time=343 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=55 time=342 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=55 time=361 ms
64 bytes from 8.8.8.8: icmp_seq=4 ttl=55 time=340 ms
^C
--- 8.8.8.8 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3002ms
rtt min/avg/max/mdev = 340.908/347.329/361.814/8.434 ms
pi@raspberrypi:~ $ curl ifconfig.io
xxx.xxx.xxx.xxx
pi@raspberrypi:~ $ host $(curl -s ifconfig.io)
xxx.xxx.xxx.xxx.in-addr.arpa domain name pointer xxx-xxx-xxx-xxx.soracom.io.
インターネットに接続する際の IP アドレスが SORACOM ドメインになっていることが確認できました。
まとめ
これで Raspberry Pi が SORACOM Air SIM を使ってインターネットへ接続出来たことを確認できました。
以上で、本章は完了となります。