For the complete documentation index, see llms.txt. This page is also available as Markdown.

Using the AnyNet SMARTconnect™ configuration file

Eseye-enabled module operating parameters are contained in a module-specific configuration file.

The Eseye-enabled Quectel module operating parameters are contained in the configuration file, which you can find here: /datatx/eseyeconfig.ini.

You can use the configuration file to set the following parameters:

  • Operational

  • Network

  • Application

  • Host

  • Config

  • MQTT

  • UDP

  • SMS

  • Location

If this file does not exist, a backup configuration file is used instead: /datatx/eseyeconfig.bak. If neither file exists, AnyNet SMARTconnect™ uses internal default configuration parameters.

To display the contents of the current configuration file:

  • Send AT+ETMCFG="show".

To save the current configuration:

  • Send AT+ETMCFG="save".

For more information, see ETMCFG – read and write configuration file values.

To update the configuration file over the air, see Updating the modem firmware using AWS IoT jobs – Quectel module.

You can deploy the configuration file using any of the following network protocols: http, https, or tftp.

You can trigger an update using either SMS, MQTT, or AT command.

The .ini file is divided into sections, denoted by square brackets. Each section has parameters listed underneath it.

To view an example configuration file, see Example content – AnyNet SMARTconnect™ configuration file.

Section
Parameter
Definition

[operation]

Operational parameters

anynet_secure

Only for the Quectel EG2x-G module. Sets how the device stores security credentials: auto (default) — Check the SIM first, then the device file system. true — Use credentials from the SIM only. Wait if they are unavailable. false — Use credentials from the device file system only.

apptrace

AnyNet SMARTconnect™ application trace level (0-4), for Support purposes. Leave as 1 (default).

at_uart_baud

Only for the Quectel EG2x-G module. Sets the UART baud rate for serial communication. Supported rates: 4800, 9600, 19200, 38400, 57600, 115200, 230400, 460800, 921600, 3000000, and 4000000.

attrace

AnyNet SMARTconnect™ AT command trace level (0-4), for Support purposes. Leave as 1 (default).

enable_time_zone

Enables local time when network time is unavailable: 0 — Disable the default time zone. 1 — Use the default time zone. Also configure <time_zone>.

irqhigh

Only for the Quectel EG2x-G module. Sets the interrupt pin for the device MCU: 0 — Active-low. 1 (default) — Active-high.

irqpin

Specifies the physical AnyNet SMARTconnect™ IRQ pin. Quectel BG95 module: 4–7, 18–19, 22–23, 26–28, 40–41, or 64. Quectel EG2x-G module: 1–6, 13, 23–27, or 37–42.

ntp_urls

Specifies one or more NTP servers in comma-separated order. If the first server fails, AnyNet SMARTconnect™ tries the next server. Example: ntp_urls=pool.ntp.org,time.nist.gov,time.google.com. For more information, see Time synchronisation services – NTP vs NITZ.

nvqueue_enable

Controls the non-volatile (NV) queue. The queue prevents message loss during a power cycle or reboot. 0 — Disable the NV queue. 1 (default) — Enable the NV queue.

nvqueuemaxsize

Sets the maximum NV transmit queue size, in bytes. Default: 2048. If the queue exceeds this size, the device drops the oldest messages. The default suits small payloads. Increase this value for large payloads. Set the maximum NV store size to at least four times the largest published message, plus eight bytes for the storage header. For 1000-byte messages, set nvqueuemaxsize to at least 4032.

nvqueuetrace

AnyNet SMARTconnect™ non-volatile (NV) queueing subsystem trace level (0-4), for Support purposes. Leave as 1 (default).

mode

Sets the default startup operating mode: lwm2m mqtt udp none (default) — Send a start command for the selected telemetry protocol. For example, AT+ETMSTATE=startmqtt. For more information, see ETMSTATE – check current state.

teletrace

AnyNet SMARTconnect™ data connection subsystem trace level (0-4), for Support purposes. Leave as 1 (default).

time_format

Transforms the time string into a human-readable format. Common specifiers appear below.

All specifiers display as integers.

