EmbeddedRelated.com
Forums

WiFi module

Started by pozz February 22, 2022
I need to develop a custom board with WiFi connectivity and a 
UART(RS485). The UART will be connected to a proprietary device with a 
proprietary protocol, no problem on this.

The board should connect to a MQTT server through WiFi.

I don't know if I will choose a "transparent" WiFi module, implementing 
all TCP/IP stack and MQTT protocol on the host controller, or choose a 
"full-featured" WiFi module that integrates all the protocols I need and 
TCP/IP stack.

Besides this, the most important issue is how to configure the WiFi 
module with network settings (network name, password and so on). This 
step is crucial, because it should be as simplest as possible.

I saw many WiFi devices that start as an Access Point (for example, 
Google ChromeCast). The user, through his smartphone and a companion 
app, is able to make the first configuration. The steps are similar to 
the following:

- the app detects and automatically connects to the device in Access 
Point mode (or the user manually connects to it)

- the user selects the home WiFi network and type credentials (password)

- the app sends this configuration to the Access Point

- the device restarts in Device Mode and connects to the just configured 
WiFi network

This should be ok for me, but the main problem is the mobile app (for 
Android, for iOS). I don't have the knowledge to build such an app.

Do you know if there's some vendors of WiFi modules that support with 
this type of app?

Do you suggest other user-friendly solutions?

On 22/02/2022 10:59 pm, pozz wrote:

