How Do You Start Using Nerves for IoT Development?
So, say you’re as sold as we are on the value of Nerves for IoT. What do you need to be aware of before you get started?
Considerations for Choosing a Platform (The Device You’re Building On)
The device you choose to build on for your Nerves IoT project will differ based on the specific needs of your project. A few things you should consider that may affect your choice include:
- Production volume
- Prototype or POC
- Operating environment temperature/humidity
- Input/Output (I/O)
- Third-party software requirements
- Regulatory considerations (FCC/ISO/cellular carrier)
These are the platforms supported by Nerves today:
- Every Raspberry Pi ever made
- Beaglebone Black, Green, Blue, and Pocket Beagle
- Custom systems (Buildroot)
Building a Development Team
Finally, how do you need to structure your IoT development team for a project that uses Nerves?
Here’s a little secret: Nerves is actually a fun way to trick Elixir developers into working on your embedded systems. For new IoT development projects, you can hire multiple Elixir developers and have them use Nerves to manage device drivers, business logic, and web communications.
For existing projects, where you might have a lot of components written in C, for example, you can have the majority of your developers working on what you’ve already built, dealing with business logic and device drivers.
Meanwhile, you can employ just a few developers to work on device initialization, process supervision, and web communications with Nerves. Managing embedded Linux can also be handled on a consultation basis.
Ready to Learn More?
The Nerves Project website offers a lot of resources beyond this blog if you have in-depth questions about working with the framework. Because we’re so invested in the project, we also have quite a bit of Nerves-related content too, like this white paper (#humblebrag).
And of course, if you’re looking for a team with Nerves experience to help you bring your IoT vision to life, reach out to us today.