### Concatenated specifiers * %D — Same as %m/%d/%y. * %F — ISO 8601 date format. Same as %Y-%m-%d. * %R — Same as %H:%M. * %T — ISO 8601 time format. Same as %H:%M:%S. ### Single specifiers * %d — Day of the month. Range: 01–31. * %e — Day of the month. A single digit is preceded by a space. Range: 1–31. * %G — Year of the ISO 8601 week number. Use with %V. Example: 2024. * %g — Last two digits of the ISO week-number year. Use with %V. Example: 24. Range: 00–99. * %H — Hour, using a 24-hour clock. Range: 00–23. * %I — Hour, using a 12-hour clock. Range: 01–12. * %j — Day of the year. Range: 001–366. * %m — Month. Range: 01–12. * %M — Minute. Range: 00–59. * %n — Newline character. * %s — Seconds since the Epoch: 1970-01-01 00:00:00+0000 (UTC). * %S — Second. Range: 00–60. * %t — Horizontal tab character. * %u — ISO 8601 weekday. Monday is 1. Range: 1–7. * %U — Week number of the year. Sunday is the first day of week one. Range: 00–53. * %V — ISO 8601 week number. Monday is the first day of week one. Range: 01–53. * %w — Weekday. Sunday is 0. Range: 0–6. * %W — Week number of the year. Monday is the first day of week one. Range: 00–53. * %Y — Year. Example: 2024. * %y — Last two digits of the year. Range: 00–99. * %z — UTC offset, including daylight saving time, in ISO 8601 format. Example: -0430. Returns no characters when the time zone is unavailable. * %% — Replaced by %.

time_urc

Reports the time when it becomes available in the internal clock: none (default) — Disable the URC. local — Report local time using the time zone and daylight saving time. utc — Report UTC time. Format the displayed time with [operation] time_format.

time_zone

Sets the default UTC offset, in minutes, until the device obtains time from the cellular network. 0 (default) — No offset. The device displays local time. Examples: India: +5.5x60=330. US Central time: -6x60=-360.

update_autoreboot

Controls automatic reboots after an over-the-air (OTA) update. 0 — Disable automatic reboots. The +ETM: REBOOT REQUIRED URC appears after an update. Reset AnyNet SMARTconnect™ by sending AT+ETMSTATE="reboot". 1 (default) — Enable automatic reboots. The device issues the +ETM: REBOOTING URC. Wait for the +ETM: IDLE URC before starting the telemetry mode.

[network]

Cellular network parameters

apn

Access Point Name. For more information, see Current AnyNet APN list.

apnuser

APN user name. For more information, see Current AnyNet APN list.

apnpass

APN password. For more information, see Current AnyNet APN list.

band

For the Quectel BG95 module only. Specifies a comma-separated list of radio frequency bands. Example: 0xf,0x400a0e189f,0xa0e189f. This is a Quectel BG95 module setting. Refer to the Quectel documentation for more information.

disable_rxdiv

Controls diversity antenna use: 0 (default) — Enable the diversity antenna. 1 — Disable the diversity antenna for single-antenna operation.

iotopmode

Selects the LTE network categories available to the modem: 0 (default) — LTE Cat M1. 1 — LTE Cat NB1. 2 — LTE Cat M1 and LTE Cat NB1. This is a Quectel BG95 module setting. Refer to the Quectel documentation for more information.

nwscanseq

Consult Eseye before changing this parameter. Sets the Radio Access Technology (RAT) search sequence for 2G and 4G. 00 (default) — Automatic: LTE Cat M1, LTE Cat NB1, then GSM. 01 — GSM. 02 — LTE Cat M1. 03 — LTE Cat NB1. For example, 010203 searches GSM, LTE Cat M1, then LTE Cat NB1. This is a Quectel BG95 module setting. Refer to the Quectel documentation for more information.

nwscanmode

Consult Eseye before changing this parameter. Sets the Radio Access Technologies (RATs) to search: 0 (default) — Automatic. 1 — 2G (GSM) only. 3 — 4G (LTE) only. This is a Quectel BG95 module setting. Refer to the Quectel documentation for more information.

tech

Sets the preferred cellular connection technology: 2G — 2G (GSM) only. LTE — 4G (LTE) only. any (default) — 2G or LTE. This is a Quectel BG95 module setting. Refer to the Quectel documentation for more information.

tracelevel

Cellular connectivity trace level (0-4), for Support purposes. Leave as 1 (default).

[application]

Modem and AnyNet SMARTconnect™ application update parameters

fotaport

Modem firmware over-the-air (OTA) image protocol IP port. Default: 80

fotaurl

Sets the modem firmware OTA image URL. Supported protocols: http, https, and tftp. If you do not set this parameter, it is not included in the configuration file.

