A Wi-Fi hotspot + cellular device

Hi,

We have a project to implement a small device on ST MCU mainly containing two interfaces (LTE cellular and Wi-Fi), it will be a Wi-Fi AP to provide the Wi-Fi hotspot feature. Several Wi-Fi clients will utilize the Wi-Fi connections to communicate with the server on the Internet via this device.

Since we are new to FreeRTOS, we’d like to know if there is any existing module or components we can utilize to quickly achieve this? Or we need to implement it from the scratch?

Thanks

Best regards,
Chen

There are a lot of different variables here. For example, which Wi-Fi module you select, and then whether that Wi-Fi module offloads the TCP (and TLS?) stacks required for your application. Here is an existing ST/Wi-Fi/FreeRTOS integration: https://devices.amazonaws.com/detail/a3G0L00000AANsWUAX/STM32L4-Discovery-Kit-IoT-Node you could use as a reference - but can you provide a little more detail on your hardware selection?

Hi Richard,

Thank your for the comment, the Wi-Fi chip we might use is Cypress CYW43438.

Best regards,
Chen

Would either of these help as a starting point? Cypress Wi-Fi, but different radios:
https://devices.amazonaws.com/search?kw=wi-fi%20cypress&page=1&sv=freertos

Hi Richard,

I think the Wi-Fi portion may not be a big issue, heard from our HW that Cypress already implemented the Wi-Fi driver on their SDK based on FreeRTOS. We will check with vendor further and get the SDK to check.

The another point we would like to know is the packet routing in MCU between Wi-Fi and LTE. For this, is there any existing code snippet? Or we need to implement a packet queue on our own to route the packets? The packet handling/interface in Wi-Fi and LTE may be another story for integration, and to be checked with the vendors.

Thanks

Best regards,
Chen

Can you describe what you mean by packet routing. Is it network selection based on the subnet? Or selecting between the two depending on which is connected?

Hi Richard,

Wi-Fi client <- (Air) -> WiFi-MCU-LTE (Our device)
As you can see, the MCU will be responsible for transferring packets between Wi-Fi which receives/sends packets from/to the LAN, and LTE which receives/sends packets from/to the WAN.

Suppose FreeRTOS has no IP stack, the MCU would not be able to parse the packets flowing through and handled by the it? Or in this case, we may ignore the parsing portion and just forward the packets from LTE/Wi-Fi to Wi-Fi/LTE.

Not sure if the FreeRTOS has similar mechanism which is already implemented for reference.

Thanks

Best regards,
Chen

Most likely you will have to create a Wi-Fi connection and a cellular connection separately, then just send all bytes received from one (the TCP data payload assuming TCP, not any of the raw protocol data) to the other.

Hi Richard,

I’m afraid it’s only only to transparently forward the packet in between. Since there are 3 Wi-Fi clients with IP address. Thus, IP/NAT feature which is not in FreeRTOS may also be needed?

Best regards,
Chen

It’s not clear to me what you are trying to achieve - is it similar to a gateway or router?