0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

WioLTE: SORACOM Harvest にデータを送る

Last updated at Posted at 2021-07-23

Wio LTE for Arduino で SORACOM Harvest にデータを送るサンプルです。
ダミーの温度と湿度を送っています。

プログラム

soracom_harvest_test/soracom_harvest_test.ino
// ---------------------------------------------------------------
/*
	soracom_harvest_test.ino

					Aug/26/2024
*/
// ---------------------------------------------------------------
#define	PROGRAM	"soracom_harvest_test.ino"
#define	VERSION	"2024-8-26 PM 13:49"

#include <WioLTEforArduino.h>
#include <stdio.h>

#define INTERVAL				(6000)
#define RECEIVE_TIMEOUT (15000)

WioLTE Wio;


float tt_aa[] = {20.1, 22.3, 24.8, 25.6, 26.7, 26.1, 25.3, 24.8, 22.6, 21.7};
float hh_aa[] = {50.1, 62.3, 64.8, 75.6, 76.7, 74.1, 72.3, 64.8, 60.6, 56.7};

int icount = 0;

// ---------------------------------------------------------------
void setup() {
	delay(200);

	SerialUSB.println("");
	SerialUSB.println("*** START ***");

	setupLTE();

	SerialUSB.println(PROGRAM);
	SerialUSB.println(VERSION);
	SerialUSB.println("### Setup completed. ***");

}

// ---------------------------------------------------------------
void loop() {
	char data[100];

	float temp;
	float humi;

	int index = icount % 10;
	temp=tt_aa[index];
	humi = hh_aa[index];

	SerialUSB.println("icount = " + String(icount));

	SerialUSB.print("Current humidity = ");
	SerialUSB.print(humi);
	SerialUSB.print("%	");
	SerialUSB.print("temperature = ");
	SerialUSB.print(temp);
	SerialUSB.println("C");
	SerialUSB.println(String(millis()/ 1000));

sprintf(data,"{\"temp\":%.1f,\"humi\":%.1f}", temp, humi);

	SerialUSB.println("### Open.");
	int connectId;
	connectId = Wio.SocketOpen("harvest.soracom.io", 8514, WIOLTE_UDP);
	if (connectId < 0) {
		SerialUSB.println("### ERROR! SocketOpen ###");
		goto err;
	}

	SerialUSB.println("### Send.");
	SerialUSB.print("Send:");
	SerialUSB.print(data);
	SerialUSB.println("");
	if (!Wio.SocketSend(connectId, data)) {
		SerialUSB.println("### ERROR! SocketSend ###");
		goto err_close;
	}

	SerialUSB.println("### Receive.");
	int length;
	length = Wio.SocketReceive(connectId, data, sizeof (data), RECEIVE_TIMEOUT);
	if (length < 0) {
		SerialUSB.println("### ERROR! SocketReceive ###");
		goto err_close;
	}
	if (length == 0) {
		SerialUSB.println("### RECEIVE TIMEOUT! ###");
		goto err_close;
	}
	SerialUSB.print("Receive:");
	SerialUSB.print(data);
	SerialUSB.println("");

err_close:
	SerialUSB.println("### Close.");
	if (!Wio.SocketClose(connectId)) {
		SerialUSB.println("### ERROR! SocketClose ###");
		goto err;
	}

err:
	delay(INTERVAL);
	icount++;
}

// ---------------------------------------------------------------

Soracom Harvest で送られたデータを確認
image.png

シリアルモニタの表示
harvest_aa.png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?