質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

M5Stack

M5Stackは、小型のマイコンモジュールです。拡張モジュールが豊富に用意されており、センサと組み合わせることで測定機能を自由に追加することができます。

IDE

IDE、統合開発環境((Integrated Development Environment)とは、テキストエディタ以上の機能を提供して、ソフトウェア開発を効率をあげるコンピュータプログラムを指す。

JSON

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

Arduino

Arduinoは、AVRマイコン、単純なI/O(入出力)ポートを備えた基板、C言語を元としたArduinoのプログラム言語と、それを実装した統合開発環境から構成されたシステムです。

受付中

M5StackでHTTPClient.hをincludeしているのに使えない

kalon
kalon

総合スコア168

Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

M5Stack

M5Stackは、小型のマイコンモジュールです。拡張モジュールが豊富に用意されており、センサと組み合わせることで測定機能を自由に追加することができます。

IDE

IDE、統合開発環境((Integrated Development Environment)とは、テキストエディタ以上の機能を提供して、ソフトウェア開発を効率をあげるコンピュータプログラムを指す。

JSON

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

Arduino

Arduinoは、AVRマイコン、単純なI/O(入出力)ポートを備えた基板、C言語を元としたArduinoのプログラム言語と、それを実装した統合開発環境から構成されたシステムです。

2回答

0評価

0クリップ

2493閲覧

投稿2021/01/21 12:34

編集2022/01/12 10:55

前提・実現したいこと

OpenWeatherMapからJsonファイルを入手して、必要な情報だけ表示しようとしているのですが、
HTTPClient.hをincludeしているにもかかわらず、'HTTPClient' was not declared in this scopeというエラーが出てしまいます。

発生している問題・エラーメッセージ

> Executing task in folder M5stack: C:\Users\aki_f.platformio\penv\Scripts\pio.exe run < Processing m5stack-grey (platform: espressif32; board: m5stack-grey; framework: arduino) --------------------------------------------------------------------------------------------------------------------------------- Verbose mode can be enabled via `-v, --verbose` option CONFIGURATION: https://docs.platformio.org/page/boards/espressif32/m5stack-grey.html PLATFORM: Espressif 32 (2.1.0) > M5Stack GREY ESP32 HARDWARE: ESP32 240MHz, 520KB RAM, 16MB Flash DEBUG: Current (esp-prog) External (esp-prog, iot-bus-jtag, jlink, minimodule, olimex-arm-usb-ocd, olimex-arm-usb-ocd-h, olimex-arm-usb-tiny-h, olimex-jtag-tiny, tumpa) PACKAGES: - framework-arduinoespressif32 3.10004.201016 (1.0.4) - tool-esptoolpy 1.30000.201119 (3.0.0) - toolchain-xtensa32 2.50200.80 (5.2.0) LDF: Library Dependency Finder -> http://bit.ly/configure-pio-ldf LDF Modes: Finder ~ chain, Compatibility ~ soft Found 30 compatible libraries Scanning dependencies... Dependency Graph |-- <M5Stack> 0.3.1 | |-- <FS> 1.0 | |-- <SPIFFS> 1.0 | | |-- <FS> 1.0 | |-- <SPI> 1.0 | |-- <ArduinoHttpClient> 0.4.0 | |-- <Wire> 1.0.1 | |-- <SD(esp32)> 1.0.5 | | |-- <FS> 1.0 | | |-- <SPI> 1.0 |-- <ArduinoHttpClient> 0.4.0 |-- <ArduinoJson> 5.13.4 |-- <HttpClient> 2.2.0 |-- <WiFi> 1.0 Building in release mode Compiling .pio\build\m5stack-grey\src\main.cpp.o Compiling .pio\build\m5stack-grey\lib3fb\M5Stack\M5Display.cpp.o Compiling .pio\build\m5stack-grey\lib3fb\M5Stack\utility\In_eSPI.cpp.o Compiling .pio\build\m5stack-grey\lib3fb\M5Stack\utility\M5Timer.cpp.o Compiling .pio\build\m5stack-grey\lib3fb\M5Stack\utility\MPU6886.cpp.o Compiling .pio\build\m5stack-grey\lib3fb\M5Stack\utility\MPU9250.cpp.o Compiling .pio\build\m5stack-grey\lib3fb\M5Stack\utility\MahonyAHRS.cpp.o Compiling .pio\build\m5stack-grey\lib3fb\M5Stack\utility\Power.cpp.o src\main.cpp: In function 'void loop()': src\main.cpp:36:16: error: no matching function for call to 'HttpClient::HttpClient()' HttpClient http; ^ Exception in thread Thread-3: Traceback (most recent call last): File "C:\Users\aki_f.platformio\python3\lib\threading.py", line 926, in _bootstrap_inner self.run() File "C:\Users\aki_f.platformio\python3\lib\threading.py", line 870, in run self._target(*self._args, **self._kwargs) File "c:\users\aki_f.platformio\penv\lib\site-packages\platformio\proc.py", line 47, in run self.do_reading() File "c:\users\aki_f.platformio\penv\lib\site-packages\platformio\proc.py", line 70, in do_reading for byte in iter(lambda: self._pipe_reader.read(1), ""): File "c:\users\aki_f.platformio\penv\lib\site-packages\platformio\proc.py", line 70, in <lambda> for byte in iter(lambda: self._pipe_reader.read(1), ""): UnicodeDecodeError: 'cp932' codec can't decode byte 0x9a in position 921: illegal multibyte sequence ================================================== [FAILED] Took 13.53 seconds ==================================================

該当のソースコード

Arduino

#include <ArduinoJson.h> #include <M5stack.h> #include <ArduinoJson.h> #include <HTTPClient.h> #include <WiFi.h> const char* ssid = "ssid "; const char* password = "password "; const String endpoint = "http://api.openweathermap.org/data/2.5/weather?q=Ibaraki,jp&units=metric&APPID="; const String key = "key"; void setup() { M5Stack M5; M5.begin(); M5.Lcd.begin(); M5.Lcd.setBrightness(200); Serial.begin(115200); M5.Lcd.print("Start!"); delay(10000); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(1000); Serial.println("Connecting to WiFi.."); } Serial.println("Connected to the WiFi network"); M5.Lcd.print("Connected!"); } void loop() { if ((WiFi.status() == WL_CONNECTED)) { HttpClient http; http.begin(endpoint + key); //URLを指定 int httpCode = http.GET(); //GETリクエストを送信 if (httpCode > 0) { //返答がある場合 String payload = http.getString(); //返答(JSON形式)を取得 Serial.println(httpCode); Serial.println(payload); //jsonオブジェクトの作成 DynamicJsonBuffer jsonBuffer; String json = payload; JsonObject& weatherdata = jsonBuffer.parseObject(json); //パースが成功したかどうかを確認 if(!weatherdata.success()){ Serial.println("parseObject() failed"); } //各データを抜き出し const char* weather = weatherdata["weather"][0]["main"].as<char*>(); const double temp = weatherdata["main"]["temp"].as<double>(); Serial.print("weather:"); Serial.println(weather); Serial.print("temperature:"); Serial.println(temp-273.15); } else { Serial.println("Error on HTTP request"); } http.end(); //リソースを解放 } delay(30000); //30秒おきに更新 }

試したこと

こちらなどを参考にコードをいじってみましたが、変化はなく、エラーが起こるだけでした。

補足情報(FW/ツールのバージョンなど)

VScode1.52.1
Windows10
PlatformIO IDE2.2.1

Processing m5stack-grey (platform: espressif32; board: m5stack-grey; framework: arduino

現状のスクリーンショット

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

M5Stack

M5Stackは、小型のマイコンモジュールです。拡張モジュールが豊富に用意されており、センサと組み合わせることで測定機能を自由に追加することができます。

IDE

IDE、統合開発環境((Integrated Development Environment)とは、テキストエディタ以上の機能を提供して、ソフトウェア開発を効率をあげるコンピュータプログラムを指す。

JSON

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

Arduino

Arduinoは、AVRマイコン、単純なI/O(入出力)ポートを備えた基板、C言語を元としたArduinoのプログラム言語と、それを実装した統合開発環境から構成されたシステムです。