6 Configuration Dictionary
The configuration dictionary is a key-value store containing all the options necessary for the proper functioning of ExpressLink modules. All keys are case sensitive.
Configuration key-value pairs listed in Table 2 are meant to be long lived (persist) throughout the life of the application and so are stored in non-volatile memory. Note that these key-value pairs have factory preset values, and can be read only or write only.
Configuration Parameter |
Type |
Initial Value |
Factory Reset |
Buff Size |
Description |
---|---|---|---|---|---|
About |
R |
Vendor - Model |
N |
64 |
A concatenation of Vendor name and Model name (also see 11.1.5.3). |
Version |
R |
X.Y.Z [suffix] |
N |
32 |
The specific module firmware version (also see 11.1.5.3). Note: an optional alphanumeric suffix may be present. |
TechSpec |
R |
TechSpec version |
N |
16 |
The Technical Specification version this model implements (for example 'v0.6', 'v1.1.2'). |
ThingName |
R |
UID |
N |
64 |
The UID provided by the HW root of trust and present in the device certificate (also see 11.1.3.1) 11.1.3 ExpressLink Birth Certificate ). |
Certificate |
R |
Device Birth Certificate |
N |
≥4KB |
Device certificate used to authenticate with AWS cloud, signed by the manufacturer CA (also see 11.1.3 ExpressLink Birth Certificate ). |
CustomName |
R/W |
{empty} |
Y |
≥128 |
Custom Product Name, can be set by the host (also see 11.1.5 ExpressLink MQTT Login signature. |
Endpoint |
R/W |
Staging account endpoint |
Y |
≥128 |
The endpoint of the AWS account to which the ExpressLink module connects (also see 11.3.2 ExpressLink onboarding states and transitions). |
RootCA |
R/W |
AWS root CA |
N |
≥4KB |
The server root certificate that will be used to authenticate the cloud Endpoint (also see 8.12 Server Root Certificate Update ). |
ShadowToken |
R/W |
ExpressLink |
Y |
64 |
The default client-token that will be used to mark Device Shadow updates. |
DefenderPeriod |
R/W |
0 |
Y |
≥8 |
The Device Defender upload period in seconds. (0 indicates the service is disabled.) |
HOTAcertificate |
R/W |
{empty} |
Y |
≥4KB |
Host OTA certificate (see 8.10 Host OTA Signature Verification). |
OTAcertificate |
W |
Vendor OTA Certificate |
N |
≥4KB |
Module OTA certificate. Vendor and Model specific (see 8.5 Module OTA signature verification ). (Wi-Fi modules only.) |
SSID |
R/W |
{Empty} |
Y |
32 |
SSID of local router (Wi-Fi modules only). |
Passphrase |
W |
{Empty} |
Y |
64 |
Passphrase of local router (Wi-Fi modules only). |
APN |
R/W |
{default} |
Y |
128 |
Access Point Name (Cellular modules only). |
The additional configuration parameters in Table 3 are non-persistent. They are re-initialized at power up, and following any reset event. The host processor might have to re-configure them following a reset and (possibly) a deep sleep awakening (depending on the implementation).
Configuration Parameter |
Type |
Initial Value |
Buff Size |
Description |
---|---|---|---|---|
QoS |
R/W |
0 |
1 |
QoS level selected for SEND commands |
Topic1 |
R/W |
{Empty} |
≥128 |
Custom defined topic 1 |
Topic2 |
R/W |
{Empty} |
Custom defined topic 2 |
|
... |
||||
Topic<Max Topic> |
R/W |
{Empty} |
Custom defined topic MaxTopic |
|
EnableShadow |
R/W |
0 |
1 |
0 - disabled, or 1 - enabled |
Shadow configuration parameters (required only by modules that support the Shadow feature, see 9.2 AWS IoT Device Shadow) |
||||
Shadow1 |
R/W |
{Empty} |
64 |
Custom defined named shadow |
... |
||||
Shadow<MaxShadow> |
R/W |
{Empty} |
Custom defined named shadow |
|
BLE configuration parameters (required only by modules that support BLE host control, see 12 Bluetooth Low Energy) |
||||
BLECentral1 |
R/W |
{Empty} |
≥ 128 |
GAP Central discovery/connect configurations. |
BLECentral2 |
R/W |
{Empty} |
≥ 128 |
|
... |
||||
BLECentral<MaxBLECentral> |
R/W |
{Empty} |
≥ 128 |
|
BLEGATT1 |
R/W |
{Empty} |
≥ 128 |
GATT Characteristic definitions (JSON). |
BLEGATT2 |
R/W |
{Empty} |
≥ 128 |
|
... |
||||
BLEGATT<MaxBLEGatt> |
R/W |
{Empty} |
≥ 128 |
|
BLEPeripheral |
R/W |
{Empty} |
≥ 128 |
GAP Peripheral advertising configuration. |
6.1 Data values referenced
6.1.1.1
Maximum key length is 16 characters-
A parameter name (key) can be from 1 to 16 characters.
Returns:
6.1.1.2
ERR9 INVALID KEY LENGTH
-
If a parameter name (key) exceeds 16 characters, the ExpressLink module returns 'ERR9 INVALID KEY LENGTH'.
6.1.1.3
Valid key characters are 0-9, A-Z, a-z-
A parameter name (key) may only contain alphanumeric characters.
Returns:
6.1.1.4
ERR10 INVALID KEY NAME
-
If a non-alphanumeric character is used in a key name, then the ExpressLink module returns 'ERR10 INVALID KEY NAME'.
6.1.1.5
ERR11 UNKNOWN KEY
-
If the parameter name (key) is not found in Table 2 - Configuration Dictionary Persistent Keys or Table 3 - Configuration dictionary non-persistent keys , then the module returns 'ERR11 UNKNOWN KEY'.
6.1.1.6
ERR4 PARAMETER ERROR
-
If the parameter (value) length exceeds the buffer size as defined in Table 2 - Configuration Dictionary Persistent Keys or Table 3 - Configuration dictionary non-persistent keys .
6.2 Dictionary data access - CONF command
6.2.1 CONF KEY={value} »Assignment«
Assign a value to a configuration parameter present in the configuration dictionary. (See 8.11.2 CONF? {certificate} pem »Special certificate output formatting option« ).
Returns:
6.2.1.1
OK{EOL}
-
If the write is successful, then the module returns 'OK'.
Example:
AT+CONF Topic1={EOL} # Assign the empty string to Topic 1 OK
6.2.1.2
ERR9 INVALID KEY LENGTH
-
If the key is too long, then the module returns 'INVALID KEY LENGTH'.
6.2.1.3
ERR10 INVALID KEY NAME
-
If the key uses incorrect characters, then the module returns 'INVALID KEY NAME'.
6.2.1.4
ERR11 UNKNOWN KEY
-
If the key is not present in the dictionary, then the module returns 'UNKNOWN KEY'.
Example:
AT+CONF VERSION=1.0 # Incorrect capitalization ERR11 UNKNOWN KEY # The key is not recognized as spelled
6.2.1.5
ERR12 KEY READONLY
-
Some keys are read-only and cannot be written. If the key cannot be written to, then the module returns 'KEY READONLY' (for example, ThingName, Certificate, About).
Example
AT+CONF Version=1.0 # Attempt to manually modify the Version parameter ERR12 KEY READONLY
6.2.1.6
ERR23 INVALID SIGNATURE
-
When updating a certificate (for example, Certificate, OTAcertificate, HOTAcertificate) if a required signature verification failed, then the module returns 'INVALID SIGNATURE'. (See 8.11 Host OTA certificate update for more detail on the signature verification rules that apply to different types of certificates.)
6.2.2 CONF? key »Read the value of a configuration parameter«
Returns:
6.2.2.1
OK {value}
-
If the read is successful, then the module returns 'OK'.
6.2.2.2
ERR9 INVALID KEY LENGTH
-
If the key is too long, then the module returns 'INVALID KEY LENGTH'.
6.2.2.3
ERR10 INVALID KEY NAME
-
If the key uses incorrect characters, then the module returns 'INVALID KEY NAME'.
6.2.2.4
ERR11 UNKNOWN KEY
-
If the key is not present in the system, then the module returns 'UNKNOWN KEY'.
6.2.2.5
ERR13 KEY WRITEONLY
-
Some keys are write-only and cannot be read. If the key cannot be read, then the module returns 'KEY WRITEONLY'.
Example:
AT+CONF? Passphrase ERR13 KEY WRITEONLY