Snake-Sanders

Snake-Sanders

How to pull multiple ESP32 CAM video streams to a web dashboard on Phoenix

Hi,

I would like if somebody could tell me a starting point or a draft architecture design for what I want to achieve. (Links, documentation, examples, all help). I found already some resources but some are old (2017/18) and others might not be exactly what I need.

Here is description:

I have a raspberry pi 3 B, running Nerves and Phoenix (live).
At the moment I managed to generate a page with some buttons where I can control Sonoff wireless switches via REST API.
Now I would like Phoenix to connect to one, or more, ESP32 CAM which streams a video on its own webserver. I can watch ESP32 CAM video stream on a web browser, therefore I assume I could take that and other streams with a background process and forward them to a Phoenix web Dashboard.

Would it be possible to use LiveView for this, or it does not make sense?
Are there any uptodate library I could start reading about?
What would be the streaming pipeline for this case?

Thank you so much in advance

Most Liked

tejpochiraju

tejpochiraju

I will share it here shortly, my teammate has to extract the code from one of our products into a library. We are aiming to follow the same spec as the JS client - although we won’t have all the features to start with. We currently have phx_join, new_msg, phx_reply and disconnect handlers.

EDIT -

Started documenting the specification here - Client for Phoenix Channels · Issue #13 · IoTReady/esp32_firmware_base · GitHub

Feel free to add or comment.

tejpochiraju

tejpochiraju

@Snake-Sanders - we have a very early release of the ESP32 client. Please note that response and error handling is still WIP.

Snake-Sanders

Snake-Sanders

thank you for sharing

Where Next?

Popular in Questions Top

chokchit
** (DBConnection.ConnectionError) connection not available and request was dropped from queue after 2733ms. You can configure how long re...
New
nobody
How to bind a phoenix app to a specific ip address? could not find anything about that, nowhere, unfortunately, but for me this is quite...
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
shahryarjb
Hello, I get Persian date from my client and convert it to normal calendar like this: def jalali_string_to_miladi_english_number(persi...
New
Qqwy
Original source of discussion: This topic on the Pragmatic Programmers’ Functional Web Development with Elixir, OTP, and Phoenix forum. ...
New
vrod
I am using the Starship cross-shell prompt – it seems pretty nice, but I get some errors: [WARN] - (starship::utils): Executing command ...
New
Emily
I have VueJS GUIs with the project generated using Webpack. I have Elixir modules that will need to be used by the VueJS GUIs. I forese...
New
shijith.k
I am trying to start a new phoenix project with elixir 1.9, but mix phx.new does not work. It says that ** (Mix) The task "phx.new" could...
New
hariharasudhan94
Lets say I have map like this fetching from my database %{"_id" => #BSON.ObjectId<58eb1a7a9ad169198c3dXXXX>, "email" => ...
New
JorisKok
I have a server on AWS, and was running a load test using artillery. When looking at the Phoenix dashboard I see the Ports going to 100% ...
New

Other popular topics Top

sen
Hi All, I set a environment variables in dev.exs , like below code. when i start server, how can i set the ${enable} value? thanks. d...
New
lastday4you
I wanted to check elixir version in phoenix because i found that my elixir is 1.5 but when i use Enum.chunk_by it said the function is un...
New
mcarvalho
What is the difference between System.get_env and Application.get_env? For example, what are best practices to use one versus another.
New
skosch
To my knowledge, put_in, Map.update etc. all have the one limitation of not automatically creating intermediate keys when needed (for exa...
New
lessless
I believe there are people here who are dealing with CSV files import on the daily basis, and since Excel is a really popular tool there ...
New
Patoshizzle
After calling mix ecto.create I get this error: 17:00:32.162 [error] GenServer #PID<0.412.0> terminating ** (Postgrex.Error) FATAL...
New
JeremM34
Hello, how can I check the Phoenix version ? Thanks !
New
jason.o
In the code below, if the create action is not set to accept “extra_key” as an input, it errors out with a message shown above. Is there ...
New
boundedvariable
I am going through the kafka architecture. All the features what the kafka is providing are already in Erlang. I would like hear your opi...
New
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

We're in Beta

About us Mission Statement