updateport

AnyNet SMARTconnect™ application update protocol IP port. Default: 80

updateurl

Sets the AnyNet SMARTconnect™ application update URL. Supported protocols: http, https, and tftp. If you do not set this parameter, it is not included in the configuration file.

[host]

The device embedded controller (host) parameters

updateport

Host firmware update protocol IP port. Default: 80

updateurl

Sets the host firmware update URL. Supported protocols: http, https, and tftp. If you do not set this parameter, it is not included in the configuration file.

[config]

AnyNet SMARTconnect™ configuration file update parameters

updateport

Configuration file update protocol IP port. Default: 80

updateurl

Sets the configuration file update URL. Supported protocols: http, https, and tftp. If you do not set this parameter, it is not included in the configuration file.

[mqtt]

MQTT parameters for communicating with the cloud

awsjobs

Controls the AWS Jobs topic subscription: 0 — Do not subscribe to AWS Jobs topics. 1 (default) — Subscribe to AWS Jobs topics.

awsshadow

Sets the AWS shadow reporting mode: simple (default) — Report only the state.reported object. complete — Report the complete JSON data. off — Do not report a set value. For more information, see EMQPERSIST – report a set value to the device shadow.

azuretopicproperty

Controls Azure IoT topic properties: 0 (default) — Disable azuretopicproperty. 1 — Enable azuretopicproperty. For more information, see EMQPUBOPEN – create a publish message topic and EMQSUBOPEN – create a subscribe message topic.

clientid

MQTT client ID. This parameter is ignored when AnyNet SMARTconnect™ connects in Google IoT mode. If this parameter is not set, it is not included in the configuration file.

enable_msg_tokens

Enables you to use MQTT message tokens within MQTT messages sent to the MQTT broker, either: 0 (default) – disables message token use 1 – enables the following tokens: - $a – the currently in use Radio Access Technology (RAT). Possible values: - GSM – GSM/GPRS/EDGE mode - eMTC – eMTC mode - NBIoT – NB-IoT mode - NOSERVICE – if AnyNet SMARTconnect™ has no connection to a network - $b – the LTE Signal to Interference & Noise Ratio (SINR) - $c – the Mobile Country Code (MCC) - $i – the unique IMEI number for the device - $n – the Mobile Network Code (MNC) - $p – the LTE Reference Signal Received Power (RSRP) - $q – the LTE Reference Signal Received Quality (RSRQ) - $r – the device Received Signal Strength Indicator (RSSI) - $s – the International Mobile Subscriber Identity (IMSI) $b, $p, and $q are LTE-only signal metrics. If the device is using a GSM connection, the returned value is 0.

keepalive

Maximum expected time (in seconds) between received keepalives before AnyNet SMARTconnect™ assumes the MQTT connection is down. Default: 1200

mqttenablerxqueue

For enabling or disabling the MQTT Rx Queue. Either: 0 (default) – disables the queue 1 – enables the queue For more information, see MQTT Rx Queue.

mode

The method that AnyNet SMARTconnect™ uses to connect to the MQTT cloud broker, either: auto (default) – Uses the connection URL (set within the credentials AnyNet SMARTconnect™ gets from the AnyNet Secure SIM) to determine the mode aws_iot – for Amazon cloud connection azure_iot – for MS Azure cloud connection google_iot – for Google-derived cloud connection Contact Support for more information.

mqttlwtmessage

Last will and testament (LWT) message for notifying subscribed clients about an unexpected loss of connection. To enable LWT, you must configure and . Use: – the MQTT message that is discarded if the client disconnects gracefully If this parameter is not set, it is not included in the configuration file.

mqttlwtqos

Last will and testament (LWT) message QoS, defining the guarantee of message delivery. Either: 0 (default) – at most once, no guarantee of message receipt 1 – the message is sent or delivered to the receiver one or more times

mqttlwtretain

Last will and testament (LWT) message retained message flag, either: 0 (default) – message flag not enabled. This is a required setting for AWS only. 1 – message flag enabled

mqttlwttopic

Last will and testament (LWT) topic path for notifying subscribed clients about an unexpected loss of connection. To enable LWT, you must configure and . Use: topic – the topic path If this parameter is not set, it is not included in the configuration file.

mqttrxqueuesize

The maximum number of messages that the MQTT Rx Queue can retain, up to three. Either: 1, 2, or 3 (default)

