Skip to content

Commit a1a20f2

Browse files
committed
Merge branch 'main' of github.com:sparkfun/SparkFun_DataLogger
2 parents 0fd4f4b + 55cc855 commit a1a20f2

File tree

53 files changed

+533
-65
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

53 files changed

+533
-65
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ This repository contains the latest firmware for the SparkFun DataLogger IoT pro
2020

2121
The current list of SparkFun boards supported by the SparkFun DataLogger IoT are listed in the [DataLogger Supported Device List](../supported_devices).
2222

23-
SparkFun DataLogger IoT products include Internet connectivity built in, and includes connections for a variety of IoT service services and end-point types. Connection types include MQTT, HTTP, AWS IoT, Azure IoT, and ThingSpeak. To enable connectivity, connect the DataLogger IoT to a WiFi network, enter the required credentials for the specific IoT service being used, and the DataLogger IoT will do the rest - no programming required.
23+
SparkFun DataLogger IoT products include Internet connectivity built in, and includes connections for a variety of IoT service services and end-point types. Connection types include MQTT, HTTP, AWS IoT, Azure IoT, ThingSpeak, Arduino Cloud. To enable connectivity, connect the DataLogger IoT to a WiFi network, enter the required credentials for the specific IoT service being used, and the DataLogger IoT will do the rest - no programming required.
2424

2525
The DataLogger IoT products are highly configurable via an easily to use serial interface. Simply plug in a USB C cable and open a terminal at 115200 Kbps. By default the logging output is automatically streamed to the serial terminal - pressing any key will bring up the menu system. Device settings are also configurable via a JSON file contained on an inserted SD card - enabling rapid configuration for multiple devices.
2626

54.8 KB
Loading

docs/assets/Google_Sheets_Logo.png

1.81 KB
Loading
Loading
Loading
Loading
Loading
Loading

docs/assets/aiot_cloud_api-k.jpg

258 KB
Loading

docs/assets/aiot_cloud_create_key.jpg

277 KB
Loading

docs/assets/aiot_cloud_key_name.jpg

252 KB
Loading

docs/assets/aiot_cloud_key_secret.jpg

338 KB
Loading
396 KB
Loading

docs/assets/aiot_cloud_vars.jpg

604 KB
Loading

docs/assets/aiot_dashboard.jpg

294 KB
Loading

docs/assets/aiot_dashboard_link.jpg

291 KB
Loading
289 KB
Loading

docs/assets/aiot_dev_add.jpg

346 KB
Loading

docs/assets/aiot_dev_name.jpg

151 KB
Loading

docs/assets/aiot_dev_secrets.jpg

285 KB
Loading

docs/assets/aiot_dev_setup_sel.jpg

294 KB
Loading

docs/assets/aiot_overview.png

66.6 KB
Loading
Loading
Loading
378 KB
Loading
1.62 MB
Loading
Loading
448 KB
Loading
Loading
Loading
Loading
Loading
Loading

docs/configuration.md

Lines changed: 64 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1+
<!--
2+
Note for future screen shots with Tera Term.
3+
The size is about width="80px" height="35px".
4+
5+
-->
6+
17
Configuring the settings is as easy as opening a serial menu. You can use any serial monitor or terminal emulator to quickly and easily change and store the DataLogger IoT settings via its USB-C interface.
28

39
There are plenty of free alternatives out there to configure the DataLogger IoT. For the scope of this tutorial we will be using Tera Term.
@@ -224,12 +230,13 @@ When finished, you will need to exit the menus so that the DataLogger IoT saves
224230

225231
### General: Save Settings
226232

227-
In the Settings menu, send a <kbd>2</kbd> to adjust the Save Settings.
233+
In the Settings menu, send a <kbd>2</kbd> to adjust the Save Settings. As of firmware v01.01.01, the JSON output buffer size is now user configurable. This will be under option "**JSON File Buffer Size**" when in the Save Settings Menu.
228234

229235
<div style="text-align: center">
230236
<a href="../assets/SparkFun_Datalogger_IoT_Save_Settings_Menu.JPG"><img src="../assets/SparkFun_Datalogger_IoT_Save_Settings_Menu.JPG"" width="600" height="600"></a>
231237
</div>
232238

239+
233240
In the Save Settings Menu, users will be able to save, restore, or clear any preferences in memory (i.e. persistent storage) or a saved file to a fallback device (i.e. microSD card). Note that any passwords and secret keys are not saved in the save settings file. You will need to manually enter those values in the file saved on the microSD card.
234241

