ImNotAVirus

ImNotAVirus

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.

Showing Posts 1 to 3

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.

ImNotAVirus

ImNotAVirus OP

Thanks for you answer.

The only Linux implementation I know for ESP-NOW is this one: GitHub - thomasfla/Linux-ESPNOW: An attempt at implementing a direct link between a linux station and an ESP module using ESPNOW protocol for real time robot control · GitHub

If there wasn’t an existing solution, I thought I’d make an NIF using the code from this project.

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…

— All posts loaded —

Where Next? Top

Trending in Questions Top

stjefim
Hello! Suppose you are building workflow (order / task / payment) processing system with the following requirements: Each workflow con...
New
Blokh
Hey guys, I’ve got a huge CSV ( around 10 GB ) that needs to be processed hourly Do you guys have any suggestions what is the best prac...
New
kszambelanczyk
Hello! Could someone please give me a help/sample code, how to delete a file from s3 using waffle/waffle_ecto from Phoenix app. I creat...
New
Onor.io
I have what I’ve heard referred to as a “lookup table” in my database. This is a way of assigning codes to common values. One common lo...
New
jaybe78
Hello, I’m developing a online persistent chat system (what’s app) like using elixir/dynamodb/aws for a mobile app(flutter). The diffic...
New
Trolleger
What approach to take when sending live updates to “random” users Hi! I have a question, I have a little chat app, and when I create a DM...
New
widianto
I think I’ve found a small improvement I could contribute to <%= web_namespace %>.CoreComponents (installer/templates/phx_web/compo...
New

Other Trending Topics Top

garrison
Hobbes is a low-level distributed database for the Elixir programming language. Hobbes provides a simple, safe, and scalable storage lay...
New
mcass19
ExRatatui lets you cook up rich terminal UIs in Elixir, powered by Rust’s ratatui via Rustler NIFs. Build interactive terminal applicatio...
New
Damirados
Hello everyone. After busy few months I am happy to announce v0.1.0 of Emerge & Solve. They are GUI (Emerge) and State management (S...
New
netoum
Corex is an accessible, unstyled UI component library for Phoenix that integrates Zag.js state machines using Vanilla JavaScript and Live...
New
wintermeyer
There are three potential reasons for members of this forum to have a look at https://vutuv.de You are tired or annoyed of LinkedIn. Yo...
New
webofbits
Aludel - LLM Evaluation Workbench Aludel is an embeddable Phoenix LiveView dashboard for evaluating and comparing LLM prompts across mult...
New

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews