ca1989

ca1989

Projects to start with Nerves

Hi all,

I would like to start playing with nerves at home (in the free time).

Where can I find ideas for small beginner friendly projects to realize in a tiny apartament?

Better if they don’t involve extremely expensive devices

Cheers!

Most Liked

lucaong

lucaong

I think I wrote the same idea in other posts too, but one relatively simple and useful project is to implement an indoor air quality monitoring device. You can use a RPi and a sensor like the BME680, which measures temperature, atmospheric pressure, relative humidity and gas resistance (which is a proxy for concentration of volatile organic compounds, a common class of air pollutant).

You can either connect a display, or even simply run a Phoenix app on the device, so that you can check the air quality from your smartphone. For example and inspiration, this is how the UI of my old BME680 based project looks like:

In my project, I run a Phoenix app on Nerves, using the elixir_bme680 library to interface with the sensor (I had to write the library myself back then, but nowadays there is also the great BMP680 library). The UI is implemented with LiveView, rendering SVG (but standard HTML would work perfectly well if one does not need anything fancy). I also log the measurements on CubDB and provide a way to download the historical data.

If you need more guidance, another option is to purchase the book Build a Weather Station with Elixir, which also guides you through a similar project.

lucaong

lucaong

Another really fun project is to implement a low-cost thermal camera using the Melexis MLX90640 sensor. Long time ago I wrote elixir_mlx90640 to interface with it from Elixir/Nerves.

Here is an example project using it, using an old Nerves version, but as of a few months ago still functional.

lucaong

lucaong

I used a Raspberry Pi Zero W for both the two projects I mentioned above, and it works absolutely fine (just a bit slow for the thermal camera, but the library could be optimized to send frame pixels in a more efficient format than a JSON array). The RPi Zero is smaller and generally less powerful than both the 3 and 4, so definitely the RPi 3 is a good option too.

The thermal camera sensor is unfortunately a bit pricey (but professional thermal cameras are way more expensive, usually in the thousands of euro). The BME680 can be found from several sources, and has good prices.

Where Next?

Popular in Discussions Top

PragTob
Hello everyone, I know we had quite some threads (read through lots of them) about background job processing but it remains a hotly deba...
New
mikl
I wanted to capitalize a string, and tried using String.capitalize(). That generally works well, until you try to capitalize a word like...
New
cvkmohan
The upcoming Phoenix 1.6 release looks very interesting. Became a habit to watch the commits - and - what they are bringing in. phx.gen...
New
gausby
I asked this very same question on twitter and got some interesting feedback, but I thought it would be a good question to ask here as we...
1207 39247 209
New
crabonature
I’m still quite new to Elixir. As I understand we got in Elixir “multi guards” as convention to simplify one large guard with or’s?: de...
New
New
jer
I’ve been using umbrellas for a while, and generally started off (on greenfield projects at least) by isolating subapps based on clearly ...
New
jsonify
So, is Heroku the only free option for hosting Phoenix/Elixir at this point? I’m not ready to commit to paying monthly and was wondering ...
New
und0ck3d
Hello everyone! A few days ago I’ve created a topic here about how people were creating CMSs with Elixir and Phoenix. I’ve been studying...
New
griffinbyatt
Sobelow Sobelow is a security-focused static analysis tool for the Phoenix framework. For security researchers, it is a useful tool for g...
New

Other popular topics Top

stefanchrobot
What’s the safe way to decode a JSON string into a struct? I want to avoid calling String.to_atom. Jason.decode can give me a map with st...
New
JeremM34
Hello, how can I check the Phoenix version ? Thanks !
New
pmjoe
I have a relationship of love and hate with Elixir. Lots of things are just absolutely right, but there are some things that are kind of ...
New
chrismccord
This release brings a number of exciting features, including integration with the new Phoenix LiveDashboard and Phoenix LiveView. There h...
New
RisingFromAshes
I've read in another post that it may be possible with a router helper - but I couldn't find an appropriate one, and tbh, I'm still just ...
New
romenigld
I am trying to run a deploy with docker and I successfully runned with this command: docker build -t romenigld/blog-prod . but when I t...
New
AstonJ
We’ve put together this wiki for Phoenix LiveView - please feel free to add any info you feel is worth including. What is Phoenix LiveV...
New
WestKeys
Currently suffering from paralysis by [HTTP client] analysis. This is rather unusual in Elixirland as there tends to be consensus on the ...
New
openscript
Hello! Sorry for this astonishing simple question, but I’m really stuck. I try to set up the intellij-elixir plugin, but I don’t know ho...
New
vonH
In asking this question I am more interested about the expressiveness of the language itself and less concerned about the availability of...
New

We're in Beta

About us Mission Statement