I'd like to write an iOS or Android app to talk to the Edison over Bluetooth in order to find out what WiFi networks the Edison is seeing. Then I want the app to remotely make the Edison join a WiFi network which the user selects on the phone. Is this possible and what software architecture can someone recommend? It's sort of a way to remote control the Edison.

You will have to design the app according to the way you want to communicate with the Edison. You mentioned that you want to use Bluetooth to communicate with Edison, so, how would you like to communicate? Which profile do you want to use? If you don't know yet, I suggest you to check the Intel® Edison Bluetooth® User Guide. There you will find several profiles and their characteristics, it may help you choose which one suits your needs better.

Once you have created the app, you will have to make a script on the Edison's side which retrieves the data you are interested to know and then send it to your app.

This project is very interesting and probably quite challenging, it'll require major research and several hours of work, I look forward to see updates on it.

I want to create an app. I know there are some apps out there are can control the Edison, but they don't do what I want. I want the primary means of communications to be Bluetooth. The idea is that when the Edison is turned on, it will make itself discoverable, at which point it can be paired with a phone. Then the phone can make the Edison join a WiFi network. Since my project has no display attached to the Edison, I'm trying to figure out a way to make the Edison join a WiFi network.

I'm trying to have it join different WiFi networks. I'm trying to make a product that will be given to users who have their own WiFi routers. When they first turn it on, they will want it to join their WiFi. There's no user interface or terminal access. The only thing the users have is a smartphone or PC.

I'm using alljoyn from the AllSeen Alliance to communicate between iOS, Android and the Edison. Although I'm using it over With it also works over Bluetooth and it can do what you need. I built it from source for all of the platforms and it has bindings for C, C++, java and Objective-C.

It has a rather steep learning curve but I can recommend it. Windows 10 has it built-in as well so it makes it rather easy to do stuff on a PC as well.

Thanks Mario. AllSeen looks promising and the Onboarding Service mentioned here: Onboarding Service | AllSeen Alliance is exactly what I'm looking for. I'm not familiar with AllSeen, so it's another framework/language/tool that I'll need to learn to make this work.