Play with M5Stack

Play with M5Stack

- Record the pressure of Typhoon #19
- Fix the program to get the modem time

2cec9566cc4f761ac87433573c31f1a0?s=128

Satoru Ohguchi

October 15, 2019
Tweet

Transcript

  1. M5Stack で遊ぶ IoTLT vol56 @ SCSK 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. 週末の台⾵が凄かったですね.. 被害にあわれた⽅々に お⾒舞い申し上げます。

  4. tenki.jpより

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

  6. ちょっと前に私も作りました

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

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

  9. SORACOM 3Gモデム

  10. 測定中… 96258 Pa !?

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

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

  13. 実際に測定してみると驚きは ⼤きかったです。

  14. 課題

  15. できるだけ、ほぼ、正確に10分毎に データを送りたい (今は、delay コマンドで、約1分毎に送信 これだと課⾦が…) モデムから時刻をとれないのか?

  16. 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);
  17. モデムの at commands manual みると記載がある

  18. モデムと⾔えばATコマンドですよね (おっさん的発想) • 技術書典7でのSORACOMさんの出 展物。 • ATコマンドについての話が載って いたので買いました。 • 昔、OMRONのアナログ電話回線⽤

    モデムで、ATコマンド覚えました ね。懐かしい。
  19. ATコマンドをサポートしているか確認 • TinyGSM のサンプルコード AT_Debug を、M5Stack で動くよ うにシリアル定義とボーレートを定義して、書き込む。

  20. シリアルでモデムに直接繋いだので叩いてみる モデムの型式 SIMの電話番号 電波強度とエラー率 時刻とタイムゾーン

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

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

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

    今は、測定時の時刻を表 ⽰。後で、10分毎に送 信するように修正予定。
  24. ありがとうございました。