Home Automation

Raspberry Pi 3 based home automation with NodeJS and React Native.
Alternatives To Home Automation
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Cylon3,685339865 years ago47April 22, 201644otherJavaScript
JavaScript framework for robotics, drones, and the Internet of Things (IoT)
Home Automation3,357
6 years ago11mitJavaScript
Raspberry Pi 3 based home automation with NodeJS and React Native.
Rpi Rgb Led Matrix3,225
17 days ago514gpl-2.0C++
Controlling up to three chains of 64x64, 32x32, 16x32 or similar RGB LED displays using Raspberry Pi GPIO
12 days ago62mitC++
The successor to Hyperion aka Hyperion Next Generation
Audio Reactive Led Strip2,449
9 months ago104mitPython
:musical_note: :rainbow: Real-time LED strip music visualization using Python and the ESP8266 or Raspberry Pi
5 months ago10March 06, 202387bsd-2-clauseC
Userspace Raspberry Pi PWM library for WS281X LEDs
2 days agomitC
Small tool to capture packets from wlan devices.
4 years ago113mitPython
Alexa client for all your devices! # No active development. PRs welcome # consider https://github.com/respeaker/avs instead
192 years agoJune 10, 202124mitSwift
A Swift library for hardware projects on Linux/ARM boards with support for GPIOs/SPI/I2C/PWM/UART/1Wire.
Embd1,21016125 years ago4March 06, 201746mitGo
Embedded Programming Framework in Go
Alternatives To Home Automation
Select To Compare

Alternative Project Comparisons

Home Automation with RPi and Javascript

Updated article: https://viktorkirilov.me/post/home-automation-raspberry-pi/


Link to video


Alt text


Since a kid I've been passionate about electronic and different kind of mechanisms. Previously I've done different small projects with arduino, like handbrake for my gaming steering wheel, custom LED tachometer for my car (see my github repo), voice controlled LEDs and so on. Recently I bought Raspberry PI 3 and around all the IoT hype, I decided to start automating my home.

The Technology Stack

Since I'm pretty familiar with javascript and its ecosystem I decided to create my own phone app via react native and connect it via websockets to NodeJS backend. I'm using ImmutableJS's Records for consistency of the data structure and the performance of the app. The data is sent between the client and the server via JSON strings, which are converted to back to Immutable records, when received on both sides. I've separated the shared modules(between client and server) to a separate local npm packages - home-records and home-config. For GPIO controlling (pins of the raspberry) I've used pi-blaster library, together with wiringPi. Since I couldn't find codes for my AC, I've recorded them by myself and added them to lirc config file. Duckdns cron is used as dynamic dns, because my IP address changes periodically and I won't have to recompile the whole app or change config each time. The server broadcasts the changes to all connected users realtime. The phone app is located in /phone-app folder, the server is located in /server. Why don't you take a look?

The Hardware

Raspberry Pi 3 is the controlling unit. High-power devices, such as LED strips, are powered via external 12V 5A power supply (shared ground with the PI). The AC is controlled via 950nm infrared LED. The heating system is wired via relay (on and off) and servo for the thermostat as I was avoid disassembling. Both white LED strip and the RGB strip are connected via IRLZ34N logical transistors to the PI. There is also IR receiver, just in case I want to record anything else. Temperature is measured via DS18B20 temperature sensor.

The wiring looks like:


New Ideas

I'm open for all kind of ideas about different modules. If you have some ideas in mind, I'll be thankful if you add it in the issue tracker and label it as Idea.

Software dependencies

  • Node & Npm
  • Pi-Blaster
  • WiringPi
  • Lirc
Popular Raspberry Pi Projects
Popular Led Projects
Popular Hardware Categories
Related Searches

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.
Home Automation