How to change Wi-Fi credentials while keeping my own application?

I have my own application loaded in the SparkCore and want to change the Wi-Fi credentials.
At the moment I use the reset and mode buttons to put the SparkCore in the serial mode to change the Wi-Fi credentials, flashing blue. But after that it also reloads the Tinker app.

Is there a way to change the W-Fi credentials without changing the my own app (= without reloading the Tinker app) ?

I also read that it is possible to have more then one sets of W-Fi credentials, how to add the additional Wi-Fi credentials?

Is there a way to list the WiFi credentials already stored in the SparkCore (only the SSID’s are enough ;-)) ?

Thanks,
Henk

There's no need to load the Tinker app (not sure if you mean firmware) to change the Wifi-Credentials

7 is the magic number and all you need to do is to hold the MODE button for 4s till you see Blinking Blue.

These are stored in the CC3000 and i don't really know it being exposed easily for users to use it :slight_smile: Maybe i'm wrong and it's easy to do so and would love to learn it!

I only know you can check the current SSID using Network.SSID() but not a list of the saved ones

1 Like

I connect my smartphone/tablet to the new network, login to Spark API using Spark SmartConfig and click the “+” sign at top of Tinker App, this will allow me to send crendentials to Core so it connects to the new network.

Is there another way to do this without having to use an android device ?

@spydrop,

you can put the core in Listening Mode (blinking blue) by pressing on MODE for 4s.

Then send via USB.

The CC3000 does not expose any way to list the stored profiles. A “profile” is what TI calls each stored set of Wi-Fi credentials.

You can add a new Wi-Fi profile with wlan_add_profile. Here’s the entry for wlan_add_profile in the doxygen API documentation for the CC3000. Here’s an example of its usage in the firmware.

There are also other actions that cause a profile to be added, for example wlan_connect.

1 Like

I was moving between my work place and home and rather than hitting the mode button to start a new wifi connection, I connected it via the USB method again to my home router. Everytime it starts up, the core will attempt to connect to it’s last connected wifi access point (in this case my home wifi) and if it fails after a while, it will connect to the second one (my work place wifi). There is the delay of course but I turn it on, go get my coffee and when I’m ready to start, it’s ready.

How do you tell which is it switching to add that point in time? :smiley:

You basically need to add both Wifi profile once using Listening Mode. Then both will be stored.

You can use the USB method to setup the wifi credentials. Please refer to Spark documentation under Connecting Your Core at :
http://docs.spark.io/#/connect/connecting-your-core-connect-over-usb

Yes, the core needs to be put into Listening Mode. If you’ve already set it up to connect to one, it helps if you first switch off the first wifi router before attempting to setup the second connection.

Your work place and home is like in your home? Otherwise i don’t see why that would happen :smiley:

Oh no, my work place or rather office, is far from my home. Like a lot of software guys, I continue working on stuff that I do in the office when I get home. And before I realized I could setup more than one stored wifi settings, I was doing the setup every night at home and every morning in my office.

Yeah so like i said… Use the Listening Mode and add the 2 Wifi and done! :smiley: