M5Stackを買ったぞ pic.twitter.com/Y04y3Xm76B
— 太鼓@技術書典5く07だった (@taiko19xx) 2018年10月25日
M5Stackを買いました。
何者かというとマイコンモジュールなのですが、Wi-FiとかBluetoothに加えて、ディスプレイもボタンも電源も付いているオールインワンなやつです。
開封の様子は世の中にゴロゴロあるので、とりあえずAE-GYSFDMAXBを繋げて受信できるか試してみます。
何も考えずに、R0/T0/G/5Vにそれぞれ対応するピンを繋ぎます。
書き込むプログラムは下記のサイトを参考にしました。(というかほぼ同じ)
こちらでは純正のGPSモジュールを使っていますが、通信部分はUARTなので同じです。
#include <M5Stack.h> #include <TinyGPS++.h> HardwareSerial GPSDevice(0); TinyGPSPlus gps; void setup() { M5.begin(); GPSDevice.begin(9600); M5.Lcd.setTextSize(3); M5.Lcd.printf("Setup Done\r\n"); } void loop() { while (!gps.location.isUpdated()) { while (GPSDevice.available() > 0) { if (gps.encode(GPSDevice.read())) { break; } } } M5.Lcd.setCursor(0, 0); M5.Lcd.printf("lat: %f\r\nlng: %f", gps.location.lat(), gps.location.lng()); }
普通にArduino IDEやPlatform.IOで開発できます。
書き込んで電源を入れてしばらく待つと、無事受信できるようになりました。
ただ、本体の電源が入ってなくても通電してたり、その状態だと妙な音が鳴っている(気がする)点が何となく気になりました。
とはいえ単体でここまでできるのは大変いい感じなので、GPSロガーもいよいよ次のステージへ進みそうな気がします。
が、C/C++が久しぶりなのでいつになる事やら...。