mqttsettingstopic

Alternative to the AWS IoT shadow for configuring AnyNet SMARTconnect™ behaviour. Subscription to this single topic enables commands to be sent from the cloud broker to AnyNet SMARTconnect™ via MQTT. Use either: settings/ (default) - If the parameter is not configured, then AnyNet SMARTconnect™ subscribes to the settings topic and appends the parameter. / – If the parameter is configured, then AnyNet SMARTconnect™ subscribes to the MQTT settings topic name and appends the parameter. The parameter supports the following tokens: - $t –the cloud thingName - $i – the unique IMEI number for the device For example, settingtopicname/$t. If a token is used, is not used.

mqttvolatiletxqueuesize

Sets the volatile buffer queue depth for transmitting messages when the [operation] nvqueue_enable is 0. You can use a value between 1 and 12. Default: 12.

port

MQTT protocol IP port. Default: 8883

singlepubtopic

Predefined topic for single-publish systems. The is not added as a suffix to the singlepubtopic name, however you can use a token instead. The parameter supports the following tokens: - $t –the cloud thingName - $i – the unique IMEI number for the device For example, settingtopicname/$t. If a token is used, is not used. If this parameter is not set, it is not included in the configuration file.

singlepubtopicqos

QoS for single publish, defining the guarantee of message delivery. Either: 0 (default) – at most once, no guarantee of message receipt 1 – the message is sent or delivered to the receiver one or more times

singlesubtopic

Predefined topic for single subscription systems. The topic name depends on <[mqtt] singlesubtopic>/<[mqtt] topicsuffix>, unless a token is used. The parameter supports the following tokens: - $t –the AWS thingName - $i – the unique IMEI number for the device For example: mysinglesubtopic/$t If this parameter is not set, it is not included in the configuration file.

singlesubtopicqos

Quality of Service (QoS) for single subscription, defining the guarantee of message delivery. Either: 0 (default) – at most once, no guarantee of message receipt 1 – the message is sent or delivered to the receiver one or more times

tls_cipher

The cipher suite we advertise to the cloud for connectivity. auto (default) – Uses the connection URL (set within the credentials AnyNet SMARTconnect™ gets from the AnyNet Secure SIM) to determine the cipher ec – forces Elliptic-Curve cryptography only rsa – forces the RSA algorithm cryptography only

topicsuffix

Appends a topic path to the end of the requested topic to uniquely identify the thing on the broker. thingname (default) – the cloud thingName imei – the unique IMEI number for the device none – the exact topic is used, with no suffix appended If topicsuffix is not present in the configuration file, then thingname is appended on the requested topic.

tracelevel

MQTT trace level (0-4), for Support purposes. Leave as 1 (default).

urcautoformat

For formatting URCs, either: 0 – sends all URCs as ASCII-hex within quotes For example: '{"key1":"val1"}' will appear in a URC as '+EMQ: ,15\r\n"7B226B657931223A2276616C31227D"' 1 (default) – this option enables sending URCs as either ASCII-hex or text, depending on the received payload. - If the received payload is printable text (including JSON), then the URC data is sent as text. For example: '{"key1":"val1"}' will appear in a URC as '+EMQ: ,15\r\n{"key1":"val1"}' For JSON, the maximum payload is 1012 characters. Escaped quotes count as 1 character: " - If the received payload is binary data, then the URC data is sent as ASCII hex.

url

MQTT server URL (IP address or name)

[lwm2m]

LwM2M parameters

wakaama_lwm2m_trace

Enables the Wakaama library trace for Support purposes, either: 0 (default) – trace disabled 1 – trace enabled

wakaama_coap_trace

Enable the Wakaama CoAP trace for Support purposes, either: 0 (default) – trace disabled 1 – trace enabled

client_tracelevel

LwM2M client trace level (0-4), for Support purposes. Leave as 1 (default).

nat_timeout

NAT session timeout (in seconds) if no data sent to the server for the specified time period. Range: 0-65535. Default: 120. For DTLS connections, when the NAT session times out, a new DTLS connection is established the next time AnyNet SMARTconnect™ sends data to the server.

lifetime

The session lifetime value (in seconds), using LwM2M resource "/1/0/1". Range: 0-65535. Default: 205. If AnyNet SMARTconnect™ does not send data to the server for the specified lifetime, the server will consider the client de-registered. If data is sent during the lifetime, AnyNet SMARTconnect™ uses the following calculation to work out how often to send a "Registration Update" message to the server: If lifetime > 93, then a "Registration Update" is sent every "lifetime–93" seconds, otherwise every "lifetime/2" seconds.