235242
* <kbd>1</kbd> **Fallback Restore** &mdash; If unable to restore settings, use the fallback source (JSON File)
@@ -240,23 +247,26 @@ In the Save Settings Menu, users will be able to save, restore, or clear any pre
240247
* Accepts a boolean value:
241248
* <kbd>1</kbd> to enable
242249
* <kbd>0</kbd> to disable _(default)_
243-
* <kbd>3</kbd> **Save Settings** &mdash; Save current settings to persistent storage
250+
* <kbd>3</kbd> **JSON File Buffer Size** &mdash; The size in bytes used for the internal I/O buffer
251+
* Accepts an unsigned integer:
252+
* <kbd>6400</kbd> _(default, as of firmware v01.01.01)_
253+
* <kbd>4</kbd> **Save Settings** &mdash; Save current settings to persistent storage
244254
* Accepts a yes/no:
245255
* <kbd>Y</kbd> or <kbd>y</kbd> for yes
246256
* <kbd>N</kbd> or <kbd>n</kbd> for no
247-
* <kbd>4</kbd> **Restore Settings** &mdash; Restore saved settings
257+
* <kbd>5</kbd> **Restore Settings** &mdash; Restore saved settings
248258
* Accepts a yes/no:
249259
* <kbd>Y</kbd> or <kbd>y</kbd> for yes
250260
* <kbd>N</kbd> or <kbd>n</kbd> for no
251-
* <kbd>5</kbd> **Clear Settings** &mdash; Erase the saved settings on the device
261+
* <kbd>6</kbd> **Clear Settings** &mdash; Erase the saved settings on the device
252262
* Accepts a yes/no:
253263
* <kbd>Y</kbd> or <kbd>y</kbd> for yes
254264
* <kbd>N</kbd> or <kbd>n</kbd> for no
255-
* <kbd>6</kbd> **Save to Fallback** &mdash; Save System Settings to the fallback storage (JSON File)
265+
* <kbd>7</kbd> **Save to Fallback** &mdash; Save System Settings to the fallback storage (JSON File)
256266
* Accepts a yes/no:
257267
* <kbd>Y</kbd> or <kbd>y</kbd> for yes
258268
* <kbd>N</kbd> or <kbd>n</kbd> for no
259-
* <kbd>7</kbd> **Restore from Fallback** &mdash; Restore system settings from the fallback storage (JSON File)
269+
* <kbd>8</kbd> **Restore from Fallback** &mdash; Restore system settings from the fallback storage (JSON File)
260270
* Accepts a yes/no:
261271
* <kbd>Y</kbd> or <kbd>y</kbd> for yes
262272
* <kbd>N</kbd> or <kbd>n</kbd> for no
@@ -281,31 +291,37 @@ When finished, you will need to exit the menus so that the DataLogger IoT saves
281291
!!! note
282292
Make sure to connect the ESP32-WROOM to a 2.4GHz WiFi network and ensure that is not a guest network that requires you to sign in. Unfortunately, 5GHz WiFi is not supported on the ESP32-WROOM module.
283293

284-
In the Settings Menu, send <kbd>3</kbd> to manage the time reference sources.
294+
In the Settings Menu, send <kbd>3</kbd> to manage the time reference sources. As of firmware v01.01.01, time zone support is at the clock level, not tied to NTP. The option to adjust the Time Zone is moved to the Time Sources menu.
285295

286296
<div style="text-align: center">
287297
<a href="../assets/SparkFun_Datalogger_IoT_Time_Sources_Menu.JPG"><img src="../assets/SparkFun_Datalogger_IoT_Time_Sources_Menu.JPG" width="600" height="600" alt="Time Source Menu Options"></a>
288298
</div>
289299

290300
In this menu, you will have options to update the primary reference clock, update interval, add a secondary reference clock, and update it's interval. By default, the primary reference clock is set to use the Network Time Protocol (NTP). To synchronization the time, you will need to connect to a 2.4GHz WiFi network in order to update the time. To add a secondary clock, make sure to connect a compatible Qwiic-enabled devices that can keep track of time (i.e. Qwiic Real Time Clock Module - RV-8803 or a Qwiic-enabled u-blox GNSS module).
291301

