3gimV2_sample2

3GIM(V2)をラズベリーパイで使用する

3GIM(V2)は、Arduinoだけではなく、ラズベリーパイ等のLinux搭載マイコンでも簡単に利用できます。
ここでは、ラズベリーパイで3GIM(V2)を3Gモデムとして利用するための手順をご紹介します。

3GIM(V2)を3Gモデムとして利用することで、3GIM(V2)をUART経由で利用する方法に比べて、下記の利点が得られます:

    • 高速な通信が可能となる
  デフォルトで460kbpsの通信速度(設定ファイルで変更可能)
    • Linux上の豊富なネットワーク系コマンドが利用できる
  ブラウザ等のインターネットアプリケーションや、いわゆるSocket APIが利用できるのでC/C++や
  Python/JavaScript等で簡単にインターネット通信が利用できる

●準備

ここでは、ラズベリーパイ 2B/B/B+ で使用する例をご説明します。A/A+でも同様に利用できます。ただし、A/A+ではUSBコネクタの口が一つしかないため、(少なくとも設定する時には)USBハブが別途必要になります。

    • ラズベリーパイ自身のセットアップ
様々なサイトで、マイクロSDカードのセットアップ方法が紹介されていますので、それらを参考にまずはマイクロSDカードに最新のRasbianをインストールしてください。分かりやすくセットアップ方法が紹介されているページをいくつかご紹介しておきます:


以下では、最新バージョンのRasbianを使った例で説明します。

    • 前提条件
ラズベリーパイにキーボード、マウス、ディスプレイ、電源が接続されており、正常にRasbianが動作していることを想定します。
また、標準でインストールされていないパッケージ(wvdial)のインストールを行いますので、設定を行う時にはWiFiまたはイーサネットケーブルによるインターネット接続が必要となります。

    • 3GIM(V2)利用のための準備
3GIM(V2)は、USBケーブルでラズベリーパイと接続します。3GIM(V2)は、USBで接続する場合でも外部電源からの電源供給(3.3~4.2Vの安定した電源)が別途必要です。

次に、以下のコマンドをターミナルで実行し、wvdialパッケージをインストールします。最初のsudoコマンドではパスワードを聞かれますので、ログインしているユーザのパスワード(デフォルトでは、piユーザのパスワードである"raspberry"を入力します)

pi@raspberrypi:~ $ sudo apt-get update
  ...
pi@raspberrypi:~ $ sudo apt-get install wvdial
  ...

正常にwvdialがインストールできたら、次に設定ファイルを修正します。
設定ファイルの内容は、お使いになるSIMカード(ご利用になる通信サービス)により一部が変更となります。ここでは、SORACOM AirのSIMカードを利用する例を説明します。
viエディタで設定ファイルを開いて、修正・追記を行って保存します。

pi@raspberrypi:~ $ sudo vi /etc/wvdial.conf

設定ファイルは、下記の内容の通りに修正・追記します:

[Dialer Defaults]
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Init3 = AT+CGDCONT=4,"IP","soracom.io"
Dial Attempts = 3
Modem Type = USB Modem
Dial Command = ATD
Stupid Mode = yes
Baud = 460800
New PPPD = yes
Modem = /dev/ttyACM3
ISDN = 0
Phone = *99***4#
Password = sora
Username = sora
Carrier Check = no
Auto DNS = 1
Check Def Route =1

SORACOM Air以外のSIMカードをお使いの場合には、上記に示す設定ファイルの中で赤文字の個所を適宜修正してください。
また、通信速度を変更したい場合には、青文字の個所を変更してください。なお、3GIM(V2)に搭載している3G通信コアモジュールHL8548-Gでは、9600,19200,38400,57600,230400,460800,500000,750000,921600,1843200,3250000,6000000 の通信速度をサポートしています。ただし、実際にすべての通信速度での正常に動作するかどうかは保証の限りではありません。

●3GIM(V2)を使ったインターネット接続(ダイヤルアップ接続)

設定ファイルの修正が終わったら、下記のコマンドを実行することでインターネットに接続することができます。

pi@raspberrypi:~ $ sudo wvdial

下記のような表示が出力されれば接続は正常に完了しています。

pi@raspberrypi:~ $ 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=2,"IP","soracom.io"
AT+CGDCONT=2,"IP","soracom.io"
OK
--> Modem initialized.
--> Sending: ATD*99***2#
--> Waiting for carrier.
ATD*99***2#
CONNECT
--> Carrier detected. Starting PPP immediately.
--> Starting pppd at Sat Mar 12 03:24:03 2016
--> Pid of pppd: 611
--> Using interface ppp0
--> pppd: °1î¶èjÕ[01]øjÕ[01]
--> pppd: °1î¶èjÕ[01]øjÕ[01]
--> pppd: °1î¶èjÕ[01]øjÕ[01]
--> pppd: °1î¶èjÕ[01]øjÕ[01]
--> local IP address 10.234.220.211
--> pppd: °1î¶èjÕ[01]øjÕ[01]
--> remote IP address 192.200.1.21
--> pppd: °1î¶èjÕ[01]øjÕ[01]
--> primary DNS address 100.127.0.53
--> pppd: °1î¶èjÕ[01]øjÕ[01]
--> secondary DNS address 100.127.1.53
--> pppd: °1î¶èjÕ[01]øjÕ[01]

上記の実行結果例では、3GIMにIPアドレスとして10.234.220.211(ローカルIP)が割り当てられており、
DNSサーバとして100.127.0.53および100.127.1.53が割り当てられたことが分かります。

●使用するシリアルデバイス
3GIM(V2)をUSBでラズパイに接続すると、通常は下記のデバイスが利用できるようになります(末尾の番号は接続しているほかのデバイスやOSのバージョンにより変化します):

 /dev/ttyACM0 /dev/ttyACM1 /dev/ttyACM2 /dev/ttyACM3 /dev/ttyACM4 /dev/ttyACM5 /dev/ttyACM6

上記の6つのデバイスのうち、/dev/ttyACM3をインターネット接続で利用します。
ATコマンドの実行やGPSの出力は、他のシリアルデバイス(例えば、/dev/ttyACM4)でやり取りすることができます。

●実際に試作等で利用される場合の留意点

実際に3GIM(V2)をラズパイで利用される場合には、下記のような対応が必要となります。

      • wvdialが異常終了したときにリトライ処理
  電波状態等の理由で3G接続が切断される場合があります。このような場合は、通常、wvdialが
  異常終了しますので、リトライ(wvdialの再実行)させる必要があります。

      • 通信以外の機能(GPSやSMS等)の利用
  3Gモデムとして利用している間は、wvdial.confで設定しているシリアルデバイス以外の
  シリアルデバイスを使うことで、通信以外の機能(GPSやSMS)を利用することができます。
  また、ラズベリーパイのUARTピンを3GIM(V2)のUARTピンと接続することで、$コマンドを使って
  3GIMを使用することもできます。ただし、デフォルトではラズパイのUARTはシリアルコンソール
  としてほかの用途で使用されていますので、「Raspberry Pi Configuration」コマンドを使って
  「Serial: Disable」に設定しておく必要があります。

  • 最終更新:2016-04-24 20:23:49

このWIKIを編集するにはパスワード入力が必要です

認証パスワード