[udp]

User Datagram Protocol (UDP) parameters

port

UDP IP port. Default: 12401

url

UDP IP address

[sms]

SMS parameters for device management.

enable

For configuring SMS handling, either: 0 – SMS handling disabled 1 (default) – SMS handling enabled

tracelevel

SMS trace level (0-4), for Support purposes. Leave as 1 (default).

allowedlist

Comma-separated list of one or more MSISDN values from which SMS is accepted. Include the international country code without the leading zeros. For example: 447700900170,447700900854

[location]

Global navigation satellite system (GNSS) location parameters

enable

For configuring location, either: 0 (default) – location disabled 1 – location enabled; Quectel module will always try to establish a GPS/GNSS location while running

tracelevel

Location trace level (0-4), for Support purposes. Leave as 1 (default).

Example content – AnyNet SMARTconnect™ configuration file

The following configuration example is for a battery operated device that connects to the network at random times, when in use.

  • The microcontroller (MCU) has very limited programming capacity.

  • It uses elliptic-curve cryptography (ECC).

  • The device data is sent to AWS.

  • Device updates and so on are fetched from AWS. In line with best practice, the device initiates all communication with AWS.

    For more information, see Device configuration best practices.

[operation]

mode=mqtt

; Operating in MQTT mode by default

irqmode=none

irqpin=26

apptrace=1

nvqueuetrace=1

teletrace=1

attrace=1

nvqueuemaxsize=2048

nvqueue_enable=1

update_autoreboot=0

; Disables autoreboot. The device is not designed to handle the

; modem disconnecting and connecting in an uncontrolled way.

; By disabling autoreboot, then using AT+ETMSTATE="powerdown" and

; waiting for a POWERED DOWN URC, the device can process an OTA

; without disrupting the normal flow of operation.

; To set this up, use the AT+ETMSTATE=1 command to enable state change URC.

time_format=%F,%T%z

time_urc=none

enable_time_zone=0

time_zone=0

; Sets the time and timezone to match where the device physically exists.

; The timezone value is passed to a server-side platform for further processing.

ntp_urls=pool.ntp.org,time.nist.gov,time.google.com

[network]

apn=eseye1

apnuser=$v

apnpass=$f

tech=any

iotopmode=0

nwscanseq=020301

nwscanmode=0

band=0xf,0x100002000000000f0e189f,0x10004200000000090e189f

tracelevel=1

[application]

[host]

[config]

[mqtt]

mode=auto

mqttenablerxqueue=0

mqttrxqueuesize=3

mqttvolatiletxqueuesize=12

port=8883

keepalive=900

topicsuffix=thingname

urcautoformat=1

singlesubtopic=dev/a01/j261a/sub/2/$t

singlepubtopic=dev/a01/j261a/pub/2/$t

; Sets singletopic publish and subscribe. Limited device memory restricts the

; capacity to make multiple subscriptions and check that they have connected

; properly and so on. This makes device coding easier.

singlesubtopicqos=0

singlepubtopicqos=1

; Sets the publish Quality of Service to ensure the messages from device

; to server-side platform are delivered.

tracelevel=1

mqttsettingstopic=settings

mqttlwtqos=0

mqttlwtretain=0

enable_msg_tokens=1

; Enables message tokens so that AnyNet SMARTconnect fills the values, rather than

; having to code the device to query the values. For example, to gather connectivity

; information such as RSSI, MNC, MCC, IMSI, and so on.

tls_cipher=ec

; Required for ECC to work with AWS IoT Core.

awsjobs=1

; Enables AnyNet SMARTconnect to use AWS jobs to run firmware and host updates OTA.

awsshadow=off

; This example does not use AWS shadow.

[lwm2m]

wakaama_lwm2m_trace=0

wakaama_coap_trace=0

client_tracelevel=1

nat_timeout=120

lifetime=205

[udp]

url=192.168.113.6

port=12401

[sms]

enable=1

allowedlist=447700900170

tracelevel=1

[location]

enable=0

tracelevel=1

Where to next?

  • Installing AnyNet SMARTconnect™ on a Quectel BGxx module

  • AnyNet SMARTconnect™ AT Commands

  • Connecting to the cloud

Last updated

Was this helpful?