Component: WLAN (ESP32) (Comms: Networking): Difference between revisions
No edit summary |
m Text replacement - "style="background-color:#EAE1EA;"" to "class="mtx-class-propfolder"" |
||
| (9 intermediate revisions by 4 users not shown) | |||
| Line 37: | Line 37: | ||
==Examples== | ==Examples== | ||
===Weather Predictor=== | |||
Here is an example of a next-day weather predictor that also shows the current-day weather for a ESP32 embedded device | |||
It uses the BBC weather component via Netwoekcomms and WLAN ESP32 components to connect to the BBC server and retrieve the weather forecast for the specified area code. | |||
{{Fcfile|ESP32_TTGO_Weather_Forecast_Predictor.fcfx|ESP32 weather predictor}} | |||
===User Configurable Network Details=== | |||
When creating a product using an ESP32 device it is important that it can connect to the network of the person buying the product. | |||
This is complicated as the ESP32 requires that the network SSID and password be defined by the user and this requires a means of getting the data into the ESP32 device. | |||
Luckily as the ESP32 features the ability to host it's own network we can use this to create a simple web interface where the user can enter their network details. | |||
{{Fcfile|ESP32_Config_Wifi.fcfx|ESP32 Config WIFI}} | |||
More info on this available here [https://www.flowcode.co.uk/forums/viewtopic.php?f=10&t=634 Flowcode Forums - User Configurable Network Details] | |||
==Macro reference== | ==Macro reference== | ||
===AcceptClose=== | ===AcceptClose=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''AcceptClose''' | ||
|- | |- | ||
| colspan="2" | Close the socket associated with the Accepted incoming connection | | colspan="2" | Close the socket associated with the Accepted incoming connection | ||
| Line 76: | Line 77: | ||
===AcceptOpen=== | ===AcceptOpen=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''AcceptOpen''' | ||
|- | |- | ||
| colspan="2" | Returns 1 if there is an incoming connection on the listening port | | colspan="2" | Returns 1 if there is an incoming connection on the listening port | ||
| Line 90: | Line 91: | ||
===ConnectToSSID=== | ===ConnectToSSID=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''ConnectToSSID''' | ||
|- | |- | ||
| colspan="2" | Attempts to connect to the given SSID and Key values. Returns 1 if the SSID has been connected. | | colspan="2" | Attempts to connect to the given SSID and Key values. Returns 1 if the SSID has been connected. | ||
| Line 119: | Line 120: | ||
===CreateAccessPoint=== | ===CreateAccessPoint=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''CreateAccessPoint''' | ||
|- | |- | ||
| colspan="2" | Sets up the wireless LAN module into AP mode to host a wireless network. Other WIFI enabled devices can then connect to the module. Returns 1 for success. | | colspan="2" | Sets up the wireless LAN module into AP mode to host a wireless network. Other WIFI enabled devices can then connect to the module. Returns 1 for success. | ||
| Line 153: | Line 154: | ||
===Disconnect=== | ===Disconnect=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''Disconnect''' | ||
|- | |- | ||
| colspan="2" | Attempts to disconnect from the SSID. | | colspan="2" | Attempts to disconnect from the SSID. | ||
| Line 167: | Line 168: | ||
===Initialise=== | ===Initialise=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''Initialise''' | ||
|- | |- | ||
| colspan="2" | Initialise the WiFi system Returns 1 if successful Returns 0 if not | | colspan="2" | Initialise the WiFi system Returns 1 if successful Returns 0 if not | ||
| Line 181: | Line 182: | ||
===ReadEncryptionModeFromScan=== | ===ReadEncryptionModeFromScan=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''ReadEncryptionModeFromScan''' | ||
|- | |- | ||
| colspan="2" | Collects one of the encryption modes from the last SSID Scan. The ScanForSSID macro must be called first. 0=Open, 1=WEP, 2=WPA_PSK, 3=WPA2_PSK, 4=WPA_WPA2_PSK | | colspan="2" | Collects one of the encryption modes from the last SSID Scan. The ScanForSSID macro must be called first. 0=Open, 1=WEP, 2=WPA_PSK, 3=WPA2_PSK, 4=WPA_WPA2_PSK | ||
| Line 200: | Line 201: | ||
===ReadIP=== | ===ReadIP=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''ReadIP''' | ||
|- | |- | ||
| colspan="2" | Collects a single byte from the local IP address. For example 192.168.0.1 Index = 3 : Return = 192 / Index = 0 : Return = 1 | | colspan="2" | Collects a single byte from the local IP address. For example 192.168.0.1 Index = 3 : Return = 192 / Index = 0 : Return = 1 | ||
| Line 219: | Line 220: | ||
===ReadIPString=== | ===ReadIPString=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''ReadIPString''' | ||
|- | |- | ||
| colspan="2" | Collects the local IP address and returns it as an ASCII string. e.g. "192.168.0.1" | | colspan="2" | Collects the local IP address and returns it as an ASCII string. e.g. "192.168.0.1" | ||
| Line 233: | Line 234: | ||
===ReadSSIDFromScan=== | ===ReadSSIDFromScan=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''ReadSSIDFromScan''' | ||
|- | |- | ||
| colspan="2" | Collects one of the SSID name strings from the last SSID Scan. The ScanForSSID macro must be called first. | | colspan="2" | Collects one of the SSID name strings from the last SSID Scan. The ScanForSSID macro must be called first. | ||
| Line 252: | Line 253: | ||
===ReadSignalStrengthFromScan=== | ===ReadSignalStrengthFromScan=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''ReadSignalStrengthFromScan''' | ||
|- | |- | ||
| colspan="2" | Collects the signal strength from the last SSID Scan. The ScanForSSID macro must be called first. Value returned is in negative dB, smaller value = better signal | | colspan="2" | Collects the signal strength from the last SSID Scan. The ScanForSSID macro must be called first. Value returned is in negative dB, smaller value = better signal | ||
| Line 271: | Line 272: | ||
===ScanForSSID=== | ===ScanForSSID=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''ScanForSSID''' | ||
|- | |- | ||
| colspan="2" | Checks for wireless networks in the local area which are broadcasting their SSID. Must not be connected to a network to allow this to function. Returns the number of wireless networks found, max 8. | | colspan="2" | Checks for wireless networks in the local area which are broadcasting their SSID. Must not be connected to a network to allow this to function. Returns the number of wireless networks found, max 8. | ||
| Line 285: | Line 286: | ||
===SocketClose=== | ===SocketClose=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''SocketClose''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | | ||
| Line 299: | Line 300: | ||
===SocketConnect=== | ===SocketConnect=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''SocketConnect''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | | ||
| Line 323: | Line 324: | ||
===SocketListen=== | ===SocketListen=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''SocketListen''' | ||
|- | |- | ||
| colspan="2" | Listen on, or bind, local port to already opened socket. Returns 1 if OK, 0 if fail | | colspan="2" | Listen on, or bind, local port to already opened socket. Returns 1 if OK, 0 if fail | ||
| Line 342: | Line 343: | ||
===SocketOpen=== | ===SocketOpen=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''SocketOpen''' | ||
|- | |- | ||
| colspan="2" | Returns 1 if socket sucessfully opened | | colspan="2" | Returns 1 if socket sucessfully opened | ||
| Line 356: | Line 357: | ||
===SocketRead=== | ===SocketRead=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''SocketRead''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | | ||
| Line 380: | Line 381: | ||
===SocketWrite=== | ===SocketWrite=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''SocketWrite''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | | ||
| Line 404: | Line 405: | ||
===Uninitialise=== | ===Uninitialise=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''Uninitialise''' | ||
|- | |- | ||
| colspan="2" | Shuts down the WiFi system for low power operation. Returns 1 if successful Returns 0 if not | | colspan="2" | Shuts down the WiFi system for low power operation. Returns 1 if successful Returns 0 if not | ||
| Line 419: | Line 420: | ||
==Property reference== | ==Property reference== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-prop-icon.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''Properties''' | ||
|- | |- | ||
|- | |- | ||
| Line 428: | Line 429: | ||
| width="90%" | Verbose Debug | | width="90%" | Verbose Debug | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Provides verbose debugging output via hardware UART channel 1 which is often connected to a UART to USB bridge. | ||
|- | |||
| width="10%" align="center" | [[File:Fc9-type-21-icon.png]] | |||
| width="90%" | SSID Scan Size | |||
|- | |||
| colspan="2" | Maximum number of SSIDs that can be detailed from a single SSID network scan. Default 8 | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]] | ||
| width="90%" | | width="90%" class="mtx-class-propfolder" | Simulation | ||
|- | |- | ||
|- | |- | ||
Latest revision as of 14:37, 13 July 2026
| Author | Matrix Ltd. |
| Version | 2.4 |
| Category | Comms: Networking |
WLAN (ESP32) component
Wireless LAN component designed to work with ESP32 modules
Component Source Code
Please click here to download the component source project: FC_Comp_Source_WLAN_ESP32.fcfx
Please click here to view the component source code (Beta): FC_Comp_Source_WLAN_ESP32.fcfx
Detailed description
No detailed description exists yet for this component
Examples
Weather Predictor
Here is an example of a next-day weather predictor that also shows the current-day weather for a ESP32 embedded device
It uses the BBC weather component via Netwoekcomms and WLAN ESP32 components to connect to the BBC server and retrieve the weather forecast for the specified area code.
User Configurable Network Details
When creating a product using an ESP32 device it is important that it can connect to the network of the person buying the product.
This is complicated as the ESP32 requires that the network SSID and password be defined by the user and this requires a means of getting the data into the ESP32 device.
Luckily as the ESP32 features the ability to host it's own network we can use this to create a simple web interface where the user can enter their network details.
More info on this available here Flowcode Forums - User Configurable Network Details
Macro reference
AcceptClose
| AcceptClose | |
| Close the socket associated with the Accepted incoming connection | |
| Return | |
AcceptOpen
| AcceptOpen | |
| Returns 1 if there is an incoming connection on the listening port | |
| Return | |
ConnectToSSID
CreateAccessPoint
Disconnect
| Disconnect | |
| Attempts to disconnect from the SSID. | |
| Return | |
Initialise
| Initialise | |
| Initialise the WiFi system Returns 1 if successful Returns 0 if not | |
| Return | |
ReadEncryptionModeFromScan
ReadIP
ReadIPString
| ReadIPString | |
| Collects the local IP address and returns it as an ASCII string. e.g. "192.168.0.1" | |
| Return | |
ReadSSIDFromScan
| ReadSSIDFromScan | |
| Collects one of the SSID name strings from the last SSID Scan. The ScanForSSID macro must be called first. | |
| Index | |
| SSID Index | |
| Return | |
ReadSignalStrengthFromScan
ScanForSSID
SocketClose
| SocketClose | |
| Return | |
SocketConnect
| SocketConnect | |
| Address | |
| Port | |
| Return | |
SocketListen
| SocketListen | |
| Listen on, or bind, local port to already opened socket. Returns 1 if OK, 0 if fail | |
| Port | |
| Return | |
SocketOpen
| SocketOpen | |
| Returns 1 if socket sucessfully opened | |
| Return | |
SocketRead
| SocketRead | |
| Buffer | |
| Size | |
| Return | |
SocketWrite
| SocketWrite | |
| Buffer | |
| Size | |
| Return | |
Uninitialise
| Uninitialise | |
| Shuts down the WiFi system for low power operation. Returns 1 if successful Returns 0 if not | |
| Return | |