Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Use the M5Stack with 3G Modem

Use the M5Stack with 3G Modem

for SORACOM UG Explorer 2019 LT

2cec9566cc4f761ac87433573c31f1a0?s=128

Satoru Ohguchi

November 23, 2019
Tweet

More Decks by Satoru Ohguchi

Other Decks in Technology

Transcript

  1. M5Stack むけ3Gモデムで 遊ぶ SORACOM UG Explorer 2019 Satoru Ohguchi

  2. ⾃⼰紹介 • 名前 • ⼤⼝ 聡(おおぐち さとる) • 仕事 •

    SIer勤務 ‒ 現職は、SAPテクニカルコンサルタント(Basis) 、過去は、電⼦回路設 計者、制御SE、ネットワークエンジニア、社内SEを経験 Twitter:@o_chcchi Facebook: https://www.facebook.com/ohguchi.satoru Blog: http://blog.maripara.org/ ୈ߸ • 主な保有資格 • SAP Certified Technology Associate System Administration • AWS Solution Architect Associate • 情報処理技術者(SC/SA/ST/AUほか) • 電⼦機器組⽴て技能⼠ 2級 • ほか • コミュニティ活動 • Swift愛好会運営 • JAWS-UG IoT 専⾨⽀部運営 • try!Swift Organizer • 趣味 • コンピューター、⾳楽…等々
  3. SORAZiNE の 10⽉号で取り上げていただいた記事の話を します。

  4. 台⾵19号覚えてますか?

  5. None
  6. この台⾵、凄かったですね.. 被害にあわれた⽅々に お⾒舞い申し上げます。

  7. みなさん、そうかもしれませんが、 計画運休だったりしたので、 すべての予定がキャンセル…

  8. 暇なので、ネットを⾒るわけです

  9. Twitterを⾒ていると #台⾵コロッケ

  10. リアル「天気の⼦」 陽菜(ひな)に祈ってもらう必 要あり? 観客動員1000万⼈突破、舞台挨拶(13⽇@新宿)は台⾵には、勝てなかったね… ©2019『天気の⼦』製作委員会 ©2019『天気の⼦』製作委員会

  11. でも、やっぱり、おっさんなので…

  12. 機動警察パトレイバー(1st劇場版) ⼤型台⾵19号 気圧950ミリバール ⾵速40mメートルの暴⾵⾬ 祝 30周年 !! 台⾵来たら、毎回思い出すと思う⽅は、是⾮声かけて下さい(笑) ©HEADGEAR ©HEADGEAR

  13. 気圧測る絶好の機会? そう思ったのは私だけではないはず…

  14. Twitter を⾒ていたら同じ事している⼈たくさん (不謹慎なのは私だけではなかった…)

  15. 私も作りました

  16. オムロン絶対圧センサー+M5Stack+3G Modem

  17. オムロン製 絶対圧センサー 絶対圧センサー ※ 絶対真空をゼロ基準にして表した圧⼒を検知する センサー Grove コネクター付き

  18. SORACOM 3Gモデム

  19. 電話でも測定結果を聞けます 403"$0. 'VOOFM 403"$0. )BSWFTU "84*P5$PSF %ZOBNP%# -BNCEB "NB[PO$POOFDU SORACOM

    ボタン押すと、電話かかってくるようにもなってます…意味ないw
  20. 測定中… 96258 Pa !?

  21. パスカルの単位の読み⽅ Wikipediaより

  22. グラフみてみるとさらに驚かされる 10/12 21:20頃 96122 [Pa] SORACOM Hervest このカーブが すごい

  23. 実際に測定してみると驚きは ⼤きかったです。 ネタかぶりでも、実際やってみると ⾯⽩いです。

  24. 課題

  25. 測定していたら、SORACOMさんからメール

  26. 確かに、課⾦を考えると怖い 測定データは、AWSにも蓄積しているし

  27. 現状、delay コマンドで、約1分毎に送信 していることが原因 時刻をとって⼀定間隔の送信にする改造 すればいいのか?

  28. SORACOM 3Gモデムから時刻取得の検討 • 3Gモデムを利⽤するために、tinygsm のライブラリを使⽤している が、サンプルコードを⾒ていると、時刻取得のメソッドは、モデム が、SIMxxx series でしかサポートしないとコメントがある。 •

    3Gモデムは、 u-blox社のモデムなので、その機種のコードを⾒てい るとメソッド定義がない。 • でも、3Gモデムなら時刻は持っているはず。(デジタルの携帯網はそ の仕様上、時刻情報を持っている) // This is only supported on SIMxxx series // String gsmLoc = modem.getGsmLocation(); // DBG("GSM location:", gsmLoc); // This is only supported on SIMxxx series // String gsmTime = modem.getGSMDateTime(DATE_TIME); // DBG("GSM Time:", gsmTime); // String gsmDate = modem.getGSMDateTime(DATE_DATE); // DBG("GSM Date:", gsmDate);
  29. モデムの at commands manual みると記載がある

  30. モデムと⾔えばATコマンドですよね (おっさん的発想) • 技術書典7でのSORACOMさんの出展 物。 • ATコマンドについての話が載ってい たので買いました。 • 先ほどのマニュアルと、この本を⾒な

    がら解析してみました • 昔、OMRONのアナログ電話回線⽤モ デムで、ATコマンド覚えましたね。 懐かしい。
  31. ATコマンドをサポートしているか確認 • TinyGSM のサンプルコード AT_Debug を、M5Stack で動くよ うにシリアル定義とボーレートを定義して、書き込む。

  32. シリアルでモデムに直接繋いだので叩いてみる モデムの型式 SIMの電話番号 電波強度とエラー率 時刻とタイムゾーン +36 は、15分単位での差異 を⽰しているため

  33. 020の電話番号割り当て 出典: http://www.soumu.go.jp/menu_news/s-news/01kiban06_02000056.html

  34. tinygsm のライブラリを改修 • SIM800のモデム⽤に書かれ たコードを利⽤して、時刻 のフォーマットにあわせて u-bloxのモデムを使うライブ ラリに移植。

  35. 結果 • 時刻をモデムから拾える ようになりました。 • 具体的には、起動時に時 刻をモデムから拾って、 内部の時計を校正するよ うにプログラムを修正し ました。

    • 送信間隔は、ループの中 で時刻を⾒ながら送信す るように変更。
  36. ありがとうございました。     

  37. ちなみに

  38. • このネタ、台⾵明けの IoTLT #56@SCSK で話したら、杉⽥ さん@issaxとまさかのかぶり ネタという…。 • やっぱり考えることは、みん な同じなんだなと。

    • 値のトレースもできましたね!
  39. • この記事、書いたそうなので、 是⾮読んでみて下さい。 (OMRONセンサーのラズパイ⽤ のボードタイプの話です) 杉⽥さんも 協⼒して

  40. ありがとうございました。