Many home and office items use radio frequencies to communicate control. So naturally, lets take that over to control them from a single Nerves device with one wire on a GPIO pin.[Read More]
How to communicate with sensors and low-level chips
Reading datasheets for fun and profit, or how I learned to stop worrying and convert analog signals into elixir terms.[Read More]
Nerves At Home: Controlling a Desk
Because who doesn't want to control random things around them using nerves?
Use Nerves and a little reverse engineering to control a motorized desk. Then intercept current height messages from the controller and publish to a Phoenix site for real-time desk height measurements…because #yolo.[Read More]
Using Erlang Distribution to test hardware
Not just for distributed networks
Iterating quickly over code changes when working with new hardware can be tricky. Nerves has built-in mechanisms that can be helpful, but what if there were an even faster, more efficient way?[Read More]
You Gotta Have Heart
Mocks and Explicit Contracts in Nerves
If you are not super new to Elixir, you may have read this blog post by José Valim. If you haven’t read it, you may want to check it out. This post references it frequently.
Nerves puts a lot of focus into spending as much time developing your application on your host machine. This means you can rapidly develop your application, write tests, etc. When you feel it is ready you can then burn your firmware to a device and it will just work. This has an issue though.[Read More]
Provisioning Nerves Devices
Life after nerves.local
When you’re starting out with Nerves, you may have connected to your first
projects over the network using
nerves.local. Libraries like
nerves_init_gadget make this easy and when you’re
starting out, it’s really convenient. Don’t know the IP address that your
device was assigned? Try
nerves.local and you’re good to go.
And then you add a second device to your network.
nerves.local isn’t looking
so convenient any more.
Nerves v1.0 Released
Reverting firmware updates
Deployed a firmware image that doesn’t quite work? Made a mistake in development and don’t want to remove and reprogram the MicroSD card to go back? No problem. If the previous firmware image worked fine, then just revert back to it.
This is one of those features that has been possible since the beginning of the Nerves project, but we didn’t make it easy. That’s changing.[Read More]
The Road to Windows
Most Elixir developers prefer Mac or Linux, but Windows is historically the platform of choice for embedded development. Therefore as Nerves continues to grow, a Windows solution is needed.
There are 2 fundamental approaches to Nerves-on-Windows:
- Pretend it’s Unix
- Run it as a Windows app
Unfortunately, there is no “silver bullet”–each approach has its trade-offs.[Read More]