292-
* <kbd>1</kbd> **Reference Clock** &mdash; The current reference clock source
302+
!!! note
303+
To adjust the time zone, you will need to enter a POSIX timezone string variable. Try [checking out this CSV in this GitHub repo](https://github.com/nayarsystems/posix_tz_db/blob/master/zones.csv) and searching for the timezone string variable in your area. For more information about [POSIX format specification check out this article from IBM](https://developer.ibm.com/articles/au-aix-posix/).
304+
305+
* <kbd>1</kbd> **The Time Zone** &mdash; Time zone setting string for the device
306+
* Accepts a string:
307+
* <kbd>MST7MDT,M3.2.0,M11.1.0</kbd> _(default, as of firmware v01.01.01)_
308+
* <kbd>2</kbd> **Reference Clock** &mdash; The current reference clock source
293309
* Accepts the following values:
294310
* <kbd>1</kbd> for no clock
295311
* <kbd>2</kbd> for NTP Client _(default)_
296-
* <kbd>2</kbd> **Update Interval** &mdash; Main clock update interval in minutes. 0 = No update
312+
* <kbd>3</kbd> **Update Interval** &mdash; Main clock update interval in minutes. 0 = No update
297313
* Accepts an unsigned integer:
298314
* <kbd>0</kbd> = No update
299315
* <kbd>60</kbd> seconds _(default)_
300-
* <kbd>3</kbd> **Enable Clock Fallback** &mdash; Use a valid reference clock if the primary is not available
316+
* <kbd>4</kbd> **Enable Clock Fallback** &mdash; Use a valid reference clock if the primary is not available
301317
* Accepts a boolean value:
302318
* <kbd>1</kbd> to enable _(default)_
303319
* <kbd>0</kbd> to disable
304-
* <kbd>4</kbd> **Dependant Interval** &mdash; Connected depedant clock update interval in minutes. 0 = No update
320+
* <kbd>5</kbd> **Dependant Interval** &mdash; Connected depedant clock update interval in minutes. 0 = No update
305321
* Accepts an unsigned integer:
306322
* <kbd>0</kbd> = No update
307323
* <kbd>60</kbd> seconds _(default)_
308-
* <kbd>5</kbd> **Update Connected** &mdash; Update connected clocks on main clock update
324+
* <kbd>6</kbd> **Update Connected** &mdash; Update connected clocks on main clock update
309325
* Accepts a boolean value:
310326
* <kbd>1</kbd> to enable _(default)_
311327
* <kbd>0</kbd> to disable
@@ -405,7 +421,7 @@ Press the reset button or cycle power to restart the DataLogger IoT. You can als
405421

406422
### Network: NTP Client
407423

408-
In the Settings menu, send a <kbd>5</kbd> to adjust the NTP Client settings.
424+
In the Settings menu, send a <kbd>5</kbd> to adjust the NTP Client settings. As of firmware v01.01.01, time zone support is at the clock level, not tied to the NTP. The option to adjust the Time Zone is moved to the Time Sources menu.
409425

410426
<div style="text-align: center">
411427
<a href="../assets/SparkFun_Datalogger_IoT_NTP_Client_Menu.JPG"><img src="../assets/SparkFun_Datalogger_IoT_NTP_Client_Menu.JPG" width="600" height="600" alt="NTP Client Menu Options"></a>
@@ -423,14 +439,8 @@ In this menu, users will have the option to enable/disable the NTP client, selec
423439
* <kbd>3</kbd> **NTP Server Two** &mdash; The secondary NTP Server to use
424440
* Accepts a string:
425441
* <kbd>pool.ntp.org</kbd> _(default)_
426-
* <kbd>4</kbd> **The Time Zone** &mdash; Time zone setting string for the device
427-
* Accepts a string:
428-
* <kbd>MST7MDT,M3.2.0,M11.1.0</kbd> _(default)_
429442
* <kbd>b</kbd> **Back**
430443

431-
!!! note
432-
To adjust the time zone, you will need to enter a POSIX timezone string variable. Try [checking out this CSV in this GitHub repo](https://github.com/nayarsystems/posix_tz_db/blob/master/zones.csv) and searching for the timezone string variable in your area. For more information about [POSIX format specification check out this article from IBM](https://developer.ibm.com/articles/au-aix-posix/).
433-
434444
When finished, you will need to exit the menus so that the DataLogger IoT saves the changes. Send a <kbd>b</kbd> to exit out this menu, <kbd>b</kbd> to exit out of the DataLogger IoT settings, and <kbd>x</kbd> to exit out of the main menu.
435445

436446
<div style="text-align: center">
@@ -524,7 +534,7 @@ In the Settings menu, send an <kbd>8</kbd> to adjust the Logging Data File.
524534
<a href="../assets/SparkFun_Datalogger_IoT_File_Rotation_Menu.JPG"><img src="../assets/SparkFun_Datalogger_IoT_File_Rotation_Menu.JPG" width="600" height="600" alt="Data File Menu Options"></a>
525535
</div>
526536

527-
Adjusting these parameters allows you to change the filename prefix, the number the files starts at, and how often the DataLogger will create a new file on the microSD card. For example, the default file will be saved as **sfe0001.txt**. After 1 day, the DataLogger will rotate files by creating a new file named **sfe0002.txt**. THe DataLogger will begin logging data in this new file. The purpose of this log rotation is to limit the size of each file prevent issues when opening large files.
537+
Adjusting these parameters allows you to change the filename prefix, the number the files starts at, and how often the DataLogger will create a new file on the microSD card. For example, the default file will be saved as **sfe0001.txt**. After 1 day, the DataLogger will rotate files by creating a new file named **sfe0002.txt**. The DataLogger will begin logging data in this new file. The purpose of this log rotation is to limit the size of each file prevent issues when opening large files.
528538

529539
* <kbd>1</kbd> **Rotate Period** &mdash; Time between file rotation
530540
* Accepts the following values:
@@ -787,6 +797,36 @@ In the Settings menu, send an <kbd>15</kbd> to adjust settings for MachineChat.
787797
* <kbd>b</kbd> **Back**
788798

789799

800+
### IoT Services: Arduino Cloud
801+
802+
!!! arduino
803+
At the time of writing, Arduino's IoT service was referred to as the "Arduino IoT Cloud." [Arduino updated the service with a different UI and is now referring to the service as the "Arduino Cloud"](https://blog.arduino.cc/2023/11/15/announcing-a-better-arduino-cloud-together/)." When referencing the Arduino IoT or Arduino IoT Cloud in this tutorial, we are referring to the Arduino Cloud.
804+
805+
In the Settings menu, send an <kbd>16</kbd> to adjust settings for Arduino Cloud. This feature was added as of firmware v01.01.01.
806+
807+
<div style="text-align: center">
808+
<a href="../assets/SparkFun_DataLogger_IoT_Arduino_IoT_Cloud_Menu.JPG"><img src="../assets/SparkFun_DataLogger_IoT_Arduino_IoT_Cloud_Menu.JPG" width="600" height="600" alt="Arduino Cloud Menu Options"></a>
809+
</div>
810+
811+
* <kbd>1</kbd> **Enabled** &mdash; Enable or Disable the Arduino IoT Client
812+
* Accepts a boolean value:
813+
* <kbd>1</kbd> to enable
814+
* <kbd>0</kbd> to disable _(default)_
815+
* <kbd>2</kbd> **Thing Name** &mdash; The Thing Name to use for the IoT Device connection
816+
* Accepts a string
817+
* <kbd>3</kbd> **Thing ID** &mdash; The Thing ID to use for the IoT Device connection
818+
* Accepts a string
819+
* <kbd>4</kbd> **API Client ID** &mdash; The Arduino Cloud API Client ID
820+
* Accepts a string
821+
* <kbd>5</kbd> **API Secret** &mdash; The Arduino Cloud API Secret
822+
* Accepts a string
823+
* <kbd>6</kbd> **Device Secret** &mdash; The Arduino IoT Device Secret
824+
* Accepts a string
825+
* <kbd>7</kbd> **Device ID** &mdash; The Arduino IoT Cloud Device ID
826+
* Accepts a string
827+
* <kbd>b</kbd> **Back**
828+
829+
790830

791831
### Advanced: System Update
792832

@@ -796,7 +836,10 @@ New sensors and features are being added all the time and we've made it really e
796836
* Performing a Factory Reset on the device
797837
* Updated the device firmware from a file on an SD Card.
798838

799-
This functionality is accessed via the Settings Menu, which is required to use this capability. Type <kbd>16</kbd> to enter the System Update menu. Once this menu entry is selected, the following menu options are presented:
839+
!!! note
840+
What's going on here?!? This tutorial was updated for firmware version **01.01.00**!!! You will notice this menu option has changed to <kbd>17</kbd> !!!
841+
842+
This functionality is accessed via the Settings Menu, which is required to use this capability. Type <kbd>17</kbd> to enter the System Update menu. Once this menu entry is selected, the following menu options are presented:
800843

801844
<div style="text-align: center">
802845
<a href="../assets/SparkFun_Datalogger_IoT_System_Restart_Factory_Restore_Update_Firmware.JPG"><img src="../assets/SparkFun_Datalogger_IoT_System_Restart_Factory_Restore_Update_Firmware.JPG" width="600" height="600" alt="System Update Menu Options"></a>

0 commit comments

Comments
 (0)