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
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.
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.
[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.
### 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.
The comments within the example do not exist in the configuration file on the device.
[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?