- Record the pressure of Typhoon #19 - Fix the program to get the modem time
M5Stack で遊ぶIoTLT vol56 @ SCSKSatoru Ohguchi
View Slide
⾃⼰紹介• 名前• ⼤⼝ 聡(おおぐち さとる)• 仕事• SIer勤務 ‒ 現職は、SAPテクニカルコンサルタント(Basis) 、過去は、電⼦回路設計者、制御SE、ネットワークエンジニア、社内SEを経験Twitter:@o_chcchiFacebook:https://www.facebook.com/ohguchi.satoruBlog: http://blog.maripara.org/ୈ߸• 主な保有資格• SAP Certified Technology AssociateSystem Administration• AWS Solution Architect Associate• 情報処理技術者(SC/SA/ST/AUほか)• 電⼦機器組⽴て技能⼠ 2級• ほか• コミュニティ活動• Swift愛好会運営• JAWS-UG IoT 専⾨⽀部運営• try!Swift Organizer• 趣味• コンピューター、⾳楽…等々
週末の台⾵が凄かったですね..被害にあわれた⽅々にお⾒舞い申し上げます。
tenki.jpより
気圧測る絶好の機会?そう思ったのは私だけではないはず…
ちょっと前に私も作りました
オムロン絶対圧センサー+M5Stack+3G Modem
オムロン製 絶対圧センサー絶対圧センサー※ 絶対真空をゼロ基準にして表した圧⼒を検知するセンサーGrove コネクター付き
SORACOM 3Gモデム
測定中…96258 Pa !?
パスカルの単位の読み⽅Wikipediaより
グラフみてみるとさらに驚かされる10/12 21:20頃96122 [Pa]SORACOM Hervestこのカーブがすごい
実際に測定してみると驚きは⼤きかったです。
課題
できるだけ、ほぼ、正確に10分毎にデータを送りたい(今は、delay コマンドで、約1分毎に送信これだと課⾦が…)モデムから時刻をとれないのか?
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);
モデムの at commands manual みると記載がある
モデムと⾔えばATコマンドですよね(おっさん的発想)• 技術書典7でのSORACOMさんの出展物。• ATコマンドについての話が載っていたので買いました。• 昔、OMRONのアナログ電話回線⽤モデムで、ATコマンド覚えましたね。懐かしい。
ATコマンドをサポートしているか確認• TinyGSM のサンプルコード AT_Debug を、M5Stack で動くようにシリアル定義とボーレートを定義して、書き込む。
シリアルでモデムに直接繋いだので叩いてみるモデムの型式SIMの電話番号電波強度とエラー率時刻とタイムゾーン
020の電話番号割り当て出典: http://www.soumu.go.jp/menu_news/s-news/01kiban06_02000056.html
tinygsm のライブラリを改修• SIM800のモデム⽤に書かれたコードを利⽤して、時刻のフォーマットにあわせてu-bloxのモデムを使うライブラリに移植。
結果• 時刻をモデムから拾えるようになりました。• 起動時に時刻をモデムから拾って、内部の時計を校正するようにプログラムを修正。• 今は、測定時の時刻を表⽰。後で、10分毎に送信するように修正予定。
ありがとうございました。