> Do you suggest other user-friendly solutions?
You should look at Tasmota firmware on an ESP8266 board. https://tasmota.github.io/docs/Getting-Started/ Peter
pozz <pozzugno@gmail.com> wrote:
> This should be ok for me, but the main problem is the mobile app (for > Android, for iOS). I don't have the knowledge to build such an app. > > Do you know if there's some vendors of WiFi modules that support with > this type of app? > > Do you suggest other user-friendly solutions?
Have a look at the ESP32 microcontrollers. There this setup process is commonplace, and there are no apps involved. Basically the device powers up in default-AP mode. You connect to its 'mydevice' network, you go to http://169.254.1.1/ (or some other predetermined IP) in your browser to set up the SSID and password, and then it reboots to join your network. A variation on this is your device connects to the ESP via Bluetooth to send it the wifi credentials, so it doesn't need the user to go to a random IP. As far as I know that does need an app, because setting up the Bluetooth isn't something a web browser/etc can do[1]. I'm not sure how difficult this is in the raw API driven from C, but the frameworks that run on top (Arduino, ESPHome, Tasmota, etc) all do it fairly painlessly. There's also projects like this: https://github.com/tzapu/WiFiManager I suppose at the end of the day it depends whether your users can handle the 'type this address into your browser' or 'wait for the captive portal' step, or whether they need an app to do that part of the process for them. For the record, I just received an ESP32+camera board, and a 3D printed case, for GBP7 including next day shipping. So parts cost, especially in volume, must be fairly low. Theo [1] There is 'web Bluetooth' but it's for Chromium-based browsers only: https://community.estimote.com/hc/en-us/articles/360020420172-Which-browsers-support-Web-Bluetooth- - no Safari, no Firefox
On 22.02.2022 12:59, pozz wrote:
> I need to develop a custom board with WiFi connectivity and a > UART(RS485). The UART will be connected to a proprietary device with a > proprietary protocol, no problem on this. > > The board should connect to a MQTT server through WiFi. > > I don't know if I will choose a "transparent" WiFi module, implementing > all TCP/IP stack and MQTT protocol on the host controller, or choose a > "full-featured" WiFi module that integrates all the protocols I need and > TCP/IP stack. > > Besides this, the most important issue is how to configure the WiFi > module with network settings (network name, password and so on). This > step is crucial, because it should be as simplest as possible. >
Hello pozz, you can find some budgetable modules here: https://www.wiznet.io/product/wifi-module/ Nearly every WiFi module supports parallel operation as a station and as access point. Also, if they offer a lightweight TCP stack (mostly limited to 1..4 parallel connections), you can choose to use them on a lower level, e.g. PHY, IP... and implement the upper protocol layers yourself. > I saw many WiFi devices that start as an Access Point (for example, > Google ChromeCast). The user, through his smartphone and a companion > app, is able to make the first configuration. The steps are similar to > the following: > > - the app detects and automatically connects to the device in Access > Point mode (or the user manually connects to it) > > - the user selects the home WiFi network and type credentials (password) > > - the app sends this configuration to the Access Point > > - the device restarts in Device Mode and connects to the just configured > WiFi network > > This should be ok for me, but the main problem is the mobile app (for > Android, for iOS). I don't have the knowledge to build such an app. > > Do you know if there's some vendors of WiFi modules that support with > this type of app? None that I know of. But you don't need an app, just provide the user with a known IP-address (or hostname, if you want to operate a tiny DNS server) that he/she can navigate to with the smartphone's browser, where you serve a simple HTML page to configure the device. > > Do you suggest other user-friendly solutions? > I've used such devices myself, and I hate reconfiguring my phone to use the configuration APs of them... many phones check if the access point provides internet access and must somehow be tricked into connecting if it doesn't, for example. A much better solution is to just simply support configuration via WPS button. -- Bernd
On 2/22/2022 14:23, Bernd Linsel wrote:
> On 22.02.2022 12:59, pozz wrote: >> I need to develop a custom board with WiFi connectivity and a >> UART(RS485). The UART will be connected to a proprietary device with a >> proprietary protocol, no problem on this. >> >> The board should connect to a MQTT server through WiFi. >> >> I don't know if I will choose a "transparent" WiFi module, >> implementing all TCP/IP stack and MQTT protocol on the host >> controller, or choose a "full-featured" WiFi module that integrates >> all the protocols I need and TCP/IP stack. >> >> Besides this, the most important issue is how to configure the WiFi >> module with network settings (network name, password and so on). This >> step is crucial, because it should be as simplest as possible. >> > > Hello pozz, > > you can find some budgetable modules here: > https://www.wiznet.io/product/wifi-module/ > > Nearly every WiFi module supports parallel operation as a station and as > access point. Also, if they offer a lightweight TCP stack (mostly > limited to 1..4 parallel connections), you can choose to use them on a > lower level, e.g. PHY, IP... and implement the upper protocol layers > yourself.
Is there a documented way to use some of these (I am looking at the PCIe one) *without* having to use its tcp stack, so one could send/receive IP packets, similar to the way it is done via Ethernet or ppp? Dimiter ====================================================== Dimiter Popoff, TGI http://www.tgi-sci.com ====================================================== http://www.flickr.com/photos/didi_tgi/
On 2/22/2022 14:23, Bernd Linsel wrote:
> On 22.02.2022 12:59, pozz wrote: >> I need to develop a custom board with WiFi connectivity and a >> UART(RS485). The UART will be connected to a proprietary device with a >> proprietary protocol, no problem on this. >> >> The board should connect to a MQTT server through WiFi. >> >> I don't know if I will choose a "transparent" WiFi module, >> implementing all TCP/IP stack and MQTT protocol on the host >> controller, or choose a "full-featured" WiFi module that integrates >> all the protocols I need and TCP/IP stack. >> >> Besides this, the most important issue is how to configure the WiFi >> module with network settings (network name, password and so on). This >> step is crucial, because it should be as simplest as possible. >> > > Hello pozz, > > you can find some budgetable modules here: > https://www.wiznet.io/product/wifi-module/ > > Nearly every WiFi module supports parallel operation as a station and as > access point. Also, if they offer a lightweight TCP stack (mostly > limited to 1..4 parallel connections), you can choose to use them on a > lower level, e.g. PHY, IP... and implement the upper protocol layers > yourself.
Is there a documented way to use some of these (I am looking at the PCIe one) *without* having to use its tcp stack, so one could send/receive IP packets, similar to the way it is done via Ethernet or ppp? Dimiter ====================================================== Dimiter Popoff, TGI http://www.tgi-sci.com ====================================================== http://www.flickr.com/photos/didi_tgi/
On 22.02.2022 14:48, Dimiter_Popoff wrote:>
 > Is there a documented way to use some of these (I am looking at the PCIe
 > one) *without* having to use its tcp stack, so one could send/receive
 > IP packets, similar to the way it is done via Ethernet or ppp?
 >
 > Dimiter
