#include <M5StickCPlus.h>
#include <WiFi.h>
#include <HTTPClient.h> // ステータスコードの定義もここにある
const char* ssid = "miura2g";
const char* password = "jikken2022";
void setup() {
M5.begin(115200);
pinMode(10, OUTPUT);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) { // 接続中...
delay(150);
Serial.print(".");
}
Serial.println("Connected.");
delay(2000);
get_weather(); // シリアルモニタに天気予報を書き出す
}
int led=0;
void loop() {
M5.update(); // 各ボタンの状態を(読み取って)更新する:ボタンを判定するときは必須。
if (M5.BtnA.wasReleased()) {
get_weather(); // シリアルモニタに天気予報を書き出す
}
delay(150);
led++;
if (led%2==1){
digitalWrite(10, LOW ); // LED ON (LOW=0)
} else {
digitalWrite(10, HIGH ); // LED OFF (HIGH=1)
}
}
void get_weather(){
// 天気予報API https://weather.tsukumijima.net/ から、千葉の天気を取得
const char* weatherapi_url = "http://weather.tsukumijima.net/api/forecast/city/120010";
HTTPClient http; // クライアント作成
http.begin(weatherapi_url); // HTTPでサーバに接続
int httpCode = http.GET(); // ステータスコードを取得
if (httpCode > 0) {
Serial.println(httpCode);
if (httpCode == HTTP_CODE_OK) { // ステータスコードが「成功」(200) なら
String payload = http.getString();
Serial.println(payload);
}
}
http.end();
Serial.println("[A]ボタンを押すと、再度取得します。");
}