M5StackシリーズのAtomic GPSで現在位置をAmbentに表示する
M5StackシリーズのAtomic GPSで現在位置をAmbentに表示する
元ネタ
必要なライブラリ
M5Stackの開発環境は公式を見てインストールしてください。
・TinyGPS++
http://arduiniana.org/libraries/tinygpsplus/
ソース
M5Atomic_GPS
#include "M5Atom.h"
#include <TinyGPS++.h>
#include "Ambient.h"
unsigned long seconds = 1000L; // !!! SEE THE CAPITAL "L" USED!!!
unsigned long minutes = seconds * 60;
unsigned long hours = minutes * 60;
unsigned long ambient_refresh_rate = 1 * minutes;
// Ambient Settings
unsigned int channelId = 100;
const char* writeKey = "ライトキー";
// WiFi Settings
const char* ssid = "...ssid...";
const char* password = "...password...";
TinyGPSPlus gps;
WiFiClient client;
Ambient ambient;
void setup()
{
M5.begin(true,false,true);
Serial1.begin(9600,SERIAL_8N1,22,-1);
Serial.begin(115200);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(100);
Serial.println(WiFi.localIP());
}
void sendInfo2Ambient();
ambient.begin(channelId, writeKey, &client);
}
void loop()
{
while (Serial1.available() > 0) {
if (gps.encode(Serial1.read())) {
if (gps.location.isValid()) {
ambient.clear(1);
ambient.clear(2);
ambient.clear(9);
ambient.clear(10);
char buf[16];
char buffer_lat[16];
char buffer_lng[16];
dtostrf(gps.location.lat(),10,8,buffer_lat);
ambient.set(9,buffer_lat);
Serial.print(buffer_lat);
Serial.print(":");
dtostrf(gps.location.lng(),10,8,buffer_lng);
ambient.set(10,buffer_lng);
Serial.print(buffer_lng);
Serial.print(":");
Serial.print(gps.altitude.meters());
Serial.print(":");
Serial.println(gps.hdop.hdop());
ambient.set(1,gps.altitude.meters());
ambient.set(2,gps.hdop.hdop());
}
}
}
sendInfo2Ambient();
Serial.println("refresh!");
delay(ambient_refresh_rate);
Serial.println("Reload");
}
void sendInfo2Ambient()
{
if (gps.location.isValid()) {
ambient.send();
}
}
Author And Source
この問題について(M5StackシリーズのAtomic GPSで現在位置をAmbentに表示する), 我々は、より多くの情報をここで見つけました https://qiita.com/yasunori_oi/items/b0dd17931972c993417b著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .