- Short range radio modules
- Positioning chips and modules
u-blox Products
- Product selector
- Previous generations
- Contact sales
Find products
- Product documentation
Documentation
Title | NORA-W36 series u-connectXpress |
|---|---|
Subtitle | Stand-alone multiradio modules |
Document type | User guide |
Document number | UBX-23008692 |
Revision and date | R03, 17-Dec-2024 |
Disclosure restriction | C1-Public |
Product name | Software version |
|---|---|
NORA-W36 series | 2.0.0 |
Concept | Definition |
|---|---|
Host | In this document, a host refers to the device connected to a u-blox short range stand-alone module through any of the available physical interfaces. In a real application, the host is typically a microcontroller Unit (MCU) running a customer specific application. |
Module | In this document, module refers to a u-blox stand-alone module. A module can also refer to a self-contained unit or item that is linked with similar units of a larger system that performs a defined task. |
Remote | device A remote device in a wireless network connecting over the Bluetooth Low Energy or Wi-Fi interfaces supported in the module. |
AT+UPMDS, see AT command manual and Data sheet for more information.u-connectXpress Features | Capability in 2.0.0 |
|---|---|
Chipset | Realtek RTL8720DF |
Multiradio | Bluetooth Low Energy 5.3 Wi-Fi 4 dual band 2,4 and 5 GHz |
Wi-Fi capabilities | 802.11a/b/g/n WPA2 Personal and WPA3 Personal Wi-Fi Multimedia WMM/WME/QoS (802.11e) Protected Management Frames (802.11w) Roaming using Fast BSS Transition (802.11r), Radio Measurement (802.11k), and Wireless Network Management (802.11v) |
Wi-Fi Alliance certified | Certification ID: WFA112253 Date of Certification: 2021-06-07 |
Bluetooth Qualification | |
Wi-Fi Access Point | 5 Stations connected |
TCP/UDP sockets | 6 Simultaneous sockets (Note that a listening socket requires 2 sockets) |
MQTT Connections | 1 Connection (client) |
BLE Central connections | 3 Peripherals connected |
BLE Peripheral connections | 1 Central connected |
BLE Scatternet connections (C+P) | Central with 1 Peripheral connected, advertising and allow incoming connection as Peripheral |
BLE Link key storage | 30 Devices. The keys that are the least used are removed first when storage is full |
Coexistence Wi-Fi, BLE and TLS | Max 1 TLS client, 1 BLE, 2 TCP Client |
Data transfer modes | - Buffer Mode (event and read data) - Direct Mode (data in event) - Transparent mode (like serial port cable replacement) Buffer Mode is Default, Transparent mode only supports one link. Transparent Mode has highest throughput, then Direct Mode and then Buffer Mode |
SPS MTU size | 244 bytes, 1000 bytes can be sent in AT command |
TCP MTU size | 1460 bytes, 1000 bytes can be sent in AT command |
UDP MTU size | 1460 bytes, 1000 bytes can be sent in AT command |
u-connectXpress software components | Versions in 2.0.0 |
|---|---|
Realtek SDK including Bluetooth stack and Wi-Fi drivers | 6.2 + 6.2_patch_integrated_241111_f5eb173c https://online.realtek.com/Home/Login |
lwIP TCP/IP stack | 2.0.2 https://savannah.nongnu.org/news/?group_id=3159 |
Mbed TLS cryptographic algorithms | 3.6.0 https://github.com/Mbed-TLS/mbedtls/releases |
u-connectXpress MQTT client | Versions in 2.0.0 |
|---|---|
MQTT version | 3.1.1 |
MQTT capabilities | Publish, Subscribe, TLS, QoS, Testament and Last will |
MQTT maximum packets size | 730 bytes for Publish and Subscribe packets |
u-connectXpress Enterprise security | Capability in 2.0.0 |
|---|---|
PEAP Authentication method | PEAPv0 with EAP-MSCHAPv2 |
EAP Authentication method | EAP Transport Layer Security (EAP-TLS) |
EAP-TLS certificate key size supported | 2048 bits (4096 bits can exceed memory limitations) |
u-connectXpress TLS feature | TLS capability in 2.0.0 |
|---|---|
TLS version | Only TLS1.2 (TLS 1.3 is planned for future versions) |
TLS max number of connections | 1 |
TLS extensions enabled by default | Server Name Indication (SNI), Maximum Fragment Length Negotiation |
TLS Encryption keys | Advanced Encryption Standard (AES). Data Encryption Standard (DES), Rivest Cipher 4 (RC4), and the Camellia cipher are not supported. |
X.509 security certificate formats supported | PEM (DER not supported) |
TLS over TCP certificate key size supported | 4096 bits |
TLS certificates | Up to 8 certifications (or certificate chains) can be stored. Certificates can be maximum 15360 bytes. |
TLS Cipher Suites (28suites) | TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 (0xc024) TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 (0xc028) TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 (0x006b) TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA (0xc00a) TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (0xc014) TLS_DHE_RSA_WITH_AES_256_CBC_SHA (0x0039) TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 (0xc023) TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 (0xc027) TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 (0x0067) TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA (0xc009) TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (0xc013) TLS_DHE_RSA_WITH_AES_128_CBC_SHA (0x0033) TLS_RSA_WITH_AES_256_CBC_SHA256 (0x003d) TLS_RSA_WITH_AES_256_CBC_SHA (0x0035) TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384 (0xc02a) TLS_ECDH_RSA_WITH_AES_256_CBC_SHA (0xc00f) TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384 (0xc026) TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA (0xc005) TLS_RSA_WITH_AES_128_CBC_SHA256 (0x003c) TLS_RSA_WITH_AES_128_CBC_SHA (0x002f) TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256 (0xc029) TLS_ECDH_RSA_WITH_AES_128_CBC_SHA (0xc00e) TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256 (0xc025) TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA (0xc004) TLS_RSA_PSK_WITH_AES_256_CBC_SHA384 (0x00b7) TLS_RSA_PSK_WITH_AES_256_CBC_SHA (0x0095) TLS_RSA_PSK_WITH_AES_128_CBC_SHA256 (0x00b6) TLS_RSA_PSK_WITH_AES_128_CBC_SHA (0x0094) |
TLS Signature Hash Algorithms Supported | MD2, MD4, MD5, SHA1, SHA224, SHA256, SHA384, SHA512, RIPEMD160 |
TLS Signature Hash Algorithms (10 algorithms) | ecdsa_secp521r1_sha512 (0x0603) rsa_pkcs1_sha512 (0x0601) ecdsa_secp384r1_sha384 (0x0503) rsa_pkcs1_sha384 (0x0501) ecdsa_secp256r1_sha256 (0x0403) rsa_pkcs1_sha256 (0x0401) SHA224 ECDSA (0x0303) SHA224 RSA (0x0301) ecdsa_sha1 (0x0203) rsa_pkcs1_sha1 (0x0201) |
TLS Extensions | Server name (SNI) Max fragment length: 4096 (4) |
u-connectXpress BLE default values | 2.0.0 |
|---|---|
BLE Mode default | ON, Central and Peripheral (3) |
BLE Advertising default | OFF, enable with AT+UBTA=1 |
Nr | Instructions | AT command | AT event |
|---|---|---|---|
1 | Check that Bluetooth Central is enabled. 1: Central or 3: Central and Peripheral. If so jump to step 6. | AT+UBTM? | +UBTM:1 or +UBTM:3 |
2 | Enable Bluetooth 1: Central or 3: Central and Peripheral | AT+UBTM=1 or AT+UBTM=3 | |
3 | Store command | AT&W | |
4 | Restart | AT+CPWROFF | |
5 | Wait for NORA-W36 to startup | +STARTUP | |
6 | Connect to remote device | AT+UBTC=AAAAAAAAAAAAp | +UEBTC:0,AAAAAAAAAAAAp |
7 | Discover Services and look for 180D, which is the descriptor for the Heart Rate service. | AT+UBTGPSD=0 | +UBTGPSD:0,12,65535,180D |
8 | Discover all Service Characteristics and look for 2A37, which is the descriptior for the Heart Rate Measurement characteristics. | AT+UBTGSCD=0,12,65535 | +UBTGSCD:0,13,10,14,2A37 |
9 | Use the Value handle, which in this case is 14. The value can vary. Look for 2902, which is the descriptor for the notification. | AT+UBTGCDD=0,14,15 | +UBTGCDD:0,13,15,2902 |
10 | Enable notification on the GATT Client the Central in this example | AT+UBTGCCW=0,15,1 | |
11 | Notification is received on the GATT Client | +UEBTGCN:0,14,60+UEBTGCN:0,14,61+UEBTGCN:0,14,62 |
Nr | Instructions | AT command | AT event |
|---|---|---|---|
1 | Check that Bluetooth Peripheral is enabled 2: Peripheral and 3: Central and Peripheral. If so jump to step 6. | AT+UBTM? | +UBTM:2 or +UBTM:3 |
2 | Enable Bluetooth 2: Peripheral or 3: Central and Peripheral | AT+UBTM=2 or AT+UBTM=3 | |
3 | Store command | AT&W | |
4 | Restart | AT+CPWROFF | |
5 | Wait for NORA-W36 to start | +STARTUP | |
6 | Enable Advertisements to allow connections | AT+UBTA=1 | |
7 | Write the Heart Rate service | AT+UBTGS=180D | +UBTGS:21 |
8 | Write the GATT characteristic | AT+UBTGC=2A37,3A,01,01,00 | +UBTGC:30,31 |
9 | Activate GATT Service | AT+UBTGSA | |
10 | Wait for incoming Bluetooth connection | +UEBTC:0,BBBBBBBBBBB | |
11 | Get the MTU for the connection (optional) | AT+UBTCST=0,4 | +UBTCST:4,247 |
12 | Get the Role for the connection (optional) | AT+UBTCST=0,8 | +UBTCST:8,1 |
13 | Send a notification from the GATT Server using the value handle | AT+UBTGNS=0,14,60AT+UBTGNS=0,14,61AT+UBTGNS=0,14,62 |
Nr | Instructions | AT command | AT event |
|---|---|---|---|
1 | Check that Bluetooth Central is enabled. 1:Central or 3:Central and Peripheral. If so, jump to step 6. | AT+UBTM? | +UBTM:1 or +UBTM:3 |
2 | Enable Bluetooth 1:Central or 3:Central and Peripheral | AT+UBTM=1 or AT+UBTM=3 | |
3 | Store command | AT&W | |
4 | Restart | AT+CPWROFF | |
5 | Wait for NORA-W36 to start | +STARTUP | |
6 | Initiate Bluetooth discovery. Listen for advertising packets broadcast from Peripheral device. | AT+UBTD | +UBTD:AAAAAAAAAAAAp,-52,"NORA-W36-AAAAAA",0,10094E4F52412D5733362D414141414141 |
7 | Connect Bluetooth | AT+UBTC=AAAAAAAAAAAAp | +UEBTC:0,AAAAAAAAAAAAp |
8 | Read MTU, maximum data size | AT+UBTCST=0,4 | +UBTCST:4,247 |
9 | Read RSSI (optional) | AT+UBTRSS=0 | +UBTRSS:-52 |
10 | Connect SPS using handle of Bluetooth connection | AT+USPSC=0 | |
11 | SPS connection is up | +UESPSC:0 | |
12 | |||
13 | Disconnect the SPS and Bluetooth connection | AT+UBTDC=0 | +UESPSDC:0+UEBTDC:0 |
Nr | Instructions | AT command | AT events |
|---|---|---|---|
1 | Check that Bluetooth Peripheral is enabled. 2: Peripheral and 3: Central and Peripheral. If so, jump to step 6 | AT+UBTM? | +UBTM:2 or +UBTM:3 |
2 | Enable Bluetooth 2: Peripheral or 3: Central and Peripheral | AT+UBTM=2 or AT+UBTM=3 | |
3 | Store command | AT&W | |
4 | Restart | AT+CPWROFF | |
5 | Wait for NORA-W36 to startup | +STARTUP | |
6 | Enable SPS on Peripheral | AT+USPS=1 | |
7 | Enable Advertisements | AT+UBTA=1 | |
8 | Peripheral receives Incoming Bluetooth connection | +UEBTC:0,BBBBBBBBBBBBp | |
9 | Read MTU, maximum data size on both | AT+UBTCST=0,4 | +UBTCST:4,247 |
10 | Read RSSI (optional) | AT+UBTRSS=0 | +UBTRSS:-52 |
11 | Central Connect SPS using handle of Bluetooth connection | AT+USPSC=0 | +UESPSC:0 |
12 | |||
13 | SPS and Bluetooth link is down | +UESPSDC:0+UEBTDC:0 |
Nr | Instructions | AT command | AT event |
|---|---|---|---|
1 | Check that Bluetooth Peripheral is enabled 2: Peripheral and 3: Central and Peripheral. If so, jump to step 6. | AT+UBTM? | +UBTM:2 or +UBTM:3 |
2 | Enable Bluetooth 2: Peripheral or 3: Central and Peripheral | AT+UBTM=2 or AT+UBTM=3 | |
3 | Store command | AT&W | |
4 | Restart | AT+CPWROFF | |
5 | Wait for NORA-W36 to start | +STARTUP | |
6 | Set Apple ANCS Advertise data packet | AT+UBTAD=1115D0002D121E4B0FA4994ECEB531F40579 | |
7 | Enable Advertisements | AT+UBTA=1 | |
8 | Peripheral receives Incoming Bluetooth connection | +UEBTC:0,BBBBBBBBBBBBp | |
9 | Discover Services and look for 180A that is the Device Information | AT+UBTGPSD=0 | +UBTGPSD:0,1,5,1800+UBTGPSD:0,6,9,1801+UBTGPSD:0,10,14,180A+UBTGPSD:0,15,19,D0611E78BBB44591A5F8487910AE4366+UBTGPSD:0,20,24,9FA480E0496745429390D343DC5D04AE+UBTGPSD:0,25,28,180F+UBTGPSD:0,29,34,1805+UBTGPSD:0,35,44,7905F431B5CE4E99A40F4B1E122D00D0+UBTGPSD:0,45,56,89D3502B0F36433A8EF4C502AD55F8DC |
10 | Discover all Service Characteristics and look for the attribute 2A29, which describes the Manufacturer Name String characteristics | AT+UBTGSCD=0,10,14 | +UBTGSCD:0,11,02,12,2A29+UBTGSCD:0,13,02,14,2A24 |
11 | Read the Manufacturer Name String Apple Inc. characteristics on handle 12 | AT+UBTGR=0,12 | +UBTGR:0,12,4170706C6520496E632E (Apple Inc.) |
Nr | Instructions | AT command | AT event |
|---|---|---|---|
1 | Set Bluetooth I/O Capabilities to Display Yes/No (2) | AT+UBTIOC=2 | |
2 | Set Only allow authenticated bonding with encrypted Bluetooth link (3) | AT+UBTBSM=3 | |
3 | Allow Pairing | AT+UBTPM=1 | |
4 | Bluetooth Bond | AT+UBTB=BBBBBBBBBBBBp | |
5 | Bluetooth Connected event | +UEBTC:0,BBBBBBBBBBBBp | |
6 | Bluetooth User Confirmation event, check the numer on both devices, should be the same | +UEBTUC:BBBBBBBBBBBBp,786920 | |
7 | Bluetooth User Confirmation, confim with yes | AT+UBTUC=BBBBBBBBBBBBp,1 | |
8 | Bluetooth Bond success | +UEBTB:BBBBBBBBBBBBp,0 | |
9 | Bluetooth Bonded Devices List (optional) | AT+UBTBDL | +UBTBDL:BBBBBBBBBBBBp |
Nr | Instructions | AT command | AT event |
|---|---|---|---|
1 | Check that Bluetooth Peripheral is enabled, 2: Peripheral or 3: Central and Peripheral, if so move to step 6 | AT+UBTM? | +UBTM:2 or +UBTM:3 |
2 | Enable Bluetooth 2: Central or 3: Central and Peripheral | AT+UBTM=1 or AT+UBTM=3 | |
3 | Store command | AT&W | |
4 | Restart | AT+CPWROFF | |
5 | Wait for NORA-W36 to startup | +STARTUP | |
6 | Enable Advertisements | AT+UBTA=1 | |
7 | Set Bluetooth I/O Capabilities to Display Yes/No (2) | AT+UBTIOC=2 | |
8 | Set Only allow authenticated bonding with encrypted Bluetooth link (3) | AT+UBTBSM=3 | |
9 | Allow Pairing | AT+UBTPM=1 | |
10 | Bluetooth Connected event | +UEBTC:0,AAAAAAAAAAAAp | |
11 | Bluetooth User Confirmation event, check the numer on both devices, should be the same | +UEBTUC:AAAAAAAAAAAAp,786920 | |
12 | Bluetooth User Confirmation, confim with yes | AT+UBTUC=AAAAAAAAAAAAp,1 | |
13 | Bluetooth Bond success | +UEBTB:AAAAAAAAAAAAp,0 | |
14 | Bluetooth Bonded Devices List (optional) | AT+UBTBDL | +UBTBDL:AAAAAAAAAAAAp |
AT+UWSIPS set the IP address, gateway, subnet mask and DNS.Nr | Instructions | AT command | AT event |
|---|---|---|---|
1 | Set SSID for the Network | AT+UWSCP=0,"NORA-W36AccessPoint" | |
2a | Set the Password (support WPA2 and WPA3) | AT+UWSSW=0,"mypassword",0 | |
2b | Set the Password (support only WPA3) | AT+UWSSW=0,"mypassword",1 | |
3 | Connect Wi-Fi station | AT+UWSC=0 | |
4 | Wait for Wi-Fi interface | +UEWLU:0,BBBBBBBBBBB,6 | |
5 | Wait for Network interface | +UEWSNU | |
6 | Check IP address (optional) | AT+UWSNST=0 | +UWSNST:0,192.168.1.100 |
7 | Check RSSI (optional) | AT+UWSST=4 | +UWSST:4,-66 |
8 | |||
9 | Disconnect Wi-Fi station | AT+UWSDC |
AT+UWSC=0, AT&W and AT+CPWROFF, the current Wi-Fi Station state is be stored in flash and NORA-W36 will try to connect using Service Set Identifier (SSID) and password stored at startup.Nr | Instructions | AT command | AT event |
|---|---|---|---|
1 | Set SSID for the Network | AT+UWSCP=0,"NORA-W36AccessPoint" | |
2 | Set the User and Passworkd | AT+UWSSP=0,"peap_user_name","peap_password" | |
3 | Connect Wi-Fi station | AT+UWSC=0 | |
4 | Wait for Wi-Fi interface | +UEWLU:0,BBBBBBBBBBB,6 | |
5 | Wait for Network interface | +UEWSNU | |
6 | Check IP address (optional) | AT+UWSNST=0 | +UWSNST:0,192.168.1.100 |
7 | Check RSSI (optional) | AT+UWSST=4 | +UWSST:4,-66 |
8 | |||
9 | Disconnect Wi-Fi station | AT+UWSDC |
AT+UWSC=0, AT&W and AT+CPWROFF, the current Wi-Fi Station state is be stored in flash and NORA-W36 will try to connect using Service Set Identifier (SSID) and password stored at startup.AT+UWSIPS set the IP address, gateway, subnet mask and DNS.Nr | Instructions | AT command | AT event |
|---|---|---|---|
1 | Write a X.509 certificate and private key using Binary data | AT+USECUB=0,"ca.pem"{sendbinarycontentof"ca.pem"}AT+USECUB=1,"client.pem"{sendbinarycontentof"client.pem"}AT+USECUB=2,"client.key"{sendbinarycontentof"client.key"}See Binary data for more information, note that the brackets { and } should NOT be sent, they are just here in this example | |
1 | Set SSID for the Network | AT+UWSCP=0,"NORA-W36AccessPoint" | |
2 | Set the certificates and key | AT+UWSSE=0,"ca.pem","client.pem","client.key" | |
3 | Connect Wi-Fi station | AT+UWSC=0 | |
4 | Wait for Wi-Fi interface | +UEWLU:0,BBBBBBBBBBB,6 | |
5 | Wait for Network interface | +UEWSNU | |
6 | Check IP address (optional) | AT+UWSNST=0 | +UWSNST:0,192.168.1.100 |
7 | Check RSSI (optional) | AT+UWSST=4 | +UWSST:4,-66 |
8 | |||
9 | Disconnect Wi-Fi station | AT+UWSDC |
AT+UWSC=0, AT&W and AT+CPWROFF, the current Wi-Fi Station state is be stored in flash and NORA-W36 will try to connect using Service Set Identifier (SSID) and password stored at startup.Nr | Instructions | AT command | AT event |
|---|---|---|---|
1 | Set the SSID and select nework channel to 6 to define the frequency band | AT+UWAPCP="NORA-W36AccessPoint",6 | |
2 | Set the Password, using WPA2 | AT+UWAPSW="mypassword" | |
3 | Activate the Wi-Fi Access point. DHCP Server is enabled by default | AT+UWAPA | |
4 | Wait for Access Point | +UEWAPU | |
5 | Wait for Network interface | +UEWAPNU | |
6 | Check the IP address of the AP (optional) | AT+UWAPNST=0 | +UWAPNST:0,192.168.1.80 |
7 | Station connected | +UEWAPSA:AAAAAAAAAAAA | |
8 | |||
9 | Station disconnect | +UEWAPSDA:AAAAAAAAAAAA | |
10 | Deactivate Wi-Fi Access Point | AT+UWAPD |
AT+UWAPA), Store (AT&W) and Reset (AT+UWAPA) commands should be sent. The current Wi-Fi Access Point state is stored in flash and NORA-W36 then activates the Access Point using the stored SSID and password at startup.
IP address range is 192.168.1.100 + x to connected stations.ATE0 turns off the AT command echo to speed up the data transmission in AT mode. The written data is not echoed back to the host, which helps to make the parsing easier.AT+USOC=0,www.u-blox.com,80 or an IP address AT+USOC=0,75.2.60.5,80Nr | Instructions | AT command | AT event |
|---|---|---|---|
1 | Create a TCP socket | AT+USOCR=6 | +USOCR:0 |
2 | Start TCP server (listener) on port 5003 | AT+USOL=0,5003 | +UESOC:0 |
3 | Incoming TCP connection, a new handle 1 to communicate with the connection | +UESOIC:0,192.168.1.100,1 | |
4 | |||
5 | TCP connection is closed from remote side | +UESOCL:1 | |
6 | Close TCP listener | AT+USOCL=0 | +UESOCL:0 |
AT+USOCR, are needed to send and receive data over UDP.
It is possible to connect using the host name, like AT+USOC=0,www.u-blox.com,80, or the IP address AT+USOC=0,75.2.60.5,80AT+USETE0=0 Server Name Indication, 0: Disable - 1: Enable (default)AT+USETE1=0 Maximum Fragment Length Negotiation, 0: Disable - 1: Enable (default)AT+USOC=0,www.u-blox.com,80 or using ip address AT+USOC=0,75.2.60.5,80 for the connections.Nr | Instructions | AT command | AT event |
|---|---|---|---|
1 | Write a X.509 certificate and private key using Binary data | AT+USECUB=0,"ca.pem"{sendbinarycontentof"ca.pem"}AT+USECUB=1,"client.pem"{sendbinarycontentof"client.pem"}AT+USECUB=2,"client.key"{sendbinarycontentof"client.key"}See Binary data for more information, note that the brackets { and } should NOT be sent, they are just here in this example | |
2 | Create a TCP socket | AT+USOCR=6 | +USOCR:0 |
3 | Add a TLS context to a socket and certificates | AT+USOTLS=0,1,"ca.pem","client.pem","client.key" | |
4 | Connect using TCP on port 433 | AT+USOC=0,"www.u-blox.com",433 | +UESOC:0 |
5 | |||
6 | Close TCP socket | AT+USOCL=0 | +UESOCL:0 |
opensslgenrsa-outca.key2048
or
Generate 4096 key size:
opensslgenrsa-outca.key4096opensslreq-x509-sha256-new-nodes-keyca.key-days3650-outca.pemopensslreq-newkeyrsa:2048-keyoutserver.key-outserver.csr-nodes
or
Create the server certificate signing request (CSR) for 4096 key size:
opensslreq-newkeyrsa:4096-keyoutserver.key-outserver.csr-nodesopensslx509-req-CAca.pem-CAkeyca.key-inserver.csr-outserver.pem-days3650-CAcreateserialopensslreq-newkeyrsa:2048-keyoutclient.key-outclient.csr-nodes
or
Create the client certificate signing request (CSR) for 4096 key size:
opensslreq-newkeyrsa:4096-keyoutclient.key-outclient.csr-nodesopensslx509-req-CAca.pem-CAkeyca.key-inclient.csr-outclient.pem-days3650-CAcreateserialwinpty is a Windows software package providing an interface similar to a Unix pty-master for communicating with Windows console programs.
Set up a local TLS 1.2 server (without CA validation in this case)
winptyopenssls_server-CAfileca.pem-keyserver.key-certserver.pem-accept44330-tls1_2-state-Verify1winptyopenssls_client-connectlocalhost:44330-CAfileca.pem-keyclient.key-certclient.pem-tls1_2openssls_server-CAfileca.pem-keyserver.key-certserver.pem-accept44330-tls1_2-state-Verify1openssls_client-connectlocalhost:44330-CAfileca.pem-keyclient.key-certclient.pem-tls1_2opensslx509-inca.pem-text-noout|grep"Public-Key"RSAPublic-Key:(4096bit)opensslx509-inclient.pem-text-noout|grep"Public-Key"RSAPublic-Key:(4096bit)opensslrsa-inclient.key-text-noout|grep"Private-Key"RSAPrivate-Key:(4096bit,2primes)Nr | Instructions | AT command | AT event |
|---|---|---|---|
1 | Configure MQTT host and port | AT+UMQCP=0,"test.mosquitto.org",1883 | |
2 | Connect to MQTT broker | AT+UMQC=0 | +UEMQC:0 |
3 | Publish Message on topic pubtopic | AT+UMQP=0,0,0,"pubtopic","HelllofromNORA-W36" | |
4 | Subscribe on topic subtopic | AT+UMQS=0,0,"subtopic" | |
5 | Post a Message to the MQTT Broker on subtopic the message should be Hello from remote device | - | - |
6 | Receive Message on subtopic | +UEMQD:0,24 | |
7 | Read String Message | AT+UMQRS=0 | +UMQRS:0,0,"subtopic",24,"Hellofromremotedevice" |
8 | Disconnect from MQTT broker | AT+UMQDC=0 |
Nr | Instructions | AT command | AT event |
|---|---|---|---|
1 | Configure MQTT host and port | AT+UMQCP=0,"test.mosquitto.org",8884 | |
2 | Write a X.509 certificate and private key using Binary data | AT+USECUB=0,"mosquitto.org.crt"{sendbinarycontentof"mosquitto.org.crt"]AT+USECUB=1,"client.crt"{sendbinarycontentof"client.crt"}AT+USECUB=2,"client.key"{sendbinarycontentof"client.key"}See Binary data for more information, note that the brackets { and } should NOT be sent, they are just here in this example. | |
3 | Setup TLS connection config | AT+UMQTLS=0,1,"mosquitto.org.crt","client.crt","client.key" | |
4 | Connect to MQTT broker | AT+UMQC=0 | +UEMQC:0 |
5 | Publish Message on topic pubtopic | AT+UMQP=0,0,0,"pubtopic","HelllofromNORA-W36" | |
6 | Subscribe on topic subtopic | AT+UMQS=0,0,"subtopic" | |
7 | Post a Message to the MQTT Broker on subtopic. The message should say Hello from remote device | - | - |
8 | Receive Message on subtopic | +UEMQD:0,24 | |
9 | Read String Message | AT+UMQRS=0 | +UMQRS:0,0,"subtopic",24,"Hellofromremotedevice" |
10 | Disconnect from MQTT broker | AT+UMQDC=0 |
Nr | Instructions | AT command | AT event |
|---|---|---|---|
1 | Configure the MQTT host, port, client-ID, username and passsword | AT+UMQCP=0,"mqtt.thingstream.io",8883,device:78e3d356-876f-483b-872f-3485853fAAAA,HMVK8C09FQP245O2BBBB,ofYyBB/L3GkPvo060J6Dv+t+mfrh0XpGMcf7CCCC | +UEMQC:0 |
2 | Write a X.509 CA Root certificate using Binary data | AT+USECUB=0,"AmazonRootCA1.pem"{sendbinarycontentof"AmazonRootCA1.pem"}See Binary data for more information, note that the brackets { and } should NOT be sent, they are just here in this example | |
3 | Set up TLS connection config. Thingstream doesn´t use a client certificate or key - only the root CA. | AT+UMQTLS=0,1,"AmazonRootCA1.pem" | |
4 | Connect to MQTT broker | AT+UMQC=0 | +UEMQC:0 |
5 | Publish a message on pubtopic | AT+UMQP=0,0,0,"pubtopic","HelllofromNORA-W36" | |
6 | Subscribe on topic subtopic | AT+UMQS=0,0,"subtopic" | |
7 | Post a message to the MQTT broker on subtopic. The message should say Hello from remote device | - | - |
8 | Receive a message on subtopic | +UEMQD:0,24 | |
9 | Read String Message | AT+UMQRS=0 | +UMQRS:0,0,"subtopic",24,"Hellofromremotedevice" |
10 | Disconnect from MQTT broker | AT+UMQDC=0 |
Nr | Instructions | AT command | AT event |
|---|---|---|---|
1 | Configure MQTT host and port | AT+UMQCP=0,"a3loryode2aaaa-ats.iot.us-east-2.amazonaws.com",8883 | |
2 | Write a X.509 certificate and private key using Binary data | AT+USECUB=0,"AmazonRootCA1.pem"{sendbinarycontentof"AmazonRootCA1.pem"}AT+USECUB=1,"aws_client.crt"{sendbinarycontentof"aws_client.crt"}AT+USECUB=2,"aws_priv_key.key"{sendbinarycontentof"aws_priv_key.key"}See Binary data for more information, note that the brackets { and } should NOT be sent, they are just here in this example | |
3 | Setup TLS connection config | AT+UMQTLS=0,1,"AmazonRootCA1.pem","aws_client.crt","aws_priv_key.key" | |
4 | Connect to MQTT broker | AT+UMQC=0 | +UEMQC:0 |
5 | Publish Message on topic pubtopic | AT+UMQP=0,0,0,"pubtopic","HelllofromNORA-W36" | |
6 | Subscribe on topic subtopic | AT+UMQS=0,0,"subtopic" | |
7 | Post a Message to the MQTT Broker on subtopic the message should be Hello from remote device | - | - |
8 | Receive Message on subtopic | +UEMQD:0,24 | |
9 | Read String Message | AT+UMQRS=0 | +UMQRS:0,0,"subtopic",24,"Hellofromremotedevice" |
10 | Disconnect from MQTT broker | AT+UMQDC=0 |
Nr | Instructions | AT command | AT event |
|---|---|---|---|
1 | Configure MQTT Host, Port, Cient and Usename | AT+UMQCP=0,"iothub-test-sw.azure-devices.net",8883,device1,iothub-test-sw.azure-devices.net/device1 | |
2 | Write a X.509 certificate and private key using Binary data | AT+USECUB=0,"AzureCa.pem"{databinarycontentof"AzureCa.pem"}AT+USECUB=1,"azure_client.crt"{databinarycontentof"azure_client.crt"}AT+USECUB=2,"azure_priv_key.key"{databinarycontentof"azure_priv_key.key"}See Binary data for more information, note that the brackets { and } should NOT be sent, they are just here in this example | |
3 | Setup TLS connection config | AT+UMQTLS=0,1,"AzureCa.pem","azure_client.crt","azure_priv_key.key" | |
4 | Connect to MQTT broker | AT+UMQC=0 | +UEMQC:0 |
5 | Publish Message on topic pubtopic | AT+UMQP=0,0,0,"pubtopic","HelllofromNORA-W36" | |
6 | Subscribe on topic subtopic | AT+UMQS=0,0,"subtopic" | |
7 | Post a Message to the MQTT Broker on subtopic the message should be Hello from remote device | - | - |
8 | Receive Message on subtopic | +UEMQD:0,24 | |
9 | Read String Message | AT+UMQRS=0 | +UMQRS:0,0,"subtopic",24,"Hellofromremotedevice" |
10 | Disconnect from MQTT broker | AT+UMQDC=0 |
AT+USOTLS=0,1,CA.pem or .Nr | Instructions | AT command | AT event |
|---|---|---|---|
1 | Create a TCP socket | AT+USOCR=6 | +USOCR:0 |
2 | Enable TLS on the created socket (0) | AT+USOTLS=0,1 | |
3 | Connect TCP with TLS enabled | AT+USOC=0,"test.mosquitto.org",443 | +UESOC:0 |
4 | Send HTTP GET Request in Binary format (39 bytes, 0x27) | AT+USOWB=0\x01\x00\x27GET/mosquitto-text-side.pngHTTP/1.1\r\nHost:NORA-W36\r\n\r\n | +USOWB:0,39 |
5 | Data is now received in | +UESODA:0,4096 | |
6 | Read out the data in binay format | AT+USORB=0,1000 | +USORS:0,1000{Binaryheaderanddata} |
7 | Read out the data in binay format | AT+USORB=0,1000 | +USORS:0,1000{Binaryheaderanddata} |
8 | When the file has been received the server may close the connection | +UESOCL:0 |
Nr | Instructions | AT command | AT event |
|---|---|---|---|
1 | Create a TCP socket | AT+USOCR=6 | +USOCR:0 |
2 | Enable TLS on the created socket (0) | AT+USOTLS=0,1 | |
3 | Connect TCP with TLS enabled | AT+USOC=0,"posttestserver.dev",443 | +UESOC:0 |
4 | Send HTTP GET Request in Binary format (143 bytes, 0x8F) | AT+USOWB=0\x01\x00\x8FPOST/p/0k64ebdoksza3usa/post/HTTP/1.1\r\nHost:posttestserver.dev\r\nContent-Type:application/octet-stream\r\nContent-Length:12288\r\n\r\n | +USOWB:0,8F |
5 | Send Binary file | AT+USOWB:0{file.bin} | |
6 | Send Binary file | AT+USOWB:0{file.bin} | |
7 | … |
AT+USOWB:0{file.bin} |
| 9 | HTTP reply is now received | +UESODA:0,512 |
| 10 | Read out the data in binay format | AT+USORB=0,512 | +USORS:0,512{Binaryheaderanddata}
| 11 | Close the connection to the HTTPS server |AT+USOCL=0 | +UESOCL:0 |$openssls_client-showcerts-connectposttestserver.dev:443</dev/null|opensslx509-outformPEM>"GTSRootR4.crt"Nr | Instructions | AT command | AT event |
|---|---|---|---|
1 | Upload CA certificate | AT+USECUB=0,"GTSRootR4.crt"{databinarycontentof"GTSRootR4.crt"} | |
2 | Create a TCP socket | AT+USOCR=6 | +USOCR:0 |
3 | Enable TLS on the created socket (0) | AT+USOTLS=0,1,"GTSRootR4.crt" | |
4 | Connect TCP with TLS enabled | AT+USOC=0,"posttestserver.dev",443 | +UESOC:0 |
5 | Send HTTP GET Request in Binary format (143 bytes, 0x8F) | AT+USOWB=0\x01\x00\x8FPOST/p/0k64ebdoksza3usa/post/HTTP/1.1\r\nHost:posttestserver.dev\r\nContent-Type:application/octet-stream\r\nContent-Length:12288\r\n\r\n | +USOWB:0,8F |
6 | Send Binary file | AT+USOWB:0{file.bin} | |
7 | Send Binary file | AT+USOWB:0{file.bin} | |
8 | … | ||
9 | Send Binary file until 12288 bytes has been sent | AT+USOWB:0{file.bin} | |
10 | HTTP reply is now received | +UESODA:0,512 | |
11 | Read out the data in binay format | AT+USORB=0,512 | +USORS:0,512{Binaryheaderanddata} |
12 | Close the connection to the HTTPS server | AT+USOCL=0 | +UESOCL:0 |
AT+UWSROE=1Command | default | Valid values |
|---|---|---|
AT+UWSROE=<roaming> | Default value 0 | 0: Disable roaming 1: Enable roaming |
AT+UWSROS0=<roaming_scanning_threshold> | Default value: -70 | Valid values: -95..0 |
AT+UWSROS1=<roaming_switch_limit> | Default value: 10 | Valid values: 1..50 |
AT+UWSROS3=<roaming_current_rssi> | Default value: 0 | 0: Disable current rssi roaming 1: Enable current rssi roaming |
-70+10=-60dBm is found.AT+UWSROS3=1 and also lower the limit for a better AP to like 3 dBm AT+UWSROS1=3. Then if the current RSSI is like -78dBm it will be like -78+3=-75dBm and change will happen if an AP with -75dBm or better is found a roaming will occur.AT+UPMPSL=1 see NORA-W36 SIM and AT command manual for more details. There is a limitation that the first AT command after the timeout (default 1 second) can’t be longer than 16 bytes.
Note that in power level 1 only 115200 baud rate or lower is allowed.AT+UPMDSGPIO_J9toGND0x21-0x7E, 0xA1-0xFF)0x00-0xFF)0x00-0xFF)AT+USORM=1AT+USORM=<receive_mode>+UESODA - Socket Data Available Event, default mode+UESODS - Socket Data Binary Event: Incoming on TCP socket data represented as a string+UESODSF - Socket Data Binary From Event: Incoming on UDP socket data represented as a stringAT+USPSRM=<receive_mode>+UESPSDA SPS Data Available event, default mode+UESPSDS - SPS Data String eventAT+USOWS=<socket_handle>,<string_data>Nr | Instructions | AT command | AT event |
|---|---|---|---|
1 | Write Socket data in string format size | AT+USOWS=0,"HellofromNORA-W36" |
AT+USORS=<socket_handle>,<length>+USORS:<socket_handle>,<length>,<string_data>Nr | Instructions | AT command | AT event |
|---|---|---|---|
1 | Incoming Socket data | +UESODA:0,19 | |
2 | Reads incoming Socket data in string format | AT+USORS=0,19 | +USORS:0,19,"HellofromNORA-W36" |
AT+USPSWS=<conn_handle>,<string_data>Nr | Instructions | AT command | AT event |
|---|---|---|---|
1 | Write SPS data in string format size | AT+USPSWS=0,"HellofromNORA-W36" |
AT+USPSRS=<socket_handle>,<length>+USPSRS:<socket_handle>,<length>,<string_data>Nr | Instructions | AT command | AT event |
|---|---|---|---|
1 | Incoming SPS data | +UESPSDA:0,19 | |
2 | Reads incoming SPS data in string format | AT+USPSRS=0,19 | +USPSRS:0,19,"HellofromNORA-W36" |
AT+USORM=<receive_mode>+UESODA - Socket Data Available Event, default mode+UESODB - Socket Data Binary Event: Incoming on TCP socket data represented as binary data+UESODBF - Socket Data Binary From: Incoming on UDP socket data represented as binary dataAT+USPSRM=<receive_mode>+UESPSDA SPS Data Available event, default mode+UESPSDB - SPS Data Binary eventAT+USOWB=<socket_handle>{binary_data}Nr | Instructions | AT command | AT event |
|---|---|---|---|
1 | Write Socket data in binary format size | AT+USOWB=0\x01\x00\x13HellofromNORA-W36 |
AT+USORB=<socket_handle>,<length>+USORS:<socket_handle>{binary_data}Nr | Instructions | AT command | AT event |
|---|---|---|---|
1 | Incoming Socket data | +UESODA:0,19 | |
2 | Reads incoming Socket data in binary format | AT+USORB=0,19 | +USORB:0\x01\x00\x13HellofromNORA-W36 |
AT+USPSWS=<conn_handle>{binary_data}Nr | Instructions | AT command | AT event |
|---|---|---|---|
1 | Write SPS data in binary format size | AT+USPSWB=0\x01\x00\x13HellofromNORA-W36 |
AT+USORB=<socket_handle>,<length>+USORB:<socket_handle>{binary_data}Nr | Instructions | AT command | AT event |
|---|---|---|---|
1 | Incoming SPS data | +UESPSDA:0,19 | |
2 | Reads incoming SPS data in binary format | AT+USPSRB=0,19 | +USPSRB:0\x01\x00\x13HellofromNORA-W36 |
AT+UTM is used with the option to use TCP, UDP or SPS.AT+UTM=<link_type>,<handle>AT+UTM=0,0OKTransparent mode has started+++OKBack in AT modeAT+UTM=1,0OKTransparent mode has started+++OKBack in AT mode+++ is sent, all data received on the UART will be sent unmodified to the remote device on the specific connection selected.AT+UTMP command is used - with the option to use TCP, UDP, or SPS.AT+UBTP=<bd_addr>,<connect_sps>AT+UTMP=<link_type>,<config_id>Nr | Instructions | AT command | AT event |
|---|---|---|---|
1 | Enter the remote Bluetooth LE address to connecting device | AT+UBTP=BBBBBBBBBBBB,1 | +UBTP:200 |
2 | Enable Persistant on the connection | AT+UTMP=0,200 | |
3 | Store settings | AT&W | |
4 | Reset the module | AT+CPWROFF | |
5 | Wait for NORA-W36 to startup | +STARTUP | |
6 | Transparent Mode Persistent has started | ||
7 | Exit Transparent Mode using escape sequence | +++ |
Nr | Instructions | AT command | AT event |
|---|---|---|---|
1 | Create a Persistent TCP Socket | AT+USOPCR=6 | +USOPCR:100 |
2 | Set the IP Address and Port for the connection | AT+USOP=100,192.168.0.26,5003 | |
3 | Enable Persistant on the connection | AT+UTMP=1,100 | |
4 | Set up Wi-Fi Connection like in steps 1-5 in Wi-Fi station | ||
5 | Store settings | AT&W | |
6 | Reset the module | AT+CPWROFF | |
7 | Wait for NORA-W36 to startup | +STARTUP | |
8 | Transparent Mode Persistent has started | ||
9 | Exit Transparent Mode using escape sequence | +++ |
+++ is sent, all data received on the UART will be sent unmodified to the remote device on the specific connection selected.\x01 (SOH, Start Of Header) followed by the length of the data in two-byte unsigned integer (UINT16) format, and then followed by the binary data.
The data shall not be terminated with the normal \x0D (Carriage Return, \r).0x01(SOHStartOfHeader),MSB_datalength,LSB_datalengthAT+USOWB=0{0x01,0x00,0x02,0xFF,0xEE}
This command writes to socket 0, 2 bytes data the data is 0xFF 0xEE.
Nota that the “{ }” should not be included in the data, it is only in this example, showing the binary data content.HellofromNORA-W36 message, the content must have a length of 19 bytes. The length in UINT16 format is \00\x13.AT+USOWB=0\x01\x00\x13HellofromNORA-W36\r, The length shown in the header defines the number of bytes expected from the AT parser. The complete AT event includes the same three bytes header immediately after the handle in the event, like this: +USORB:0\x01\x00\x13HellofromNORA-W36AT+USECUB, is entered with the X.509 certificate (or private key) using binary transfer. The certificate length is 1342 bytes and given in UINT16 format as \05\x3E.-----BEGINCERTIFICATE-----\nABCDojCCAoqgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBkDELMAkGA1UEBhMCR0Ix\nFzAVBgNVBAgMDlVuaXRlZCBLaW5nZG9tMQ4wDAYDVQQHDAVEZXJieTESMBAGA1UE\nCgwJTW9zcXVpdHRvMQswCQYDVQQLDAJDQTEWMBQGA1UEAwwNbW9zcXVpdHRvLm9y\nZzEfMB0GCSqGSIb3DQEJARYQcm9nZXJAYXRjaG9vLm9yZzAeFw0yMzEwMDQxMDEw\nMzJaFw0yNDAxMDIxMDEwMzJaMHwxCzAJBgNVBAYTAlNFMQ4wDAYDVQQIDAVNYWxt\nbzEOMAwGA1UEBwwFTWFsbW8xDzANBgNVBAoMBnUtYmxveDEPMA0GA1UECwwGQUUt\nU0hPMQ0wCwYDVQQDDARjbWFnMRwwGgYJKoZIhvcNAQkBFg10ZXN0QHRlc3Qub3Jn\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA3PZc1E7uSBiB/Es1V0pU\nXeSayY3f6vrIbnSGTb+/PERSPgPz6UoZumJjcOWbCMq7T+/dvvxox/ZU/t/XdGMq\nMJRgN+aWRG6I4QmqYgkiAZGMuaMa+TLLEEPvL1IDKSxeVjHRNDx4yZM4zgvl6ZX7\noRaBqZBooNTHOtAGjlydyyz55HCZfLsE8Z3iaH7uW+/n9+2nWusfUXoJmI0STmEH\npJ+ZF7M+o53UilW2NKdv/R+wCzXxmKWX6PFVg4NdKspTDUOpPcxlphMQGi24E2uz\n2k7raCQvGt32LxZc/vic4W6rNDGGNSSDVJTSx6egzfRrcCKw3T88TN87nasjc+KV\nCQIDAQABoxowGDAJBgNVHRMEAjAAMAsGA1UdDwQEAwIF4DANBgkqhkiG9w0BAQsF\nAAOCAQEAjRyNWHGtcwLT21IzJ2//I8YL611iTUitRGkA0gF+7l0DuPtfSLPVhoyB\nTe3FThYsn2OYfF+LrbSMlWO38Am2fqE8lTGe9EX/HZj95Wj+RnQApc9CkxGJkCb8\n6aecuz8Vhyl2zWA5kqNrq978uMmsyX3FNRcS3mB7Vo+65R/XwThzHjSXyCyHzRMd\nzOlrJZMuNWV2bI7vyIIp9/AdHNO6Hwnj+I5hBDvyV+T9RT2jLUTRZldGUJQBlDVj\nQUKa8NSwzVrvoVTPAT6gcPCn4VQkwxLE/LWaNw2X8mxtyo3nXVoo291TzB8mKHUQ\nubOA1iBEcKtAFjqOlZSLanVNvrn5KwXY\n-----ENDCERTIFICATE-----\nAT+USECUB=0,"ca.pem"\x01\x05\x3E-----BEGINCERTIFICATE-----\nABCDojCCAoqgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBkDELMAkGA1UEBhMCR0Ix\nFzAVBgNVBAgMDlVuaXRlZCBLaW5nZG9tMQ4wDAYDVQQHDAVEZXJieTESMBAGA1UE\nCgwJTW9zcXVpdHRvMQswCQYDVQQLDAJDQTEWMBQGA1UEAwwNbW9zcXVpdHRvLm9y\nZzEfMB0GCSqGSIb3DQEJARYQcm9nZXJAYXRjaG9vLm9yZzAeFw0yMzEwMDQxMDEw\nMzJaFw0yNDAxMDIxMDEwMzJaMHwxCzAJBgNVBAYTAlNFMQ4wDAYDVQQIDAVNYWxt\nbzEOMAwGA1UEBwwFTWFsbW8xDzANBgNVBAoMBnUtYmxveDEPMA0GA1UECwwGQUUt\nU0hPMQ0wCwYDVQQDDARjbWFnMRwwGgYJKoZIhvcNAQkBFg10ZXN0QHRlc3Qub3Jn\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA3PZc1E7uSBiB/Es1V0pU\nXeSayY3f6vrIbnSGTb+/PERSPgPz6UoZumJjcOWbCMq7T+/dvvxox/ZU/t/XdGMq\nMJRgN+aWRG6I4QmqYgkiAZGMuaMa+TLLEEPvL1IDKSxeVjHRNDx4yZM4zgvl6ZX7\noRaBqZBooNTHOtAGjlydyyz55HCZfLsE8Z3iaH7uW+/n9+2nWusfUXoJmI0STmEH\npJ+ZF7M+o53UilW2NKdv/R+wCzXxmKWX6PFVg4NdKspTDUOpPcxlphMQGi24E2uz\n2k7raCQvGt32LxZc/vic4W6rNDGGNSSDVJTSx6egzfRrcCKw3T88TN87nasjc+KV\nCQIDAQABoxowGDAJBgNVHRMEAjAAMAsGA1UdDwQEAwIF4DANBgkqhkiG9w0BAQsF\nAAOCAQEAjRyNWHGtcwLT21IzJ2//I8YL611iTUitRGkA0gF+7l0DuPtfSLPVhoyB\nTe3FThYsn2OYfF+LrbSMlWO38Am2fqE8lTGe9EX/HZj95Wj+RnQApc9CkxGJkCb8\n6aecuz8Vhyl2zWA5kqNrq978uMmsyX3FNRcS3mB7Vo+65R/XwThzHjSXyCyHzRMd\nzOlrJZMuNWV2bI7vyIIp9/AdHNO6Hwnj+I5hBDvyV+T9RT2jLUTRZldGUJQBlDVj\nQUKa8NSwzVrvoVTPAT6gcPCn4VQkwxLE/LWaNw2X8mxtyo3nXVoo291TzB8mKHUQ\nubOA1iBEcKtAFjqOlZSLanVNvrn5KwXY\n-----ENDCERTIFICATE-----\n+USECUB:1342OK\r. The length of the header defines the number of bytes expected from the AT parser.byte='AT+USECUB=0,"ca.pem"'byte+=b'\x01'byte+=len(bin_data).to_bytes(2,'big')byte+=bin_data#bin_datacontainsthebinarydatatobesentwrite(byte)byte[]bin_data'//datacontainsthebinarydatatobesentbyte[]dataHeader=newbyte[3];dataHeader[0]=0x01;dataHeader[1]=Convert.ToByte(bin_data.Length>>8);dataHeader[2]=(Convert.ToByte(bin_data.Length&0xff));write("AT+USECUB=0,"ca.pem")write(dataHeader)write(bin_data)AT+UDGP=<destination>[,<count>]Nr | AT command | AT event |
|---|---|---|
1 | AT+UDGP="www.google.com",4 | |
2 | +UEDGP:1,15 | |
4 | +UEDGP:1,15 | |
5 | +UEDGP:1,14 | |
6 | +UEDGP:1,14 | |
7 | +UEDGPC:4,4,0,14 |
AT+UDGI=<iperf_action>,<protocol_type>[,<role>,<port>,<report_interval>[,<time_boundary>,<ip_addr>[,<bidirectional>]]]Nr | AT command | AT event |
|---|---|---|
1 | AT+UDGI=1,1,1,5001,1 | |
2 | +UEDGI:"TCP:StartTCPserver!" | |
3 | +UEDGI:"tcp_server_func:Createsocketfd=0" | |
4 | +UEDGI:"tcp_server_func:Bindsocketsuccessfully" | |
5 | +UEDGI:"tcp_server_func:Listenport5001" |
Nr | AT command | AT event |
|---|---|---|
1 | AT+UDGI=1,1,2,5001,1,20,192.168.0.41 | |
2 | +UEDGI:"tcp_client_func:Createsocketfd=1" | |
3 | +UEDGI:"tcp_client_func:Connecttoserversuccessfully" | |
4 | +UEDGI:"tcp_client_func:Send1435KBytesin1000ms,11761Kbits/sec" | |
5 | +UEDGI:"tcp_client_func:Send1418KBytesin1000ms,11621Kbits/sec" | |
6 | +UEDGI:"tcp_client_func:Send1417KBytesin1000ms,11609Kbits/sec" |
AT+USYECAT+USYEC?+USYEC:<error_code>AT+USYEC?+USYEC:5OK5 is U_ERROR_COMMON_INVALID_PARAMETER, meaning that the parameter on the last AT command was invalid.
See NORA-W36 u-connectXpress Error codes for more details.ERROR is received for every commands.AT+USYEE=<extended_errors>AT+USYEE=1OKAT+ERROR:3232 is U_AT_STATUS_INVALID_COMMAND, meaning that the AT command is not correct.
See NORA-W36 u-connectXpress Error codes for more details.AT+USOE+USOE:<error_code>AT+USOE+USOE:107107 is Transportendpointisnotconnected, meaning that the socket connection is down.
See NORA-W36 u-connectXpress Error codes for more details.Nr | Instructions | AT command | AT event |
|---|---|---|---|
1 | Start XMODEM protocol with AT command | AT+USYFWU=0,3000000 | |
2 | Now NORA-W36 is ready to receive the software using the XMODEM or XMODEM-1K protocol | CCCCCCCCCCC... | |
3 | When the software has been downloaded the module will restart | +STARTUP | |
4 | Check the version of the software | AT+GMR | "1.0.0-001" |
SWITCH_1 and SWITCH_2 during startup (or after reset)?Nr | Instructions | AT command | Event |
|---|---|---|---|
1a | Enter the bootloader | AT+USYFWU=1,115200 | |
1b | Alternatively, press SWITCH_1 and SWITCH_2 during startup or reset to enter the bootloader reset | ||
2 | Wait for the > prompt | > | |
3 | Change baud rate to up to 3 Mbit/s (optional) | r3000000 | |
4 | Start XMODEM protocol with the command x | x | |
5 | Now NORA-W36 is ready to receive the software using the XMODEM or XMODEM-1K protocol | CCCCCCCCCCC... | |
6 | Wait for the prompt to indicate that the software has been downloaded successfully | > | |
7 | Enter the q command to restart the module | q | |
8 | Wait for the prompt to display that the module has restarted in AT mode | +STARTUP | |
9 | Check the version of the software | AT+GMR | "1.0.0-001" |