I’m looking to prototype an embedded system with multiple (wearable) sensors talking to (maybe) a central process over BLE. I’m not new to Elixir, but never had a chance to use Nerves (or any embedded) yet. Does anyone have some advice on which hardware would be a good choice to get up and running quickly with Nerves.
Specifically looking at IMU sensors. But I have little to no knowledge of what else would be needed besides BLE. I’ve looked at Arduino, RPi, Adafruit, but not sure what would make the most sense.
Many thanks in advance.
I personally don’t have a good recommendation concerning hardware for a wearable, but in general, Nerves runs on devices capable of running at least the Linux kernel. Therefore, Arduino and other microcontrollers won’t be able to run Nerves. The RPi works great with Nerves, as other Linux boards like the Beaglebone do.
That’s interesting and good to know. I clearly need to get a bit more familiar with the embedded world. For some reason I thought Arduino would.
Question: If the ‘child’ sensors were only sending sensor information over bluetooth would it be redundant to have linux/nerves on them, or would it be more sensible to just try and make them run from a microcontroller for example?
for a wearable I think ESP8266(with a ble module) or esp32(wifi/ble on board) would be the “correct” way to go about it - then most likely connect it to a phone via BLE or just pure wifi… perhaps mqtt to some elixir server…
(this is due to power/battery requirements…)
however I also assume you are in it to learn a thing or two, and perhaps elixir/nerves related stuff - so it all depends - what are looking to solve/learn?
for nerves you can start with a raspberry pi zero w - add a few sensors and a power bank and you are rolling…
BLE on nerves elixir is bluex https://github.com/highmobility/bluex (much outdated it seems) or harald https://github.com/verypossible/harald (low level it seems) - so not sure of the BLE “story” on nerves - could be a bunch of hurt to get it working…
Thanks! I’ll have a look into those.
It would likely connect to a phone, but at some point I might need to fuse the sensor data, and while that could happen on the phone, there might be instances where the phone is unreachable and important to do it on the parent board.
I’m not a C programmer, but looked into embedded Rust a little bit. But for me, being able to use Elixir and some solid tooling would be the easiest thing for me.