After scanning through the docs, I must admit that it seems the WizNet 
parts don't support lower levels than UDP and TCP.
But there are other manufacturers...

Sorry.
-- 
Bernd
Bernd Linsel <bl1-removethis@gmx.com> wrote:
> On 22.02.2022 14:48, Dimiter_Popoff wrote:> > > Is there a documented way to use some of these (I am looking at the PCIe > > one) *without* having to use its tcp stack, so one could send/receive > > IP packets, similar to the way it is done via Ethernet or ppp? > > > > Dimiter > After scanning through the docs, I must admit that it seems the WizNet > parts don't support lower levels than UDP and TCP. > But there are other manufacturers...
It looks like the two mini-PCIe cards are actually a wifi router on a card - it's not PCIe over the connector but ethernet, UART, etc as they're just using mPCIe as a convenient connector. They appear to be running OpenWRT (ie full Linux) so you can presumably set them up to bridge IP packets onto their wifi/ethernet/etc, perhaps from the UART via PPP. Of course being full Linux you then have security updates to worry about. They don't look like the kind of thing the OP wants, although the ones using AT commands might be (although I suspect some of those are ESP32 or similar running a custom firmware). Theo
On 2/22/2022 16:18, Bernd Linsel wrote:
> On 22.02.2022 14:48, Dimiter_Popoff wrote:> > > Is there a documented way to use some of these (I am looking at the PCIe > > one) *without* having to use its tcp stack, so one could send/receive > > IP packets, similar to the way it is done via Ethernet or ppp? > > > > Dimiter > After scanning through the docs, I must admit that it seems the WizNet > parts don't support lower levels than UDP and TCP. > But there are other manufacturers... > > Sorry.
Nothing to be sorry about, just raising my hopes I have found something I have been looking for for many years is not a big deal :). I expected as much, in fact I must have looked at these at some point in time.
On 2/22/2022 17:14, Theo wrote:
> Bernd Linsel <bl1-removethis@gmx.com> wrote: >> On 22.02.2022 14:48, Dimiter_Popoff wrote:> >> > Is there a documented way to use some of these (I am looking at the PCIe >> > one) *without* having to use its tcp stack, so one could send/receive >> > IP packets, similar to the way it is done via Ethernet or ppp? >> > >> > Dimiter >> After scanning through the docs, I must admit that it seems the WizNet >> parts don't support lower levels than UDP and TCP. >> But there are other manufacturers... > > It looks like the two mini-PCIe cards are actually a wifi router on a card - > it's not PCIe over the connector but ethernet, UART, etc as they're just > using mPCIe as a convenient connector. They appear to be running OpenWRT > (ie full Linux) so you can presumably set them up to bridge IP packets onto > their wifi/ethernet/etc, perhaps from the UART via PPP. Of course being > full Linux you then have security updates to worry about. > > They don't look like the kind of thing the OP wants, although the ones using > AT commands might be (although I suspect some of those are ESP32 or similar > running a custom firmware). > > Theo
Those with router capability have sounded interesting to me for some time now (not enough to seriously dig into it, I am just busy doing other things). But I would anticipate they would be a lot more power hungry than the wifi modules politburo members have access to for their devices (politburo being MS, Google and the like, those who have the data allowing them to do IP packets via wifi).