LoginSignup
3
1

More than 3 years have passed since last update.

グリーンハウスのUSBドングル型LTEルータ GH-UDG-MCLTE の接続状態をcurlで取得してみる

Last updated at Posted at 2020-06-20

COVID-19パンデミックの影響でPIX-MT100が品薄となったこともあり、代替として使えそうなGH-UDG-MCLTEを入手してみました。
PIX-MT100もGH-UDG-MCLTEも、USBドングル型ですがルータ機能を内蔵しており、PCやRaspberryPiなどにUSBで接続するとUSBイーサネットデバイスのように認識され、PCにはプライベートIPアドレスがDHCPで割り振られます。
このようなLTEモデムはRaspberryPiを使ったIoTプロジェクトには非常に便利で、EthernetやWiFi接続で動かしていたデバイスに、追加の設定一切なしで、これらのドングルを接続するだけでLTEバージョンが用意できます。

一方、ATモデムであればモデムやSIMの情報をATコマンドで取得できるところ、これらのルータ機能内蔵LTEドングルの場合、標準的なAPIは用意されていません。
ブロードバンドルータのようなWeb設定画面はあるので、少なくともそこに表示されている情報はスクレイピングで取得できるはずです。

さしあたってほしいのは、

  • IMEI: モデムに割り振られている一意な番号(絶対ほしい)
  • MSISDN: SIMの電話番号(絶対欲しい)
  • RSSI: ざっくり言うと電波の強さ

あたりです。
遠隔地に設置したIoTデバイスの台数が増えてくると、IoTデバイス運用中にこれらの情報を取れないと軽く死ねます。

Firefoxの「開発ツール」の「ネットワーク」のタブを見ながら管理画面のページを遷移していると、cgi-bin/qcmap_web_cgiというリソースにリクエストが飛んでいるようです。
これをcurlで叩けばほしい情報がとれそうです。

とりあえず、以下のAPIがあることはわかりました。

GetInfo
$ curl -s -d 'Page=GetInfo' -d 'Result=0' http://192.168.225.1/cgi-bin/qcmap_web_cgi | jq .
{
  "Page": "GetInfo",
  "model_name": "AU5700",
  "imei": "3520100xxxxxxxx",
  "software_version": "11-24",
  "my_number": "020xxxxxxxx",
  "Result": ""
}
GetHomeStatus
$ curl -s -d 'Page=GetHomeStatus' -d 'Result=0' http://192.168.225.1/cgi-bin/qcmap_web_cgi | jq .
{
  "Page": "GetHomeStatus",
  "curr_connect": "3",
  "connected_network": "DOCOMO",
  "autoconnect": "1",
  "profile_name": "CID1",
  "APN": "biglobe.jp",
  "Searching_mode": "0",
  "PIN": "3",
  "DHCP": "192.168.225.1",
  "DMZ": "0.0.0.0",
  "Model_name": "AU5700",
  "SW_Ver": "11-24",
  "MSISDN": "020xxxxxxxx",
  "Anthena": "3"
}

IMEIとMSISDNはGetInfoで取得できるようです。

続く...

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1