All Projects → deepsyx → Home Automation

deepsyx / Home Automation

Licence: mit
Raspberry Pi 3 based home automation with NodeJS and React Native.

Programming Languages

javascript
184084 projects - #8 most used programming language
python
139335 projects - #7 most used programming language
java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Home Automation

Kalliope
Kalliope is a framework that will help you to create your own personal assistant.
Stars: ✭ 1,509 (-55.55%)
Mutual labels:  home-automation, raspberry
Rpieasy
Easy MultiSensor device based on Raspberry PI
Stars: ✭ 85 (-97.5%)
Mutual labels:  home-automation, raspberry
Mysensors
MySensors library and examples
Stars: ✭ 1,150 (-66.13%)
Mutual labels:  home-automation, raspberry
raspberry pi home security system
Home monitoring system with a Raspberry Pi and sending notifications with a Telegram bot
Stars: ✭ 14 (-99.59%)
Mutual labels:  home-automation, raspberry
Hap
Swift implementation of the Homekit Accessory Protocol
Stars: ✭ 309 (-90.9%)
Mutual labels:  home-automation
Nectarjs
🔱 Javascript's God Mode. No VM. No Bytecode. No GC. Just native binaries.
Stars: ✭ 3,113 (-8.31%)
Mutual labels:  raspberry
Raspibackup
Backup and restore your running Raspberry
Stars: ✭ 268 (-92.11%)
Mutual labels:  raspberry
Soup
☎️ Original open source call flooder using Twilio's API.
Stars: ✭ 267 (-92.14%)
Mutual labels:  phone
Home Assistantconfig
🏠 Home Assistant configuration & Documentation for my Smart House. Write-ups, videos, part lists, and links throughout. Be sure to ⭐ it. Updated FREQUENTLY!
Stars: ✭ 3,687 (+8.6%)
Mutual labels:  home-automation
Social Media Profiles Regexs
📇 Extract social media profiles and more with regular expressions
Stars: ✭ 324 (-90.46%)
Mutual labels:  phone
Rpi23 Gen Image
Advanced Debian "stretch" and "buster" bootstrap script for RPi 0/1/2/3 and QEMU
Stars: ✭ 300 (-91.16%)
Mutual labels:  raspberry
Awesome Smarthome
Curated list of awesome SmartHome/Home Automation things (open and leaving users in control)
Stars: ✭ 274 (-91.93%)
Mutual labels:  home-automation
Homegenie
HomeGenie, the open source, programmable, home automation server for smart connected devices and applications
Stars: ✭ 313 (-90.78%)
Mutual labels:  home-automation
Smartthings
Samsung SmartThings SmartApps and Device Handlers
Stars: ✭ 270 (-92.05%)
Mutual labels:  home-automation
Hoobs
Build your Smart Home with HOOBS. Connect over 2,000 Accessories to your favorite Ecosystem.
Stars: ✭ 325 (-90.43%)
Mutual labels:  home-automation
Home assistant
My personal Home Assistant setup - Running on a HassOS VM.
Stars: ✭ 270 (-92.05%)
Mutual labels:  home-automation
Miflora
☘️🌡🌼🥀🏡 Mi Flora Plant sensor Python package
Stars: ✭ 291 (-91.43%)
Mutual labels:  home-automation
Vonage Node Sdk
Vonage API client for Node.js. API support for SMS, Voice, Text-to-Speech, Numbers, Verify (2FA) and more.
Stars: ✭ 323 (-90.49%)
Mutual labels:  phone
Awesome Home Assistant
A curated list of amazingly awesome Home Assistant resources.
Stars: ✭ 3,487 (+2.71%)
Mutual labels:  home-automation
Kmansonoff
Firmware for ESP8266 based itead Sonoff switches for use with HomeAssistant / mqtt
Stars: ✭ 282 (-91.69%)
Mutual labels:  home-automation

Home Automation with RPi and Javascript

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

Intro

Link to video

https://youtu.be/wh0OoLUTeM8

Alt text

Introduction

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:

Schematic

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
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].