Kada_H

Kada_H

Need guidance on a Nerves and Raspberry pi project

Hello everyone,
I am Harsh, I have recently graduated as Electronics and Communication engineer. I am really interested in developing some iot projects for my home using raspberry and some embedded devices.
I am not an expert in coding as my course of study deals with complete electronic chip design, logic gates, memory, microcontrollers and stuff like that. I have worked on arduino and wrote some embedded C++ code. Apart from that I have a basic idea of how cloud and iot works but don’t know how to code for it.
I am thinking of Home automation project with raspberry pi and came across this Elixir and Nerve that can be used to develop an Embedded OS kind of thing or Firmware. My idea is to build an iot home automation system using raspberry which is connected to various appliances in house along with that it should also provide basic info like Temperature, humidity etc. Also Pi has to be connected to cloud like google firebase or something and the sensor data, security cams has to be uploaded on to cloud. The user can login to his account and access the data in cloud easily and also control the home appliances remotely.
I want know in what fields I need to have knowledge on to do all of this. Can it be done successfully using elixir and Nerve? Apart from this what is the other stuff I have to know about for creating a cloud and making cloud to work.
Also how to make an app where users can login and how to connect cloud in the back end?
Recently I came across Farmbot project which is built on elixir Nerve and various other apis. So will it be possible to make my project in to a product like that.
Please give your suggestions from where I should start and what all should I know?
Thank you.

Most Liked

Qqwy

Qqwy

TypeCheck Core Team

Yes, what you want to do is definitely possible. I’d suggest starting to read the documentation pages of the Nerves website and projects linked there that you think you might want to use, as well as potentially browsing the hexpm package list for packages that might help you further (such as connecting to Firebase).

Both Elixir, Nerves and as far as I know also Firebase are abstractions that allow you to do a lot without diving too deep under the hood. So you can probably already do a lot without special understanding of cloud computing.

But in any case, I’d suggest starting out with somthing small, and then making it bigger once you get that working. This has two advantages:

  1. It is easier to decide what to work on at a given time, and when you finish a part it feels great (rather than finishing something but only looking at the hundred other things still on you TODO list)
  2. It makes it easier to ask focused questions. You current question is very broad, which makes it difficult to answer it in a clear and concrete manner. If you have a specific problem with a specific thing, then it is easier for people to understand if and how they can answer.

I hope this helps somewhat, and welcome to the Elixir community! :slight_smile:

Kada_H

Kada_H

Thank you so much Qqwy. :blush:

Where Next?

Popular in Questions Top

JeremM34
Hello, how can I check the Phoenix version ? Thanks !
New
ovidiubadita
Hey all, I discovered Elixir and I love it. I always wanted to learn a functional programming and I intended to go for Haskell, but afte...
New
jononomo
I am trying to figure out how Mix knows whether the environment is test, dev, or prod – where is this set? Thanks.
New
dokuzbir
I want to highlight html closing tags when i click a html tag. That works in .html files but doesnt work for html.eex templates. How can...
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
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
Qqwy
Original source of discussion: This topic on the Pragmatic Programmers’ Functional Web Development with Elixir, OTP, and Phoenix forum. ...
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
svb
Hi! Currently I want to submit a form by pressing the Enter key. However, since my input field is of type “textarea” this is just adds a...
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

Other popular topics Top

9mm
I am constructing a JSON object (map) and I need to conditionally set a field. I’m trying to write proper elixir-way code… and I’m at a l...
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
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
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
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 39297 209
New
Qqwy
Original source of discussion: This topic on the Pragmatic Programmers’ Functional Web Development with Elixir, OTP, and Phoenix forum. ...
New
dblack
I’ve got an issue with an app and I’ve no idea of how to troubleshoot it. I’m hoping someone here might have seen something similar. I p...
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
AstonJ
Seen any cool LiveView demos, sample apps or examples? Please post them here! :003:
New
lanycrost
Hi everyone! I need implement if…else if…else condition from my elixir code, and anymore of this control flow structures not work proper...
New

Latest on Elixir Forum

Elixir Forum

We're in Beta

About us Mission Statement