SORACOM の SIM で Raspberry PI をインターネットにつなげるぜ

 ついでにまずmacOSからシリアル通信でRaspberry PIを操作してみます。

 これができないと「SORACOM SIM以外のちからでインターネットに出ちゃってないか調べるのが難しい」から!ほかにもRaspberry PIのIPがわからなくて手間なんだよなーってのも解決できます。

 使ってるmacOSは10.13なので、それで使えるヤツをまず買います。

 ドライバーが必要なので以下のページにってダウンロード&インストールします。新しいmacOSだと環境設定で許可してあげないとインストールできませんが、表示されるとおりに許可していけば問題ありません。

 これでmac側の準備はできました。次はRaspberry PIを設定します。しょうがないのでディスプレイをつなげるかsshでログインして

pi@raspberrypi:~$ sudo raspi-config

  し、以下のスクショのように設定します。TABで下段・上段を移動、カーソルで上下移動、ENTERで決定していき、SerialをEnableにすればOKです。

 ここまでできたら、GPIOに配線します。手前にUSBポートを向けて、右奥から2ピンあけて写真のように(空)・(空)・黒・白・緑の順序で赤は接続しなくてOK。

 配線を終えたら macOS の cu コマンドでつなげてみます。

$ sudo cu -s 115200 -l /dev/tty.usbserial

 これでディスプレイがなくても&SSHができなくてもRaspberry PIを操作できるようになりました。

 いったんインターネットに出られなくなることを確認してみます。ネットワークカードを止めるのは ip l set <if> downコマンドで、指定するのは ip a コマンドで確認できます。私の場合はwlan0だったのでインタネットにつながってるか確認し、止めて、つながってないことを確認し、復帰させて、インタネットにつながっているか確認してみます。

つながってる

pi@raspberrypi:~$ curl google.com
<HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8">
<TITLE>301 Moved</TITLE></HEAD><BODY>
<H1>301 Moved</H1>
The document has moved
<A HREF="http://www.google.com/">here</A>.
</BODY></HTML>

とめて、つながってないことを確認

pi@raspberrypi:~$ sudo ip l set wlan0 down
pi@raspberrypi:~$ curl google.com
curl: (6) Could not resolve host: google.com

復帰させてつながることを確認(復帰に時間がかかっていることがわかる)

pi@raspberrypi:~$ sudo ip l set wlan0 up
pi@raspberrypi:~$ curl google.com
curl: (6) Could not resolve host: google.com
pi@raspberrypi:~$ curl google.com
curl: (6) Could not resolve host: google.com
pi@raspberrypi:~$ curl google.com
<HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8">
<TITLE>301 Moved</TITLE></HEAD><BODY>
<H1>301 Moved</H1>
The document has moved
<A HREF="http://www.google.com/">here</A>.
</BODY></HTML>

 さて、今回は無線LAN以外でインターネットにつなげる実験のために止めておきます。最後に sudo ip l set wlan0 down

 今回は SORACOM の SIM と docomo L-03D を組み合わせてみます。SIMのサイズがあわないので変換アダプタも買いました。

 SIMを挿し、USBポートにつなげ、 上記ページを参考にdmesg コマンドでハードウェア接続情報を確認してみます。

[ 2958.052213] usb 1-1.2: new high-speed USB device number 4 using dwc_otg
[ 2958.184799] usb 1-1.2: New USB device found, idVendor=1004, idProduct=6327
[ 2958.184812] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=4
[ 2958.184820] usb 1-1.2: Product: docomo L03D
[ 2958.184828] usb 1-1.2: Manufacturer: NTT DOCOMO, INC.
[ 2958.184836] usb 1-1.2: SerialNumber: LGELTE10046327
[ 2958.187877] usb-storage 1-1.2:1.0: USB Mass Storage device detected
[ 2958.189376] scsi host0: usb-storage 1-1.2:1.0
[ 2959.213777] scsi 0:0:0:0: CD-ROM            LG       Autorun          2.00 PQ: 0 ANSI: 0
[ 2959.232917] sr 0:0:0:0: [sr0] scsi-1 drive
[ 2959.232930] cdrom: Uniform CD-ROM driver Revision: 3.20
[ 2959.233903] sr 0:0:0:0: Attached scsi CD-ROM sr0
[ 2959.239129] sr 0:0:0:0: Attached scsi generic sg0 type 5

 バッチリです。lsusbで確認してみます。LGのこれですね。

pi@raspberrypi:~$ lsusb
Bus 001 Device 004: ID 1004:6327 LG Electronics, Inc.
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

 さて、ダイアルアップのミドルウェアをインストールしようと考えてたら wlan0 を無効にしたんでした・・・いったんupしてインストールします。

pi@raspberrypi:~$ sudo ip l set wlan0 up
pi@raspberrypi:~$ sudo apt-get install wvdial eject usb-modeswitch

  これでミドルウェアはそろったので、↑のページを参考(コピペ)に、起動時に接続するスクリプトを /etc/init.d/soracom を作成し sudo chmod +x /etc/init.d/soracom し、sudo /etc/init.d/soracom します。

 L-03DののブルーLEDが点灯し、ip a で ppp0 というのが表示されていればOKでしょう!curlでインターネットにつながってることも確認できました。

pi@raspberrypi:~$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
   link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
   inet 127.0.0.1/8 scope host lo
      valid_lft forever preferred_lft forever
   inet6 ::1/128 scope host
      valid_lft forever preferred_lft forever
2: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
   link/ether b8:27:eb:82:cd:ee brd ff:ff:ff:ff:ff:ff
   inet6 fe80::e6a0:5cd1:27fa:4e5f/64 scope link tentative
      valid_lft forever preferred_lft forever
3: wlan0: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
   link/ether b8:27:eb:d7:98:bb brd ff:ff:ff:ff:ff:ff
5: ppp0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 3
   link/ppp
   inet 10.165.27.127 peer 10.64.64.64/32 scope global ppp0
      valid_lft forever preferred_lft forever
pi@raspberrypi:~$ curl google.com
<HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8">
<TITLE>301 Moved</TITLE></HEAD><BODY>
<H1>301 Moved</H1>
The document has moved
<A HREF="http://www.google.com/">here</A>.
</BODY></HTML>

 SORACOMのコンソールもオンラインになっています!



この記事が気に入ったら、サポートをしてみませんか?気軽にクリエイターを支援できます。

9

#エンジニア 系記事まとめ

noteに投稿されたエンジニア系の記事のまとめ。コーディングTIPSよりは、考察や意見などを中心に。
1つのマガジンに含まれています
コメントを投稿するには、 ログイン または 会員登録 をする必要があります。