I am building a cross-platform mobile app to manage the Particle Photon and I would like to be able to connect to the SoftAP and setup the WiFi credentials and bind the device to the user.
I know about the device setup library in the Android and iOS SDK, is there an underlying API that makes these SDKs work? If so, is it documented?
I have tried connecting to the SoftAP and open 192.168.0.1 in my browser. All that does is download a file called “hello” which has a line of text that says “Soft AP Setup”.
Ideally, I would like to be able to use the SoftAP to set up the device without having to make a custom HTTP API
You should be able to copy and use the example given in the link you have included. I started with that as the basis for the WiFi setup for all my products based upon Photon.
Could you share the entire code that you have tried that only gave you "SoftAP Setup"? We also need to know the Device OS version you are using.
Sorry, I should have been a little more clear. I meant that I would like to set up the Particle device from a mobile app without having to create a custom HTTP API.
No coding involved for this, I just put a Particle Photon in listening mode (Press and hold the 'setup' button till the led blinks blue) and then connect to the WiFI AP from the Photon and go to 192.168.0.1.
Still don’t understand what you think is happening. Your mobile browser is accessing an HTML page at URL 192.168.0.1. served by the photon. You need to define the web pages and javascript. This will be in your photon application code. This is what is provided in the documentation - a complete working example providing a Web UI for setting up WiFi via HTTP. There is some fairly dense javascript in the example - if you want to change it then you will need to pass it through a beautifier or go to the source at github. I have changed the main screen/window and the pop-up message windows to suit my requirements but pretty much left the rest alone.
You will probably need to have some application logic around this to handle a user requesting wifi setup and then handling error and success when the web page has captured the wifi credentials - which may or may not be correct. etc.
Thanks for the clarification regarding the 192.168.0.1 URL.
What would be the best way to replicate the functionality of the Android and iOS SDKs device setup library? Is the underlying API used for these SDKs documented anywhere? That’s what I would like to use for setting up a Particle Device from a cross-platform mobile application.
I haven’t used the Android and iOS SDKs so I am not well placed to answer your question. What are you planning to use something like Xamarin? Perhaps starting from using the iOS and Android SDKs would help you learn what is going on?
I’ve started having a look at the SDKs. If I can’t find the underlying API documented, I am probably going to have to build a Flutter plugin based on the SDKs.
Thanks again for clarifying the SoftAP, I was under the impression that there was a default setup page that ships with the Particle that I could use.
Hosting a webpage on the photon is a waste of precious resources unless truly necessary. There is an API, and it works great. I use it for wifi network config (I extend the functionality in my user firmware to force a reset but otherwise I use it stock.