ImNotAVirus

ImNotAVirus

ESP-NOW with Nerves

Is there currently a way to send and receive data between a Nerves device (Raspberry Pi) and few ESP devices using ESP-NOW ?

My goal is to create a network of sensor nodes (using ESP32/ ESP8266) controlled by a Raspberry on which I can retrieve stats and trigger actions.
I want my sensors to consume as little energy as possible, hence the fact that I want to use ESP-NOW for communication rather than Wi-Fi, for example.

I’d like to know if anyone else has tried a similar project.

Thanks in advance.

Most Liked

fhunleth

fhunleth

Co-author of Nerves

I’m not familiar with ESP-NOW, but if there’s a Linux driver for it, there should be a way to use with Nerves with some work.

If there’s not a Linux ESP-NOW driver (I couldn’t find one on quick search), I’d make a wired connection between the RPi and one ESP32/ESP8266 and use that local ESP for communication with the sensor node ESPs. Bridging over the UART pins might not be bad if you don’t mind coming up with a communications protocol for your app.

natewallis

natewallis

One other solution which I am playing with is to use a CANBUS enabled carrier board with a RPI4 compute module that can talk to your ESP module. You can output CAN frames from your ESP (at least ESP32 Classic+) to communicate with your carrier board (which exposes CAN as network interface in linux). Might save you reinventing the wheel with a communication protocol and lean on something that is industry ready instead.

If you could get Linux running on ESP32 though, wouldn’t that mean you could potentially get Elixir/Nerves running on the ESP32 (with some effort?)… that would be cool and drop the cost of hardware for nerves implementations right down…

Where Next?

Popular in Questions Top

rms.mrcs
Hi, I need to transform a list of numbers into a map where the keys are the indexes and the values are the original values of the list. ...
New
electic
Hi, I am new to Elixir. I am trying to use the DateTime component to insert a date into MySQL however the there seems to be no way to fo...
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
baxterw3b
Hi guys, i’m new in the Elixir world, and i have to say, that i love it! i’m having some problem to understand anonymous functions with ...
New
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
nsuchy
Hi. I’ve noticed that Windows Powershell has it’s own IEX command and you cannot access Elixir’s IEX due to the conflict. This isn’t a cr...
New
belgoros
I’m not a pro in using Regex and can’t figure out why the following behaviour happens, especially if we take into account the difference ...
New

Other popular topics Top

JeremM34
Hello, how can I check the Phoenix version ? Thanks !
New
vertexbuffer
Hello, can anybody help here..? I have a list of players and I what to delete an element, but every for loop the list is reverting to ori...
New
hariharasudhan94
I would like to know what is the best IDE for elixir development?
New
JakeBecker
TL;DR: I’ve just released an implementation of Microsoft’s IDE-independent Language Server Protocol for Elixir. It adds language support ...
1144 55125 245
New
greenz1
I have a phoenix application from which a user can download multiple(5-6) files of size 1MB. I couldn’t find anything related to sending ...
New
sergio_101
I am VERY much an elixir newbie. I have taken one elixir course and one phoenix course on Udemy. During that course, I saw the instructor...
New

We're in Beta

About us Mission Statement