#include <M5Unified.h> #include <WiFi.h> #include <HTTPClient.h> // ステータスコードの定義もここにある const char* ssid = "ics-ap"; const char* password = "jikkenics"; // 天気予報API https://weather.tsukumijima.net/ から、千葉の天気を取得 const char* weatherapi_url = "https://weather.tsukumijima.net/api/forecast/city/120010"; void setup() { auto cfg = M5.config(); cfg.serial_baudrate = 115200; M5.begin(cfg); M5.Display.setRotation(3); //横向き M5.Display.setFont(&fonts::lgfxJapanGothic_16); M5.Display.println("webclient01 ボタンを押すと天気を取得"); M5.Display.setTextScroll(true); M5.Display.fillScreen(BLACK); M5.Display.setTextColor(WHITE,BLACK); WiFi.begin(ssid, password); // 接続開始 while (WiFi.status() != WL_CONNECTED) { // 接続中... M5.Display.print("."); M5.delay(500); } // 接続完了!! M5.Display.fillScreen(GREEN); M5.Display.setCursor(0, 30, 4);//x,y,fonttype M5.Display.setTextColor(BLACK, GREEN); M5.Display.print(" Wifi Connected!\n"); String gotip = WiFi.localIP().toString(); // m5デバイスのIPアドレス M5.Display.println(gotip); M5.Display.println("BtnA to get weather"); M5.delay(1500); } void loop() { M5.update(); if (M5.BtnA.wasReleased()) { HTTPClient http; // クライアント作成 http.begin(weatherapi_url); // HTTPでサーバに接続 int httpCode = http.GET(); // ステータスコードを取得 if (httpCode > 0) { Serial.println(httpCode); M5.Display.setTextColor(GREEN,BLACK); M5.Display.printf("status code = %d\n ", httpCode); if (httpCode == HTTP_CODE_OK) { // ステータスコードが「成功」(200) なら String payload = http.getString(); Serial.println(payload); } } http.end(); } M5.delay(20); }