좀 더 쉽게 Raspberry Pi에서 SORACOM Air 사용 (FS01BU USB 모뎀 사용)

9075 단어 SORACOMIoT

개요



Raspberry Pi로 후지 소프트의 USB 모뎀 FS01BU를 사용해, SORACOM Air의 3G 통신을 할 수 있었습니다. USB의 빼고 꽂을 필요가 없고 간단한 순서로 접속할 수 있었으므로 소개합니다.
기본적으로 다음 페이지를 따랐습니다.
Raspberry Pi에서 SORACOM SIM 사용 (FS01BU)

입수



후지 소프트의 USB 모뎀 FS01BU는 현재 아마존에서 사용할 수 있습니다. SIM 카드 슬롯에는 표준 SIM 크기의 SORACOM Air가 들어갑니다.

  • 3G USB 동글 (FS01BU) 8,880엔(2015년 10월 현재)

  • SORACOM Air SIM 카드 (데이터 통신 전용) (표준) 888엔(2015년 10월 현재)

  • 절차



    먼저 FS01BU를 Raspberry Pi에 연결합니다.

    FS01BU 본체의 LED가 녹색으로 점멸하고 있으면 대기중이 되어 준비 OK입니다. 작업을 계속합시다.lsusb 명령으로 인식되는 USB 장치를 확인합니다.
    $ lsusb
    Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp. 
    Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. 
    Bus 001 Device 006: ID 1c9e:6801 OMEGA TECHNOLOGY 
    

    FS01BU는 OMEGA TECHNOLOGY 사제입니다. Vender ID가 1c9e이고 Product ID가 6801임을 알 수 있습니다.
    제품 ID가 6801이 아닌 98ff이면 장치가 잘 인식되지 않습니다.

    ID 1c9e:98ff의 경우 잘 가지 않는 것 같다



    lsusb 명령 표시 결과
    Bus 001 Device 006: ID 1c9e:6801 OMEGA TECHNOLOGY ←正しい
    Bus 001 Device 004: ID 1c9e:98ff OMEGA TECHNOLOGY ←うまくいかない
    

    제품 ID가 98ff이면 아무것도 인식하지 못했습니다. 조금 꼬집고 있었으므로 올바른 해결책인지 확실하지 않습니다만 ^^; sudo apt-get upgrade 를 실시하는 것으로 Product ID가 6801로 바뀌었습니다. 누군가 코멘트 주시면 도움이됩니다.

    modprobe로 바삭 바삭한 장치 인식



    그런 다음 다음 명령으로 tty 장치로 인식합니다.
    $ sudo modprobe usbserial vendor=0x1c9e product=0x6801
    

    /dev/에 ttyUSB? 장치가 표시되면 사용 가능하게 됩니다.
    $ ls -l /dev/ttyU*
    crw-rw---T 1 root dialout 188, 0 10月  4 00:54 /dev/ttyUSB0
    crw-rw---T 1 root dialout 188, 1 10月  4 00:54 /dev/ttyUSB1
    crw-rw---T 1 root dialout 188, 2 10月  4 00:54 /dev/ttyUSB2
    

    쉽게 다이얼


    wvdial 명령을 사용하여 쉽게 다이얼할 수 있습니다. 먼저 wvdial를 설치하십시오.
    $ sudo apt-get install wvdial
    
    /etc/wvdial.conf 파일에 다음 연결 설정을 넣으십시오.
    SORACOM의 APN, 사용자 이름, 비밀번호를 넣은 연결 설정입니다.
    $ sudo vi /etc/wvdial.conf
    

    /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
    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
    

    저장이 완료되면 sudo에서 wvdial을 실행하여 연결합니다.
    $ sudo wvdial
    --> WvDial: Internet dialer version 1.61
    --> Cannot get information for serial port.
    --> 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 14400000
    --> Carrier detected.  Starting PPP immediately.
    --> Starting pppd at Sun Oct  4 01:15:49 2015
    --> Pid of pppd: 3019
    --> Using interface ppp0
    --> pppd: [18]F?
    --> pppd: [18]F?
    --> pppd: [18]F?
    --> pppd: [18]F?
    --> pppd: [18]F?
    --> pppd: [18]F?
    --> local  IP address 10.214.154.107
    --> pppd: [18]F?
    --> remote IP address 10.64.64.64
    --> pppd: [18]F?
    --> primary   DNS address 169.254.0.53
    --> pppd: [18]F?
    

    자신의 IP 주소나 주 DNS의 IP 주소가 표시되면 정상적으로 연결되어 있습니다.
    FS01BU 본체의 LED가 녹색으로 점등된 채로 있어 통신중의 상태를 나타냅니다.Ctrl+C로 종료 가능합니다 (LED가 녹색으로 깜박임으로 돌아갑니다).

    연결 확인



    다른 콘솔 (Alt+F2 라든지 LAN 연결되어 있으면 다른 SSH 액세스 등)에서 pi 사용자로 로그인하고 ifconfig 명령으로 확인합니다.
    $ ifconfig ppp0
    ppp0      Link encap:Point-to-Pointプロトコル  
              inetアドレス:10.214.154.107 P-t-P:10.64.64.64  マスク:255.255.255.255
              UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  メトリック:1
              RXパケット:8 エラー:0 損失:0 オーバラン:0 フレーム:0
              TXパケット:9 エラー:0 損失:0 オーバラン:0 キャリア:0
          衝突(Collisions):0 TXキュー長:3 
              RXバイト:152 (152.0 B)  TXバイト:209 (209.0 B)
    

    그리고 curl이나 ping 등을 치면 좋을 것입니다. 이름 확인도 확인할 수 있습니다.
    $ curl http://www.yahoo.co.jp
    
    $ ping www.yahoo.co.jp
    

    s1.minimum(32Kbps)에서도 s1.fast(2Mbps)에서도 ping의 속도는 그다지 변하지 않는 것 같다.

    마지막으로



    이제 wvdial 명령을 한 번에 연결할 수 있지만 로그아웃하면 종료되고 다시 시작하면 다시 입력해야 합니다. 전자는 nohup 명령으로 실행하고, 후자는 스크립트를 작성해 systemd에 짜넣으면(자) 우선은 해결할 수 있을 것입니다.
    그리고, 자동 기동이나 자동 재접속을 할 수 있는 테크닉을 가지고 계신 분은 꼭 Qiita에 투고 부탁드립니다!

    메카 트랙스의 3GPI라는 선택도



    세세한 설정 등이 힘들다고 생각하는 분은 메카트럭스사의 3GPI를 추천합니다.Network Manager를 사용하여 한 번 설정하면 자동 시작할 수 있도록 만들어졌습니다. 신뢰성이 높고 엔터프라이즈 용도에 추천합니다.

  • 3GPI(Raspberry Pi용 3G 통신 모듈) 29,800엔(부가세 포함 2015년 10월 현재)

  • 3GPI의 접속 설정에 대해서는, 이하의 사이트에서 소개했습니다. 신경이 쓰이는 분은 봐 주세요.
    Raspberry Pi로 SORACOM Air를 연결해 보았습니다! ~메카 트럭스 3GPI편~ 「커맨드 1발로 접속 OK!」

    그럼! SORACOM Air에서 IoT를 즐기십시오

    좋은 웹페이지 즐겨찾기