16

I'm studying ways to make an IoT device access an user´s wifi network. I know about the WPS way, where the device 'broadcast' a signal and the router, after being commanded to listen, 'receive' it and give the device it's access. There's also the way in which the device create it's own access point, the user connect to it to pass the SSID and Password of the home network. Are ther other ways to accomplish that?

I've read this article that talks about this 'ProbMe' method:

I may be wrong, but the Broadlink Rm Pro may do something like this. Recently I configured one of those and I just had to:

  1. Connect my smartphone to my wifi

  2. Scan an QR code or type a code in Broadlink App

  3. Input my network SSID and Password in Broadlink App

  4. And, I do not know how, device is connected to my network, the app even has its MAC address.

Do any of you know more about this ProbMe method and/or other alternatives to give an IoT device access to an user wifi network?

Edit: Searching about the ProbMe, I've found out that this is a technology from a company called Econais, just sharing if any of you want to develope/produce something similar, the company works with IoT software/hardware. Disclaimer: I do not work at Econais nor I'm involved with it in any way.

3
  • 1
    It was kinda answered here. A lot of wifi chips have ability to switch between Client mode and Access Point mode. ESP8266 are capable iot.stackexchange.com/questions/2568/… Commented Feb 2, 2018 at 6:55
  • Thanks for the comment @GusGorman402. The Client Mode / Access Point Mode is a good solution for my problem. Anyway, I'd like to point that the Broadlink device I pointed at my question didnt use something like that, at least I dont think it did, since my smartphone didnt switch the wifi it was connected to neither manually or programmaticaly. I'd bet it was something similar to the ProbMe method.
    – Eric Akira
    Commented Feb 2, 2018 at 12:34
  • I think this is using the ESP-Touch Protocol developed by Espressif. This article provides some details and some Arduino code to use it via the WiFi.beginSmartConfig() function. I haven't tested this myself, so not putting this down as an answer as yet, but I'll update with any details if/when I get it working.
    – jsaven
    Commented Jun 11, 2018 at 0:56

2 Answers 2

11

If you are using an ESP8266 the built in Smart Config feature can achieve this. An example can be found here: ESP8266 Arduino WiFiSmartConfig.ino.

The important steps are to set to STA mode: WiFi.mode(WIFI_STA);

Then start looking for the smart config packets: WiFi.beginSmartConfig();

Finally check for the config to be complete: WiFi.smartConfigDone()

The wifi can then be configured on the device using an iPhone or Android Ap, or you can build your own from the Espressif iOS Ap or Android Ap.

The ESP32 also has this capability; see Demo 11: How to use SmartConfig on Arduino ESP32.

3

Most devices I bought (IP cameras, light switches, power sockets) were using ultrasonic communication behind the scenes. Have a look at brands such as Chromecast, Lisnr & Chirp.

When the device is in configure mode, you have to hold your smartphone close to the device and the client app will send out an audio signal (could be audible or inaudible), with the SSID and password modulated in. Sounds like stone age, but it works with no frills :)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.