I would like to know if there is an implementation of the FreeRTOS IP stack running on a Wireless interface.
I am looking for an alternative to the ESP32 running lwIP stack on its wireless interface.
Can you tell in which demo board this has been implemented?
FreeRTOS, by design, uses the vendor specific WiFi APIs directly with a TCP/IP and network transport layer in between.
FreeRTOS+TCP has a network interface implemented for ESP32 board here
You can use it to replace the default Lwip , ESP IDF currently implements.
The best place to look at for these will be the ESP IDF at GitHub - espressif/esp-aws-iot: AWS IoT SDK for ESP32 based chipsets. This has some good examples which can be referred in the folder “examples”.
Apart from ESP32, FreeRTOS+TCP has also been implemented on the wireless interface in the Pic32 board FreeRTOS-Plus-TCP/NetworkInterface_wifi.c at main · FreeRTOS/FreeRTOS-Plus-TCP · GitHub
I am more interested in implementing an Application that will communicate using UDP broadcasts (without Access Points. Just like if it was running on Ethernet). And also creating a TCP connection to communicate between 2 systems.
Is there a simple project for this? I inspected the directory and it seems there are implementations for complex protocols like MQTT, HTTP, etc.
I am looking for something as simple as possible that allows to use TCP connections and UDP broadcasts.
Hi @EduardoGoncalves1966,
It depends on what port you’re using for the platform.
Take esp32 as example, the xNetworkInterfaceOutput is the interface for FreeRTOS-Plus-TCP to transmit output packet through the network interface. And esp_wifi_internal_tx() is esp32’s wifi API!
You can also try this Networking Demo Project. It uses libpcap as network interface on top of Linux, support on any available network interfaces on your machine.
Although I am looking for an example project where a TCP connection is being made between two ESP32 boards, ideally ESP32-WROOM.
Also a UDP broadcast example would be nice but I think when I have a the TCP project I can make this one.
freertos_plus_tcp need
target_link_libraries( freertos_plus_tcp
PUBLIC
freertos_config
freertos_plus_tcp_port # for pack_struct_start.h
PRIVATE
freertos_kernel
freertos_plus_tcp_network_if
freertos_plus_tcp_utilities
)