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

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

新規登録して質問してみよう
ただいま回答率
86.12%
M5Stack

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

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Arduino

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

受付中

M5StackのhttpclientでjsonのGET先URLの一部にNTPで取得したタイムスタンプを含めたい

flds
flds

総合スコア1

M5Stack

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

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Arduino

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

1回答

0リアクション

0クリップ

242閲覧

投稿2022/09/02 10:14

前提

お世話になります。
M5STack(core2&Gray)にてhttpclientライブラリを使用して、接続先サーバーに置かれているjsonデータを
取得しようとしています。
しかし、そのURLの一部には「yyyymmddhhmmss」形式のタイムスタンプが含まれており毎秒更新されています。

そこで、NTPに接続してJSTを取得し、このURL部分のタイムスタンプに代入して接続したいのですが、
一年ぶりくらいにデバイスを触っているので忘れていることが多く、インスタンスと引数が合わないと
エラーが出ます。

キャストしてみたりいろいろ触りましたがうまくいきません。
有識者様からのご回答をお待ちしております。

実現したいこと

URLの一部にタイムスタンプが含まれている接続先にNTPサーバーから拾った時刻をURLに代入して
アクセスし、JSONファイルをGETしたい。

試したこと

1:まずNTPサーバーで取得した時刻をString型に無理やり変換してみました

const String endpoint = "http://www.OOOOOO.com/webservice/OOO/OOO/"; const String json = ".json"; String yyyy = (String(timeinfo.tm_year+1900)); String MM = (String(timeinfo.tm_mon)); String DD = (String(timeinfo.tm_mday)); String hh = (String(timeinfo.tm_hour)); String mm = (String(timeinfo.tm_min)); String ss = (String(timeinfo.tm_sec)); http.begin(endpoint + yyyy + MM + DD + hh + mm +ss + json);

2:①はダメだったので次に調べながら以下のように構文しました

const String endpoint = "http://www.OOOOOO.com/webservice/OOO/OOO/"; const String json = ".json"; http.begin(endpoint + timeinfo.tm_year+1900 + timeinfo.tm_mon + timeinfo.tm_mday + timeinfo.tm_hour + timeinfo.tm_min + timeinfo.tm_sec + json);

上記いずれもビルドは成功しますが実行すると再起動ループするかデートがおかしくなります。
初歩的な質問で恐縮ではございますがなにとぞよろしくお願い申し上げます。

以下のような質問にはリアクションをつけましょう

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

リアクションが多い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

y_waiwai

2022/09/02 11:18

どういうURLになるといいというはなしでしょうか
dodox86

2022/09/02 12:39

> 再起動ループする これは本質的には別の問題でしょう。あと、なんとなくそれっぽいコードを書くのではなくリファレンスを見て確認しましょう。でないといずれまた同じようなレベルの問題に当たります。
flds

2022/09/02 13:34

引用ができないので体裁の悪い返事となります。ご容赦ください >y_waiwai様 http://www.oooooo.com/webservice/OOO/OOO/yyyymmddhhmmss.json です。 このタイムスタンプは1秒ごとにデータ更新され異なる内容のjsonが吐き出される仕様です。 >dodox86様 なるほど。 ターミナル等で切り分けながら進めてみます! ご返信お待ちしております

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

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

アカウントをお持ちの方は

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

ただいまの回答率
86.12%

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

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

質問する

関連した質問

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

M5Stack

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

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Arduino

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