TCP Client and UDP Client Auto-Connect
This example shows how to use the TCP and UDP auto connection feature. With this feature the module will automatically connect to a remote server. The following features are demonstrated:
- TCP Client Auto-Connect - the module automatically connects to a remote TCP server
- UDP Client Auto-Connect - the module automatically connect to a remote UDP server
- Stream Mode - data is automatically streamed on the module UART. No need for host MCU interaction.
First let's configure some basic module settings needed for the rest of the examples. Issue the following command to connect the module to a local network:
Once this command completes, the module should be connected to the local network.
By default the module is in Command Mode. Issue the following command to but the module in Stream Mode.
set bus.mode stream
Next configure the module to automatically connect to the network. Then save and reboot:
set wlan.auto_join.enabled 1
After the module reboots, it's in Stream Mode. To issue more commands to the module, a break-in sequence is needed. The default break-in sequence is '$$$'. Issue '$$$' to break out of stream mode and into Command Mode:
Command Mode Start
Note: if an invalid break-in sequence is issued, wait 3 seconds before sending the break-in sequence again.
TCP Auto Connect
Now that we've issue the break sequence and can issue more commands, let's configure the module to automatically connect to a remote TCP server. Issue the following commands:
set tcp.client.remote_host test.zentri.com
set tcp.client.remote_port 50007
set tcp.client.auto_start 1
That's it. The module has been configured to automatically connect to the remote TCP server: test.zentri.com:50007. When the module reboots, it will connect to the network then connect to the TCP server. Once connected, anything that's typed into terminal will be echoed.
- test.zentri.com:50007 is an echo server. Anything that's sent to it, it sends back. This is why anything typed into the terminal is echoed back. The data flow is: UART RX -> TCP Server TX -> TCP Server RX -> UART TX.
- For TCP Auto Connect to work, the network must be configured to auto start. This is done with wlan.auto_join.enabled
UDP Auto Connect
The UDP Auto Connect feature is very similar to the TCP Auto Connect. To configure the module for UDP Auto Connect, first issue the break-in sequence as described above. Once the module is able to receive more commands. Issue the following:
set tcp.client.auto_start 0
This will disable the TCP Auto connect feature from the previous example. Note that in Stream Mode, only one stream may be opened at a time. Next issue the following commands to enable UDP Auto Connect:
set udp.client.remote_host test.zentri.com
set udp.client.remote_port 50007
set udp.client.auto_start 1
That's it. The module has been configured to automatically connect to the remote UDP server: test.zentri.com:50007. When the module reboots, it will connect to the network then connect to the UDP server. Once connected, anything that's typed into terminal will be echoed.
Supporting ZentriOS Editions and Versions