Sometimes connecting a pi zero to a wifi is troublesome. Since there are many ways to do it, but you just don't get a card reader, monitor, keyboard or a laptop along with you.
I think this project, PiSugar aims to make a pi easier to play with, therefore we were trying to find a efficient way to control a pi. Bluetooth low energy (BLE) is a good way you cannot miss.
Here are some features of BLE:
- supported by Raspberry Pi 3/zero w
- supported by most of the smart phones
- no need for pairing
- no conflict with traditional bluetooth
- low energy cost
- won't loss connection when switching wifi (if you config wifi through wifi with a wrong password, you are setting your pi free )
At the very beginning I was making this just to solve the wifi problem. However, I think it can be more than that. It's actually a complete channel to transport data. If you can custom the characteristics, then you can make your own wireless pi controller. For example, you can safely shutdown the pi, get cpu load, temperature, etc. If you are building a pi car, you can control it through BLE, too.
Base on these, we had developed a BLE sevice on pi. From the service you can:
- get wifi name, ip address, pi model
- config wifi
- get other custom info. e.g. CPU tempreture, CPU load, or whatever you can get by shell
- remote control the pi to execute shell script and get response, such as shutdown, reboot, running a script, etc.
I choose Wechat miniapp to make the client app since Wechat is very common used in China and it's really fast to build a miniapp. People don't have to download native apps. They open miniapp directly in Wechat. Also, miniapp can access to bluetooth. I'm not sure whether Google instant app can access bluetooth. But even if it can, maybe it's just for Android? So I'm still considering whether I should build native ios / android app.