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

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
myronmarston
The Elixir Typespec docs show the following syntax for keyword lists in typespecs: # ... | [key: type] # keyword lists...
New
tduccuong
Hi, is there any work on GUI with Elixir, that is similar to Electron/Javascript? My idea is to bundle Phoenix and BEAM into a single se...
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
jaysoifer
Is there a way to rollback a specific migration and only that one (“skipping” all the other ones)? Would mix ecto.rollback -v 200809061...
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
alice
Hey, Just curious what are the main benefits of Elixir compared to Clojure? When is Elixir more useful than Clojure and vice versa? Th...
New
Brian
What is the proper way to load a module from a file in to IEX? In the python world, doing something like this pretty standard: from ....
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
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

Other popular topics Top

New
TunkShif
This post is an instruction guide to help you setup your Neovim for Elixir development from scratch. It includes general information on h...
274 41539 114
New
hariharasudhan94
lets say i have a sample like a = 20; b = 10; if (a > b) do {:ok, "a"} end if (a < b) do {:ok, b} end if (a == b) do {:ok, "equa...
New
jaysoifer
Is there a way to rollback a specific migration and only that one (“skipping” all the other ones)? Would mix ecto.rollback -v 200809061...
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
vrod
I am using the Starship cross-shell prompt – it seems pretty nice, but I get some errors: [WARN] - (starship::utils): Executing command ...
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
KronicDeth
Elixir plugin for JetBrain’s IntelliJ Platform (including Rubymine) This is a plugin that adds support for Elixir to JetBrains IntelliJ...
289 36128 110
New
dogweather
I wrote this comment on r/haskell, and it’s not popular there. :wink: But I think I’m on to something… Haskell reminds me of Java, and e...
New
jononomo
For some reason my phoenix channels are working for me in my local dev environment, but as soon as I deploy via Docker, I get a 403 error...
New

We're in Beta

About us Mission Statement