IoT software and communication stack to launch a consumer product

I am thinking of creating a consumer product but the information out there is - let's just say so many options but all pretty vague.

The device would be an arduino with wifi (possibly ESP32 which I know is technically not an arduino). The process isn't too complicated - you download the app from the app store, connect to the IoT device to provision wifi and device, create an account with username and password, the data is stored in a cloud (possibly AWS). Over-the-air updates requested from the app would be nice. There would be hundreds of these IoT devices. Each IoT device and it's associated app on the phone would need access to cloud service to store/get data for the same account. Similar to how a google home or amazon echo is but much much simpler. I will code what the arduino needs to do on my own but I am looking for guidance on the other "infrastructure" items above. Also, I would like it to be as simple as possible without explicitly writing code to rebuild these features on my own that are already out there.

Has anyone done something similar? There are numerous options from AWS, Azure, to more connectors that sit between the Cloud and your device but none of them have a clear tutorial on how to reach the end-to-end process described above.

Any pointers, links or services you have used to launch a simple IoT hardware device with an app would be much appreciated!!

The intension of this Forum is to help new members, amateurs, newbies, to get started. Supporting commercial interests is not a subject here. You can check in at "Gigs and collaboration", make business partners suitable to Your budjet.

Yeah this sounds like a product needing professional android + ios development. Don't expect useful input on an arduino guidance forum section.

PS or maybe not. I mean check out tasmota and esp-link (and others for sure) how they work.

esp-link for example doesn't need any damn app, It has its own web/javascript interface which can do all the things you need:

  • passing a password
  • setting router wifi credentials
  • configuring MQTT

So you might get (presumably) cheaper with only web development. and no need to install (== develop, deploy) any darn app from those stores. It will need some server-side web app though for users registering themselves on the cloud service.

see Blynk

Juraj:
see Blynk

Thanks for the feedback. I have actually been using blynk for my home aquarium controller for the last year and it works great! The only challenge is limited user interface. I am after exactly blynk like server infrastructure with ability to use any UI (or one of the more common UI frameworks).

matrixIII:
Thanks for the feedback. I have actually been using blynk for my home aquarium controller for the last year and it works great! The only challenge is limited user interface. I am after exactly blynk like server infrastructure with ability to use any UI (or one of the more common UI frameworks).

they have business services

"The process isn't too complicated"

If that is true, how much have you completed so far? Just curious.

zoomkat:
"The process isn't too complicated"

If that is true, how much have you completed so far? Just curious.

Sorry, what I meant was that the process isn't too complicated compared to how other IoT devices function out there. It is complicated for me and that is why I am asking after reading and watching a lot of videos from AWS and Azure. By uncomplicated process I meant - You open the app, connect to the device, connect the device to wifi, possible OTA updates, and then just send/receive commands to/from the device - That flow seems to be very basic from the numerous IoT devices I have seen out there. I am keeping the logic of what the Arduino will do aside. I have not completed anything so far. Based on my past arduino experience, I know I can do what needs to be done in the arduino (sensor data) easily and I am researching/reading up on how to easily create the above infrastructure flow around it.

Sure sounds like you're describing Tasmota software. It was made for ESP8266 boards, but it may work on ESP32 as well- I've never tried it.