I very recently picked up the two Core’s I got from my Kickstarter backing and have been spending a lot of time tinkering in the last 48 hours. These things really are great and I am glad to see how well everything works.
I have a general issue, though, with Wifi in embedded applications, mainly:
- Too power hungry
- Overkill (do you really need high data rates?)
- Large footprint
- Expensive
I really like Bluetooth LE, I am working on a few embedded projects with the spectacular Nordic nrf51822 chipset. It solves a lot of the above issues, but of course is Bluetooth so no TCP/IP stack.
I have been thinking about how I would make a BLE Core, so no Wifi on board. My requirements would basically be that the BLE device shows up in the cloud exactly the same as a Core. You could control it from the Tinker app, call it from the REST API, and program it from the Web IDE, just like any other Core. So it would have the benefits of BLE, but the flexibility of Core.
To make this work, you would need a BLE<->TCP/IP gateway, this could be either an app on a phone/PC, or a cored linked with a BLE device (or a lot of other things). You would then need to port some of the Spark FW functionality to the BLE device, and some would reside in the gateway, which would handle the conversion from REST to GATT. Not quite sure yet what that split would be. Also, of course, the BLE device would need to be connected to the gateway for it to be accessed via REST, otherwise it is offline.
The gateway being flexible would allow you to have a dedicated one (a Core gateway always on) or you could only connect/disconnect when the phone is in range, it would be flexible for both. This way, you could have many inexpensive, low power BLE devices per one gateway.
Has anyone tried anything like this? Or completed it? Or is Spark developing something like this? I saw the “New Hardware” notice in the letter from the CEO, has it been announced what that may be? I would absolutely love to undertake a project like this, but don’t want to reinvent the wheel or work on it for months and then have Spark release the same thing.
Any thoughts? Anything I am missing?