TagoIO IoT Cloud HTTP Sample
This sample application implements an HTTP client that will do an HTTP post request to TagoIO 1 IoT Service Platform. The sample sends random temperature values to simulate a real device. This can be used to speed-up development and shows how to send simple JSON data to TagoIO 1 servers.
The source code for this sample application can be found at: samples/net/cloud/tagoio_http_post.
TagoIO Device Configuration
If you don’t have a TagoIO 1 account, simple create a free account at
TagoIO 1. After that, add a device selecting Custom HTTP(S) protocol. That
is it! Now reveal your device token. The token will be used to identify your
device when sending data. You need fill
samples/net/cloud/tagoio_http_post/prj.conf file with that
Building and Running
You can use this application on a supported board with ethernet port. There are many like SAM4E Xplained Pro, SAM V71(B) Xplained Ultra, NXP FRDM-K64F, ST Nucleo F767ZI etc. Pick one and just build tagoio-http-client sample application with minimal configuration:
west build -b [sam4e_xpro | sam_v71_xult | frdm_k64f | nucleo_f767zi] samples/net/cloud/tagoio_http_post west flash
To enable WIFI support, you need a board with an embedded WIFI support like
ST Disco L475 IOT01 (B-L475E-IOT01A) or you can add a shield like
ESP-8266 Modules or Inventek es-WIFI Shield. Additionally you
CONFIG_TAGOIO_HTTP_WIFI_SSID with your wifi network SSID and
CONFIG_TAGOIO_HTTP_WIFI_PSK with the correspondent password at
west build -b disco_l475_iot1 samples/net/cloud/tagoio_http_post -- -DOVERLAY_CONFIG=overlay-wifi.conf west flash
west build -b [sam_v71_xult | frdm_k64f | nucleo_f767zi] samples/net/cloud/tagoio_http_post -- -DSHIELD=[esp_8266_arduino | inventek_eswifi_arduino_uart] -DOVERLAY_CONFIG=overlay-wifi.conf west flash
The Modem support is quite similar to WIFI, you need a board with an embedded
Modem support or you can add a shield. Currently, the overlay was created to
allow modems with PPP support. This was tested using
SIMcom SIM808 EVB.
Additionally you need fill
CONFIG_MODEM_GSM_APN with the correspondent Access
Point Name (APN) at
samples/net/cloud/tagoio_http_post/overlay-modem.conf file. A
DTC overlay file should be used to configure the glue between the modem and the
uart port. It can reside at boards directory, with the board name, or it can be
a special designator like defined at
west build -b sam4e_xpro samples/net/cloud/tagoio_http_post -- -DOVERLAY_CONFIG=overlay-modem.conf west flash
west build -b frdm_k64f samples/net/cloud/tagoio_http_post -- -DOVERLAY_CONFIG=overlay-modem.conf -DDTC_OVERLAY_FILE=arduino.overlay west flash
In a terminal window you can check if communication is happen:
$ minicom -D /dev/ttyACM0 *** Booting Zephyr OS build zephyr-v2.4.0-1135-g137732e23c1e *** [00:00:02.172,000] <inf> modem_gsm: Manufacturer: SIMCOM_Lt [00:00:02.227,000] <inf> modem_gsm: Model: SIMCOM_SIM808 [00:00:02.283,000] <inf> modem_gsm: Revision: 1418B04SIM808M32 [00:00:02.338,000] <inf> modem_gsm: IMSI: XXXXXX [00:00:02.393,000] <inf> modem_gsm: ICCID: XXXXXX [00:00:02.453,000] <inf> modem_gsm: IMEI: XXXXXX [00:00:02.574,000] <inf> modem_gsm: Attached to packet service! [00:00:02.575,000] <inf> net_ppp: Initializing PPP to use UART_3 [00:00:13.370,000] <inf> tagoio: TagoIO IoT - HTTP Client - Temperature demo [00:00:13.370,000] <inf> tagoio: Temp: 20 [00:00:25.237,000] <inf> tagoio: Temp: 76 [00:00:37.581,000] <inf> tagoio: Temp: 36 [00:00:50.437,000] <inf> tagoio: Temp: 98
Visualizing TagoIO dashboard
After you got some logs on console it is time to create a dashboard on the TagoIO to visualize the data.
Go to the TagoIO web console
Create a dashboard as Normal, give it a denomination and move next
Add a line plot graph. You will see your device, temperature variable will be automatically selected for you.
Just Save and enjoy!
You can experiment the TagoIO mobile application on your cellphone or tablet. Simple go to your app store and search by TagoIO, install, sign in, enjoy!