diff --git a/chester/catalog-applications/chester-clime.md b/chester/catalog-applications/chester-clime.md
index f44abf4..cf20a42 100644
--- a/chester/catalog-applications/chester-clime.md
+++ b/chester/catalog-applications/chester-clime.md
@@ -8,15 +8,13 @@ import Image from '@theme/IdealImage';
This article describes the core functionality, hardware description, and example **JSON** message of the catalog application **CHESTER Clime**.
-:::danger
-
-When upgrading firmware from **v1.x.x** to version **v2.0.0 and newer** - it is necessary to [**backup configuration**](common-functionality.md#configuration-backup).
-
-:::
-
:::caution
-Some of the basics are not provided, as they are common for all **CHESTER** catalog applications. For example, see the article [**Platform Management**](../category/platform-connectivity) on how to work with the interactive console.
+Some of the basics are not provided, as they are common for all CHESTER catalog applications. Please see:
+
+- [**Getting started**](../getting-started.md) on how to connect device to Cloud.
+- [**Common functionality**](common-functionality.md) to know how LED, button and network configuration works.
+- [**Platform Management**](../category/platform-connectivity) on how to work with the interactive console.
:::
@@ -316,7 +314,7 @@ To configure the device, select it from the list of devices and change the optio
The suggested configuration is:
| **Setting** | **Value** |
-|-----------------------|-----------------------|
+| --------------------- | --------------------- |
| Power signal settings | 4dbm |
| Advertising interval | 10s |
| Active sensors | Temperature, Humidity |
diff --git a/chester/catalog-applications/chester-control.md b/chester/catalog-applications/chester-control.md
index b36c820..1ec82d4 100644
--- a/chester/catalog-applications/chester-control.md
+++ b/chester/catalog-applications/chester-control.md
@@ -10,13 +10,17 @@ This article describes the core functionality, hardware description, and example
:::caution
-Some of the basics are not provided, as they are common for all **CHESTER** catalog applications. For example, see the article [**Platform Management**](../category/platform-connectivity) on how to work with the interactive console.
+Some of the basics are not provided, as they are common for all CHESTER catalog applications. Please see:
+
+- [**Getting started**](../getting-started.md) on how to connect device to Cloud.
+- [**Common functionality**](common-functionality.md) to know how LED, button and network configuration works.
+- [**Platform Management**](../category/platform-connectivity) on how to work with the interactive console.
:::
## Application Overview
-**CHESTER Control** is based on [**CHESTER Input**](chester-input.md), but adds dynamic input type reconfiguration and remote control functionality of 4 transistor outputs.
+**CHESTER Control** is based on [**CHESTER Input**](chester-input.md) (see for more details), but adds dynamic input type reconfiguration and remote control functionality of 4 transistor outputs.
Because **CHESTER Control** uses [**CHESTER-X0**](../extension-modules/chester-x0.md) input/output module, it is possible to change input behavior just by the configuration. This way you can assign any of four inputs to one of the functionalities:
diff --git a/chester/catalog-applications/chester-counter.md b/chester/catalog-applications/chester-counter.md
index b11466b..6530a86 100644
--- a/chester/catalog-applications/chester-counter.md
+++ b/chester/catalog-applications/chester-counter.md
@@ -6,17 +6,21 @@ import Image from '@theme/IdealImage';
# CHESTER Counter
-This article describes the core functionality, hardware description, default configuration, and example **JSON** messages for the catalog application **CHESTER Counter**.
-
-:::danger
+:::warning
-When upgrading firmware from **v1.x.x** to version **v2.0.0 and newer** - it is necessary to [**backup configuration**](common-functionality.md#configuration-backup).
+CHESTER Counter is replaced by [**CHESTER Control**](chester-control.md) which offers the same functionality.
:::
+This article describes the core functionality, hardware description, default configuration, and example **JSON** messages for the catalog application **CHESTER Counter**.
+
:::caution
-Some basics are not provided, as they are common for all the **CHESTER** catalog applications. For example, see the article [**Platform Management**](../platform-connectivity/index.md) on how to work with the interactive console.
+Some of the basics are not provided, as they are common for all CHESTER catalog applications. Please see:
+
+- [**Getting started**](../getting-started.md) on how to connect device to Cloud.
+- [**Common functionality**](common-functionality.md) to know how LED, button and network configuration works.
+- [**Platform Management**](../category/platform-connectivity) on how to work with the interactive console.
:::
diff --git a/chester/catalog-applications/chester-current.md b/chester/catalog-applications/chester-current.md
index 30dd597..1e967a9 100644
--- a/chester/catalog-applications/chester-current.md
+++ b/chester/catalog-applications/chester-current.md
@@ -8,15 +8,13 @@ import Image from '@theme/IdealImage';
This article describes the core functionality, hardware description, default configuration, example JSON message, and channel calibration of the catalog application **CHESTER Current**.
-:::danger
-
-When upgrading firmware from **v1.x.x** to version **v2.0.0 and newer** - it is necessary to [**backup configuration**](common-functionality.md#configuration-backup). In the case of using **CHESTER Current** also calibration data.
-
-:::
-
:::caution
-Some of the basics are not provided, as they are common for all CHESTER catalog applications. For example, see the article [**Platform Management**](../category/platform-connectivity) on how to work with the interactive console.
+Some of the basics are not provided, as they are common for all CHESTER catalog applications. Please see:
+
+- [**Getting started**](../getting-started.md) on how to connect device to Cloud.
+- [**Common functionality**](common-functionality.md) to know how LED, button and network configuration works.
+- [**Platform Management**](../category/platform-connectivity) on how to work with the interactive console.
:::
diff --git a/chester/catalog-applications/chester-input.md b/chester/catalog-applications/chester-input.md
index 78f3b3f..d572713 100644
--- a/chester/catalog-applications/chester-input.md
+++ b/chester/catalog-applications/chester-input.md
@@ -6,20 +6,25 @@ import Image from '@theme/IdealImage';
# CHESTER Input
-This article describes the core functionality, hardware description, default configuration, and example **JSON** messages for the catalog application **CHESTER Input**.
-
-:::danger
+:::warning
-When upgrading firmware from **v1.x.x** to version **v2.0.0 and newer** - it is necessary to [**backup configuration**](common-functionality.md#configuration-backup).
+CHESTER Counter is replaced by [**CHESTER Control**](chester-control.md) which offers the same functionality.
:::
+This article describes the core functionality, hardware description, default configuration, and example **JSON** messages for the catalog application **CHESTER Input**.
+
:::caution
-Some basics are not provided, as they are common for all the **CHESTER** catalog applications. For example, see the article [**Platform Management**](../platform-connectivity/index.md) on how to work with the interactive console.
+Some of the basics are not provided, as they are common for all CHESTER catalog applications. Please see:
+
+- [**Getting started**](../getting-started.md) on how to connect device to Cloud.
+- [**Common functionality**](common-functionality.md) to know how LED, button and network configuration works.
+- [**Platform Management**](../category/platform-connectivity) on how to work with the interactive console.
:::
+
## Application Overview
The application **CHESTER Input** is used to measure and observe analog and digital inputs. The sampled analog values are aggregated, the aggregate measurements are buffered, and scheduled for later data transfer in the form of buffered data altogether with the timestamp annotations. Also, the changes on digital input (type **trigger**) can be tracked with the type of change and timestamp. The buffering strategy allows a higher number of events to be recorded while conserving data bandwidth and power required for data transfer.
diff --git a/chester/catalog-applications/chester-meteo.md b/chester/catalog-applications/chester-meteo.md
index c22627f..2937d19 100644
--- a/chester/catalog-applications/chester-meteo.md
+++ b/chester/catalog-applications/chester-meteo.md
@@ -10,10 +10,15 @@ This article describes the core functionality, hardware description, and example
:::caution
-Some of the basics are not provided, as they are common for all **CHESTER** catalog applications. For example, see the article [**Platform Management**](../category/platform-connectivity) on how to work with the interactive console.
+Some of the basics are not provided, as they are common for all CHESTER catalog applications. Please see:
+
+- [**Getting started**](../getting-started.md) on how to connect device to Cloud.
+- [**Common functionality**](common-functionality.md) to know how LED, button and network configuration works.
+- [**Platform Management**](../category/platform-connectivity) on how to work with the interactive console.
:::
+
## Application Overview
**CHESTER Meteo** is a wind and environmental sensor that samples, aggregates, and sends measured variables.
diff --git a/chester/catalog-applications/chester-push.md b/chester/catalog-applications/chester-push.md
index 8ccb6b7..515b4b3 100644
--- a/chester/catalog-applications/chester-push.md
+++ b/chester/catalog-applications/chester-push.md
@@ -8,18 +8,17 @@ import Image from '@theme/IdealImage';
This article describes the core functionality, hardware description, and example **JSON** message of the catalog application **CHESTER Push**.
-:::danger
-
-When upgrading firmware from **v1.x.x** to version **v2.0.0 and newer** - it is necessary to [**backup configuration**](common-functionality.md#configuration-backup).
-
-:::
-
:::caution
-Some of the basics are not provided, as they are common for all **CHESTER** catalog applications. For example, see the article [**Platform Management**](../platform-connectivity/index.md) on how to work with the interactive console.
+Some of the basics are not provided, as they are common for all CHESTER catalog applications. Please see:
+
+- [**Getting started**](../getting-started.md) on how to connect device to Cloud.
+- [**Common functionality**](common-functionality.md) to know how LED, button and network configuration works.
+- [**Platform Management**](../category/platform-connectivity) on how to work with the interactive console.
:::
+
## Application Overview
**CHESTER Push** has push buttons on the enclosure. The application immediately sends data when any of the push buttons are pressed. For bulk orders, the number of buttons can be configured. An off-the-shelf configuration provides four push buttons on the left side. Alternatively, we can deliver a single push-button version (in the enclosure center). Also, upon a customer's request, we can customize the enclosure printing, and provide various text labels (or symbols) next to each of the push buttons.
diff --git a/chester/catalog-applications/chester-range.md b/chester/catalog-applications/chester-range.md
index 22e957a..12dc7d7 100644
--- a/chester/catalog-applications/chester-range.md
+++ b/chester/catalog-applications/chester-range.md
@@ -10,10 +10,15 @@ This article describes the core functionality, hardware description, and example
:::caution
-Some of the basics are not provided, as they are common for all **CHESTER** catalog applications. For example, see the article [**Platform Management**](../category/platform-connectivity) on how to work with the interactive console.
+Some of the basics are not provided, as they are common for all CHESTER catalog applications. Please see:
+
+- [**Getting started**](../getting-started.md) on how to connect device to Cloud.
+- [**Common functionality**](common-functionality.md) to know how LED, button and network configuration works.
+- [**Platform Management**](../category/platform-connectivity) on how to work with the interactive console.
:::
+
## Application Overview
**CHESTER Range** measures distance using the [MaxBotix MB7066](https://shop.hardwario.com/ultrasonic-sensor/) ultrasonic sensor. It can also measure temperature using the DS18B20 one-wire sensor and humidity using **CHESTER-S2**.
diff --git a/chester/catalog-applications/chester-wm-bus.md b/chester/catalog-applications/chester-wm-bus.md
index c703f0b..2e35f50 100644
--- a/chester/catalog-applications/chester-wm-bus.md
+++ b/chester/catalog-applications/chester-wm-bus.md
@@ -10,10 +10,15 @@ import Image from '@theme/IdealImage';
:::caution
-Some of the basics are not provided, as they are common for all **CHESTER** catalog applications. For example, see the article [**Platform Management**](../category/platform-connectivity) on how to work with the interactive console.
+Some of the basics are not provided, as they are common for all CHESTER catalog applications. Please see:
+
+- [**Getting started**](../getting-started.md) on how to connect device to Cloud.
+- [**Common functionality**](common-functionality.md) to know how LED, button and network configuration works.
+- [**Platform Management**](../category/platform-connectivity) on how to work with the interactive console.
:::
+
## Application Overview
**CHESTER wM-Bus** is a **Wireless M-Bus** gateway. This device listens for configured **wM-Bus T1 and C1** devices in specific intervals, aggregates the raw received wM-Bus packets and sends them over the **NB-IoT/LTE-M** network.
@@ -176,6 +181,84 @@ Specifies the day of the month when scanning 1-28 during the monthly scan
**dual** - the scan takes place twice, each time with a different antenna. If all devices are not scanned in the first cycle with antenna 1, a second scan with the second antenna is started. Each scan takes a maximum of scan-timeout seconds. The maximum time when the wM-Bus receiver is active is equal to 2x `scan-timeout`.
+## Example Configurations
+
+When configuring over BLE, you need to apply the configuraiton changes with `config save` command.
+
+When configuring over [Cloud config downlink commands](../../cloud/cloud-v2/downlink#config), don't add `config save` command, it is applied automatically. Othwerwise the configuration is not
+
+### Interval and wM-BUS Packets Every 2 Minutes
+
+wM-BUS devices send a packet every 2 minutes.
+We want to use only one antenna.
+We want to send data to the cloud every 2 hours.
+All devices are year-round, transmitting (the same) in summer and winter.
+
+```
+app config scan-mode interval
+app config scan-interval 7200 (measurement every 2 hours = 7200 seconds)
+app config scan-timeout 130 (sensors send every 2 minutes = 120 seconds + reserve)
+app config scan-ant single (only one antenna, we scan for 130 seconds)
+app config address count 2
+app config address add 111111
+app config address add 222222
+```
+
+### Interval and wM-BUS Packets Every 2 minutes, Two Antennas
+
+wM-BUS devices send a packet every 2 minutes.
+We want to use both antennas for better reception, each oriented differently to change polarity.
+We want to send data to the cloud every 2 hours.
+All devices are year-round, transmitting (the same) in summer and winter.
+
+```
+app config scan-mode interval
+app config scan-interval 7200 (scanning every 2 hours = 7200 seconds)
+app config scan-timeout 130 (sensors send every 2 minutes = 120 seconds + reserve)
+app config scan-ant dual (both antennas, we scan up to 130 seconds with one antenna and another up to 130 seconds with the second antenna, effectively scanning up to 260 seconds)
+app config address count 2
+app config address add 111111
+app config address add 222222
+```
+
+### Interval and wM-BUS Packets Sending Every Hour
+
+wM-BUS devices send a packet every 1 hour.
+We want to use only one antenna.
+We want to send data to the cloud every hour.
+All devices are year-round, transmitting (the same) in summer and winter.
+
+**This configuration is not for battery variant, because it scans constantly**
+
+```
+app config scan-mode interval
+app config scan-interval 3620 (scanning every hour = 3600 seconds + 20 seconds reserve for sending)
+app config scan-timeout 3600 (scanning up to 3600 seconds)
+app config scan-ant single (one antenna, we scan up to 3580 seconds)
+app config address count 2
+app config address add 111111
+app config address add 222222
+```
+
+### Daily scanning
+
+wM-BUS devices send a packet every 1 hour.
+We want to use only one antenna.
+We want to send data to the cloud once a day.
+All devices are year-round, transmitting (the same) in summer and winter.
+
+**This configuration is not optimal for battery variant**
+
+```
+app config scan-mode daily (daily scanning)
+app config scan-hour 12 (always at 12 o'clock UTC (for CET, conversion is needed))
+app config scan-timeout 3600 (scanning up to 3600 seconds)
+app config scan-ant single (one antenna, we scan up to 3600 seconds)
+app config address count 2
+app config address add 111111
+app config address add 222222
+```
+
## Firmware
The latest firmware is available in Catalog Applications [Firmware chapter](index.md#application-firmware).
@@ -225,7 +308,7 @@ Each JSON cloud message contains up to 20 wM-Bus packets. If CHESTER is configur
},
"wmbus": {
"cycle": 1,
- "devices": 1,
+ "devices": 2,
"packets": [
{
"data": "32446850003076816980a0919f2b06007007000061087c08000000000000000000000000010101020100000000000000000000",
@@ -237,8 +320,8 @@ Each JSON cloud message contains up to 20 wM-Bus packets. If CHESTER is configur
}
],
"part": 0,
- "received": 1,
- "scan_time": 2
+ "received": 2,
+ "scan_time": 17
}
}
```
diff --git a/chester/catalog-applications/common-functionality.md b/chester/catalog-applications/common-functionality.md
index a4e0bad..c0fb6ef 100644
--- a/chester/catalog-applications/common-functionality.md
+++ b/chester/catalog-applications/common-functionality.md
@@ -10,8 +10,13 @@ The **catalog applications** share common functionality. For example the button
## Network Mode Configuration
-Starting from firmware **v2.3.0** the catalog applications are built with NB-IoT/LTE and LoRaWAN functionality in a single firmware. You need to set the mode
-not only for new devices but also **when you are upgrading older firmware**.
+Some catalog firmwares allows configuration to use NB-IoT/LTE or LoRaWAN network. This firmware after power-up is not sending data, the **LED is blinking yellow** and you need to configure correct radio mode.
+
+This `app mode` configuration is needed currently for these catalog applications:
+
+- [CHESTER Clime](chester-clime.md)
+- [CHESTER Current](chester-current.md)
+- [CHESTER Push](chester-push.md)
The default functionality is that a device **does not use any radio** (mode `none`) and you need to set configuration parameter **mode**.
@@ -37,6 +42,8 @@ Applications define actions for the mainboard button. The actions are chosen bas
When **CHESTER** is powered on, the LED will be lit red until the application is initialized. Then **CHESTER** will blink the green LED every five seconds to indicate the app is running.
+If the **LED is blinking yellow**, you need to configure [which radio to use](#network-mode-configuration).
+
## Default Configuration
This is the default configuration (printed using the `app config show` command):
@@ -47,14 +54,6 @@ app config interval-aggreg 300
app config interval-report 1800
```
-:::caution
-
-CHESTER sends in default the configuration about 500 bytes of data. If you increase the report interval too much without increasing also aggregation interval,
-the data buffer might be bigger than the UDP MTU and the packet will not be sent. Device then appears like it is not sending or sends only a fraction of packets.
-
-:::
-
-
You can change configuration using the `app config` command, followed by `config save`. Example:
```
@@ -65,15 +64,8 @@ config save
This will apply the changes and restart the application. After the restart, you can verify the settings changed using the `app config show` command.
-## Report Interval Jitter
-
-The periodic sending of data with `interval-report` has intentional jitter. This is used in case lot of CHESTERs are placed near each other, so they don't transmit at the same time if they have set the same interval. This jitter is random in the range of ±20 % of `interval-report`.
-
-For example, if `interval-report` is set to 100 seconds, you can receive periodic data where two messages have a time difference from 80 (-20%) to 120 (+20%) seconds.
-
-In applications where there are multiple aggregated values, this jitter has a side-effect that sometimes you can see fewer or more aggregated values than expected. The missing values are not lost, they will be sent correctly in the next message.
-
-This jitter is not applied to **events** like button presses or input changes. They report immediately.
+You might also change configuration remotely over HARDWARIO Cloud using [**Config downlink command**](../../cloud/cloud-v2/downlink#config).
+In cloud you don't send the `config save` command.
## Shell Commands
@@ -110,6 +102,17 @@ Available commands:
therm :Thermometer commands.
```
+## Report Interval Jitter
+
+The periodic sending of data with `interval-report` has intentional jitter. This is used in case lot of CHESTERs are placed near each other, so they don't transmit at the same time if they have set the same interval. This jitter is random in the range of ±20 % of `interval-report`.
+
+For example, if `interval-report` is set to 100 seconds, you can receive periodic data where two messages have a time difference from 80 (-20%) to 120 (+20%) seconds.
+
+In applications where there are multiple aggregated values, this jitter has a side-effect that sometimes you can see fewer or more aggregated values than expected. The missing values are not lost, they will be sent correctly in the next message.
+
+This jitter is not applied to **events** like button presses or input changes. They report immediately.
+
+
## Configuration backup v1.x.x → v2.x.x {#configuration-backup}
When upgrading an older **v1.x.x** firmware to **v2.x.x** - it is necessary to backup application configuration. The most important is this step in **CHESTER Current** application, where in configuration there are the **current transformers calibration coefficients**.
diff --git a/chester/developer-tools/command-line-tools.md b/chester/developer-tools/command-line-tools.md
index d29c50c..0057b9d 100644
--- a/chester/developer-tools/command-line-tools.md
+++ b/chester/developer-tools/command-line-tools.md
@@ -124,7 +124,7 @@ Use the command `hardwario chester lte flash firmware.zip` to flash the modem fi
:::caution
-Currently, you have to update the codec manually when you update the CHESTER firmware. In the LTEv2 stack, CHESTER will send the codec itself.
+In the Cloud v2, CHESTER will send the codec itself. You don't need to follow this step anymore.
:::
diff --git a/chester/firmware-sdk/how-to-cbor.md b/chester/firmware-sdk/how-to-cbor.md
index 2ebbb85..86764ce 100644
--- a/chester/firmware-sdk/how-to-cbor.md
+++ b/chester/firmware-sdk/how-to-cbor.md
@@ -6,18 +6,41 @@ import Image from '@theme/IdealImage';
# How to: CBOR
-**CHESTER** uses [**CBOR**](https://cbor.io/) to encode and decode transmitted data. Thanks to **CBOR**, you can describe how the transmitted data will look like using the **YAML** file, then in your C code, you use the keys from this **YAML** file. Finally, you upload the same **YAML** file to the **HARDWARIO Cloud**, which will automatically decode the received data and convert them to **JSON**.
+**CHESTER** with Cloud v2 uses [**CBOR**](https://cbor.io/) to encode and decode transmitted data. Thanks to **CBOR**, you can describe how the transmitted data will look like using the **YAML** file, then in your C code, you use the keys from this **YAML** file.
+
+In the initial session messages, Cloud sends codec hash in the **session down** message. CHESTER compares the hash with its own codec hash and if needed, it uploads decoder with **decoder up** message and optionally uploads encoder in **encoder up** message.
To use **CBOR** with **CHESTER** you need to:
- Create a `codec\cbor-decoder.yaml` file in your application folder that describes the JSON attributes.
-- Upload the YAML file to the **HARDWARIO Cloud** using `hardwario cloud` [CLI tool](../developer-tools/command-line-tools.md#cloud-codec-commands).
-- Header file `msg_key.h` is automatically generated when `west build` is called.
+- Optionally create a `codec\cbor-encoder.yaml` file for downlink commands (see CHESTER Control code)
+- Header file `src/app_codec.h` is automatically generated when `west build` is called.
- Use these definitions in `app_cbor.c` and add the needed data.
+YAML file have a header, then in `schema` you define a strictly hiearchical structure.
+
+In `src/app_codec.h` there are generated #defines with names like `CODEC_KEY_E_` where `E` stands for Encoder (viewed from CHESTER perspective).
+
+In you inherit items to deeper structure, then in header file you will see `__` double underscore.
+For example `CODEC_KEY_E_NETWORK__MESSAGE__VERSION` for YAML example below.
+
+```
+version: 2
+type: decoder
+name: com.hardwario.chester.app.clime
+schema:
+ - message:
+ - version:
+ - sequence:
+ - timestamp:
+...
+```
+
:::info
-You can see more practical examples in CHESTER SDK in the catalog applications `chester/applications/*` folder or in the `chester/samples/lte_cbor` sample.
+You can see more practical examples in CHESTER SDK in the catalog applications `chester/applications/*` folder.
+
+Naming `cbor-decoder.yaml` and `cbor-encoder.yaml` is took from the Cloud perspective. So CHESTER is encoding data using **decoder** file because cloud is using this YAML file for decoding.
:::
@@ -33,25 +56,25 @@ In the **YAML** you define the name of the keys that will later be used in decod
Modificators are:
-- `add`
-- `sub`
-- `mul`
-- `div`
-- `fpp` - floating point decimal places in JSON
-- `key` - rename the **JSON** key
+- `$add`
+- `$sub`
+- `$mul`
+- `$div`
+- `$fpp` - floating point decimal places in JSON
+- `$key` - rename the **JSON** key
The example below creates a key with name `temperature`. In **CHESTER** you need to multiply value by 100, then in **HARDWARIO Cloud** it is automatically divided by 100, and in the final **JSON**, the number has two decimal places.
```yaml
- temperature:
- - div: 100
- - fpp: 2
+ - $div: 100
+ - $fpp: 2
```
The **CHESTER** C code will look like this:
```c
-zcbor_uint32_put(zs, MSG_KEY_TEMPERATURE);
+zcbor_uint32_put(zs, CODEC_KEY_E_TEMPERATURE);
zcbor_int32_put(zs, g_app_data.therm_temperature * 100.f);
```
@@ -67,7 +90,7 @@ Define string values and send them efficiently as an integer.
```yaml
- backup_state:
- - enum:
+ - $enum:
- inactive
- active
```
@@ -75,7 +98,7 @@ Define string values and send them efficiently as an integer.
The **CHESTER** C code will look like this:
```c
-zcbor_uint32_put(zs, MSG_KEY_BACKUP_STATE);
+zcbor_uint32_put(zs, CODEC_KEY_E_BACKUP_STATE);
zcbor_uint32_put(zs, g_app_data.backup.line_present ? 1 : 0);
```
@@ -91,7 +114,7 @@ Output **JSON** will be:
```yaml
- measurements_val:
- - tsp:
+ - $tsp:
- avg:
- mdn:
```
@@ -99,7 +122,7 @@ Output **JSON** will be:
The **CHESTER** C code will look like this:
```c
-zcbor_uint32_put(zs, MSG_KEY_MEASUREMENTS_VAL);
+zcbor_uint32_put(zs, CODEC_KEY_E_MEASUREMENTS_VAL);
{
zcbor_list_start_encode(zs, ZCBOR_VALUE_IS_INDEFINITE_LENGTH);
@@ -144,10 +167,10 @@ This code also shows how you can combine modificators inside the TSO.
```yaml
- trigger_events:
- - key: "events"
- - tso:
+ - $key: "events"
+ - $tso:
- type:
- - enum:
+ - $enum:
- deactivated
- activated
```
@@ -157,7 +180,7 @@ The **CHESTER** C code will look like this:
```c
int64_t timestamp_abs = g_app_data.trigger.events[0].timestamp;
-zcbor_uint32_put(zs, MSG_KEY_TRIGGER_EVENTS);
+zcbor_uint32_put(zs, CODEC_KEY_E_TRIGGER_EVENTS);
{
zcbor_list_start_encode(zs, ZCBOR_VALUE_IS_INDEFINITE_LENGTH);
diff --git a/chester/firmware-sdk/how-to-lte-v2.md b/chester/firmware-sdk/how-to-lte-v2.md
index df69f42..bdb4553 100644
--- a/chester/firmware-sdk/how-to-lte-v2.md
+++ b/chester/firmware-sdk/how-to-lte-v2.md
@@ -14,6 +14,8 @@ Downlink messages or configuration messages can be sent by API or in the HARDWAR
Configuration messages `app config ...` can be send to any device using LTE v2. There is no need to add anything to your application, the `ctr_cloud` subsystem takes care of all.
+Currently all the catalog applications in CHESTER SDK `applications/*` folder are already migrated to Cloud v2 and you can take an inspiration.
+
## CHESTER LTE v2 Firmware Examples
### Demo
@@ -43,6 +45,10 @@ The project also contains [example scripts](https://github.com/hardwario/chester
CHESTER Control also contains configuration definitions through macros. So you define config parameters only in `app_config.h` file and settings, shell, and help commands are generated with macros.
+### Other Catalogue Apps
+
+Currently all the catalog applications in CHESTER SDK `applications/*` folder are already migrated to Cloud v2 and you can take an inspiration. Or use pre-built [**firmware**](../catalog-applications/catalog-applications#application-firmware-cloud-v2)
+
## Changes for LTE v2
### Flash LTE Modem Firmware
diff --git a/chester/getting-started.md b/chester/getting-started.md
index 2c30313..aa8a0c9 100644
--- a/chester/getting-started.md
+++ b/chester/getting-started.md
@@ -13,11 +13,17 @@ Current devices are shipped with the firmware that uses our more advanced **Clou
### Create an Account
If you don't have an account:
-- Go to [https://prod.hardwario.cloud/](https://prod.hardwario.cloud/)
+- Go to [https://hardwario.cloud/](https://hardwario.cloud/)
- Click **SIGN UP**
- Create an account with **email/password**, **Google** or **Microsoft** account
+- When using **email/password**, check your inbox for validation email before first log-in
-### Add a Device to the Cloud
+### Create a new Space
+
+- In **SPACES** click the **NEW SPACE** in the top right corner.
+- Create a new space for your device. You cannot use
+
+### Add a Device to the Space
- Select the **SPACE** where you would like to add a device
- Click on the **DEVICES** in the left menu and choose [+NEW DEVICE](../cloud/cloud-v2/devices) in the top right corner
@@ -41,7 +47,7 @@ Watch the CHESTER [LED Behaviour](catalog-applications/common-functionality.md#l
Now, when you open **DEVICES** and click on the **chat icon** on your device, you will see messages from your device.
-Now, please follow [**Cloud v2**](../cloud/cloud-v2) documentation to assign your device and a connector a tag, then you can resend the device's data to your cloud/backend, send downlink commands, use a remote shell, FOTA and other functionalities.
+Now, please follow [Cloud v2](../cloud/cloud-v2) documentation to assign your device and a connector a tag, then you can resend the device's data to your cloud/backend, send downlink commands, use a remote shell, FOTA and other functionalities.
In **USERS**, you might also invite your co-workers and assign them a role **user** (read only) or role **admin**, which can change anything.
@@ -63,4 +69,4 @@ In the case of using your own SIM card, after changing **PLMN** and **APN** you
## Cloud v1
-In [HARDWARIO Cloud v1](https://hardwario.cloud/), we need to make accounts manually. So, if you have a CHESTER device and don't already have access to the cloud, please contact your salesperson from HARDWARIO or write to ask@hardwario.com. Please send us the HSN (HARDWARIO Serial Nuber) of the device(s) or HEO (HARDWARIO Order code) together with the email(s) for which we create an account.
+In [HARDWARIO Cloud v1](https://legacy.hardwario.cloud/), we need to make accounts manually. So, if you have a CHESTER device and don't already have access to the cloud, please contact your salesperson from HARDWARIO or write to ask@hardwario.com. Please send us the HSN (HARDWARIO Serial Nuber) of the device(s) or HEO (HARDWARIO Order code) together with the email(s) for which we create an account.
diff --git a/chester/platform-connectivity/bluetooth-low-energy.md b/chester/platform-connectivity/bluetooth-low-energy.md
index ce401ed..81b9059 100644
--- a/chester/platform-connectivity/bluetooth-low-energy.md
+++ b/chester/platform-connectivity/bluetooth-low-energy.md
@@ -4,5 +4,8 @@ title: Bluetooth Low Energy
---
import Image from '@theme/IdealImage';
-**CHESTER** with its application processor contains also a Bluetooth Low Energy radio (BLE). **CHESTER** is advertising its name and **HSN** (HARDWARIO Serial Number) on the air and you can use [HARDWARIO Manager](../platform-connectivity/hardwario-manager.md) to connect to it.
+**CHESTER** with its application processor contains also a Bluetooth Low Energy radio (BLE). **CHESTER** is advertising its name and **HSN** (HARDWARIO Serial Number) on the air and you can use:
+
+- [**HARDWARIO Manager**](../platform-connectivity/hardwario-manager.md) phone app to connect to it.
+- [**HARDWARIO Monitor**](../platform-connectivity/hardwario-monitor.md) computer app to connect to it.
diff --git a/chester/platform-connectivity/cellular-networks.md b/chester/platform-connectivity/cellular-networks.md
index 47863eb..e5fae0c 100644
--- a/chester/platform-connectivity/cellular-networks.md
+++ b/chester/platform-connectivity/cellular-networks.md
@@ -12,13 +12,7 @@ export const Link2 = () => (
Open list
);
-In this article, you will find details on various supported cellular networks and the particular settings in various environments. The **CHESTER** platform supports **LTE-M** and **NB-IoT** cellular technologies.
-
-:::tip
-
-The connectivity is enabled through the **nRF9160** System-in-Package from **Nordic Semiconductor**.
-
-:::
+In this article, you will find details on various supported cellular networks and the particular settings in various environments. The **CHESTER** platform supports **LTE-M** and **NB-IoT** cellular technologies using **nRF9160** System-in-Package from **Nordic Semiconductor**.
In **HARDWARIO**, we do not restrict customers to use any SIM card provider of their preference (as long as the selected carrier offers one of the supported cellular technologies). On the other hand, for the SIM cards provided by **HARDWARIO**, we can provide an extended level of technical support.
@@ -36,7 +30,9 @@ For plastic SIM cards, we only support **Nano-SIM** form factor (4FF). Alternati
## Network Settings
-This article provides settings reference for the tested networks:
+This article provides settings reference for the tested networks and current **Cloud v2**.
+
+In case of older firmwares, see legacy [**Cloud v1**](#cloud-v1-configuration) chapter.
:::caution
@@ -48,24 +44,24 @@ The table below applies to the SIM cards provided by **HARDWARIO**. We cannot gu
| :------------- | :--------- | :------- | :------- | :----------------- | :--------------- |
| | LTE-M | Onomondo | - | `onomondo` | |
| | NB-IoT | Onomondo | - | `onomondo` | |
-| Australia | NB-IoT | Vodafone | `50503` | `hardwario.com` | |
+| Australia | NB-IoT | Vodafone | `50503` | `hardwario` | |
| Austria | NB-IoT | T-Mobile | `23203` | `nbiot.telekom.sk` | |
-| Czech Republic | NB-IoT | Vodafone | `23003` | `hardwario.com` | |
-| Germany | NB-IoT | Vodafone | `26202` | `hardwario.com` | |
-| Greece | NB-IoT | Vodafone | `20205` | `hardwario.com` | |
-| Hungary | NB-IoT | Vodafone | `21670` | `hardwario.com` | |
-| Ireland | NB-IoT | Vodafone | `27201` | `hardwario.com` | |
-| Italy | NB-IoT | Vodafone | `22210` | `hardwario.com` | |
-| Netherlands | NB-IoT | Vodafone | `20404` | `hardwario.com` | |
-| New Zealand | NB-IoT | Vodafone | `53001` | `hardwario.com` | |
+| Czech Republic | NB-IoT | Vodafone | `23003` | `hardwario` | |
+| Germany | NB-IoT | Vodafone | `26202` | `hardwario` | |
+| Greece | NB-IoT | Vodafone | `20205` | `hardwario` | |
+| Hungary | NB-IoT | Vodafone | `21670` | `hardwario` | |
+| Ireland | NB-IoT | Vodafone | `27201` | `hardwario` | |
+| Italy | NB-IoT | Vodafone | `22210` | `hardwario` | |
+| Netherlands | NB-IoT | Vodafone | `20404` | `hardwario` | |
+| New Zealand | NB-IoT | Vodafone | `53001` | `hardwario` | |
| Poland | NB-IoT | T-Mobile | `26002` | `nbiot.telekom.sk` | |
-| Portugal | NB-IoT | Vodafone | `26801` | `hardwario.com` | |
-| Romania | NB-IoT | Vodafone | `22601` | `hardwario.com` | |
+| Portugal | NB-IoT | Vodafone | `26801` | `hardwario` | |
+| Romania | NB-IoT | Vodafone | `22601` | `hardwario` | |
| Slovakia | NB-IoT | T-Mobile | `23102` | `nbiot.telekom.sk` | |
-| South Africa | NB-IoT | Vodafone | `65501` | `hardwario.com` | |
-| Spain | NB-IoT | Vodafone | `21401` | `hardwario.com` | |
-| United Kingdom | NB-IoT | Vodafone | `23415` | `hardwario.com` | |
-| United States | NB-IoT | Vodafone | `310410` | `hardwario.com` | Roaming via AT&T |
+| South Africa | NB-IoT | Vodafone | `65501` | `hardwario` | |
+| Spain | NB-IoT | Vodafone | `21401` | `hardwario` | |
+| United Kingdom | NB-IoT | Vodafone | `23415` | `hardwario` | |
+| United States | NB-IoT | Vodafone | `310410` | `hardwario` | Roaming via AT&T |
## Applying Settings
@@ -76,10 +72,10 @@ lte config lte-m-mode false
lte config nb-iot-mode true
lte config autoconn false
lte config plmnid 50503
-lte config apn hardwario.com
+lte config apn hardwario
```
-If you need to search for the network automatically, enable the `autoconn` parameter:
+When `autoconn` is `true`, the **`plmnid` parameter is ignored** and SIM searches for the best network according to 3GPP standard.
```
lte config autoconn true
@@ -124,7 +120,7 @@ lte config lte-m-mode true
lte config nb-iot-mode false
lte config autoconn true
lte config apn onomondo
-lte config addr 165.227.146.193
+lte config addr 20.101.123.47
```
## Vodafone Czech Republic NB-IoT Configuration
@@ -135,9 +131,9 @@ This is the reference LTE settings when using **CHESTER** with the **Vodafone Cz
lte config lte-m-mode false
lte config nb-iot-mode true
lte config autoconn false
-lte config apn hardwario.com
+lte config apn hardwario
lte config plmnid 23003
-lte config addr 192.168.168.1
+lte config addr 192.168.192.4
```
## Slovak Telekom NB-IoT Configuration
@@ -150,7 +146,7 @@ lte config nb-iot-mode true
lte config autoconn false
lte config apn nbiot.telekom.sk
lte config plmnid 23102
-lte config addr 165.227.146.193
+lte config addr 20.101.123.47
```
## Vodafone Slovakia (Orange)
@@ -173,9 +169,21 @@ lte config nb-iot-mode true
lte config autoconn false
lte config apn M2M-NB
lte config plmnid 42003
-lte config addr 165.227.146.193
+lte config addr 20.101.123.47
```
+## Cloud v1 configuration
+
+For our legacy [HARDWARIO Cloud v1](https://legacy.hardwario.cloud) firmwares (usually CHESTER catalogue firmware version is 2.x.x) you need to use a different settings for these two config items:
+
+- **IP** with Vodafone SIM card: `lte config addr 192.168.168.1`
+- **IP** with non-Vodafone SIM card: `lte config addr 165.227.146.193`
+- **APN**: `lte config apn hardwario.com`
+
+Notice the APN has a `.com` suffix, and IP leads to Cloud v1 UDP server.
+
+Don't forget to **save configuration changes by typing `config save`.**
+
## List Available Networks
You can use CHESTER to scan for networks it can see. This is mainly for troubleshooting purposes.
diff --git a/cloud/cloud-v2/downlink.md b/cloud/cloud-v2/downlink.md
index 129cefc..2f7c539 100644
--- a/cloud/cloud-v2/downlink.md
+++ b/cloud/cloud-v2/downlink.md
@@ -24,6 +24,8 @@ You can send JSON commands that the device will decode and your code will receiv
You can configure the device the same way as you configure it over BLE or J-Link RTT. Just send for example `app config interval-report 600` command and CHESTER will apply the new configuration when it sends an uplink packet or polls for the new data.
+In cloud, don't type the `config save` command.
+
## Shell Commands
In the messages or device detail, you can click on the **shell** icon and the shell console will open.
diff --git a/sidebars-chester.js b/sidebars-chester.js
index c4e4180..bcba71b 100644
--- a/sidebars-chester.js
+++ b/sidebars-chester.js
@@ -33,13 +33,13 @@ const sidebars = {
'catalog-applications/common-functionality',
'catalog-applications/chester-clime',
'catalog-applications/chester-current',
- 'catalog-applications/chester-counter',
- 'catalog-applications/chester-input',
+ 'catalog-applications/chester-control',
'catalog-applications/chester-push',
'catalog-applications/chester-meteo',
- 'catalog-applications/chester-range',
'catalog-applications/chester-wm-bus',
- 'catalog-applications/chester-control'
+ 'catalog-applications/chester-range',
+ 'catalog-applications/chester-input',
+ 'catalog-applications/chester-counter'
],
},
{
@@ -76,8 +76,8 @@ const sidebars = {
},
collapsed: true,
items: [
- 'hardware-description/chester-m',
'hardware-description/chester-u1-module',
+ 'hardware-description/chester-m',
'hardware-description/enclosures',
'hardware-description/i2c-address-space',
],