Great project, it certainly makes you think of lots of potential applications.
Whilst reading over some of the documentation I was wondering, would the following configuration be valid ?
Assume that the CS3000 setup had been completed, could I use an iPhones WiFi tethering network to connect to the SparkCore device - with the same iPhones 3G/4G connection being used to connect to the SparkCloud?
I tried this at work earlier with one of my coworkers. We were having issues with the wireless network, and even trying a bridge with my MacBook to our wired network, but it seems the firewall is somehow too restrictive. So, we tried with my coworker using his Android phone to set up a hot spot/tethering and still got nowhere. I know it could have been any number of factors affecting our lack of success, but however much you theorize that it should work flawlessly, thereās obviously some exception.
That doesnāt mean that Iām going to stop trying. Itās always a challenge to overcome when I canāt get around a firewall.
Iāve also been trying to do this with using another personās iPhone with the spark core app to connect to my iPhoneās wifi hotspot but it always timesout.
Iāve also tried to do it through CoolTerm application but that doesnāt connect either
The set-up works fine, I can input my wifi details and it updates the board but doesnāt connect to my iPhone. Iāve also tried the app in my iPad but that fails as well. It would be good as a add-in to the iPhone app.
The iPhone uses WPA2 authentication but is there a limit to the amount of characters the SSID can be ?
If anyone has successfully tethered their core to with iPhone could you please share your process ?
I have done this on my own phone a number of times, without issue. Can you please provide more information about your set-up? Are you using the USB set-up? Is your password beyond the 32-character limit? Have you reset the memory of Wi-Fi networks on the Spark Core and tried again, in case you typed your password wrong? Please follow these troubleshooting instructions:
yea no problem connecting to my home network, do you use an iPhone and what authentication type do you use ? could also be to do with the size of my password as i believe WPA2 needs to be exactly 13 characters
I use an Android phone most of the time but I have connected it to an iPhone hotspot. 13 characters should be fine (there is no such limitation on WPA2 passwords). Are you setting up the Core over USB?
Hi @diepes, as in the other thread we āmeatā I have the same problem, but had worked my way round it by connecting another Android phone to my Android HotSpot phone and send the credentials to the Core from the connected phone.
When you setup your iPhone/Android as a hotspot, you wonāt be able to use that device to setup a Core through the Spark.app. This isnāt a limit that be overcome, at least on the iPhone (not sure about Android) because the hotspot software is using the WiFi hardware on the phone as an AP. At this point user apps on the phone canāt access the WiFi at all, for all intents and purposes the WiFi is reported as being off.
The CC3000 WiFi module on the Core uses TIās SmartConfig process, which looks for special broadcast packets that are sent in a way that allows unassociated devices to read the SSID and password and connect to the network.
So, when your iPhone is in personal hotspot mode, iOS doesnāt give the Spark.app access to WiFi. Unfortunately this isnāt something that can be overcome. So, you need to either upload the credentials to the Core via USB or use another iDevice/Android connected to the hotspot running the Spark.app.
A fix for this might be to add a way for the Spark Core to internally store several WiFi setups with the ability to switch between them through the MODE button. Maybe holding it down for 5 seconds could put it into a āWiFi Select Modeā or something. I imagine in this mode the light could pulse X times per second to show the currently selected mode. I.e., if you press the button twice after entering the mode, the light will flash two times per second to represent the second stored connection. @zach Do you think something like this is feasible?
@timb interesting to hear about the broadcast that leaks the wifi credentials to the spark.
A simpler suggestion would be that when reset to factory defaut, the spark is preconfigured for a default ssid and key e.g. ssid:spark wpa-key:spark
Then to setup just create the Hotspot with the right credentials, reset the spark, it connects and links to cloud, now phone can manage it through the cloud, probably not perfect either, not sure how the phone will now claim the spark. Maybe the wifi mac of the phone can be used to do the claim, or once the spark is connected to the Hotspot, ip broadcasts can be used to claim it.
@timb: Thanks for that interesting background info.
As far as I got the impression there must be a SSID/PWD repository on the Core.
I had my Core connected ti my home AP once and to my Android AP another time.
And ever since my Core can connect to either of them without any further ado - so I guess the different credentials must be stored on the Core and the bootup an ācloud keep aliveā cycle will choose which one of the pre-defined networks to use.
Iād still like to know what the maximum number of storable SSID/PWD combinations might be and if it might be thinkable to access this repository somehow - e.g. readout the corrently stored SSIDs and maybe even push a new list of desired SSID/PWD combinations into the Core (? @zach)
Another weird thougt about Android AP: I guess the disconnected Core enters promiscuous WiFi mode to listen for any incoming packets. So would it be thinkable to either have an āunconnectedā phone in non AP-mode to send out the packets expected by the Core or would there be a way to use the loopback 127.0.0.1 to relay 3G/4G packets to the WiFi side of the phone to get them broadcasted, or have an external server to bounce the credentials back to the phone which in turn relays them to the WiFi devices in its AP range?