Coder Social home page Coder Social logo

raspberry-pi-home-automation's People

Contributors

dependabot[bot] avatar rpellerin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

savemech

raspberry-pi-home-automation's Issues

Only update Strava activities once

Store their ID for 6 months in Redis, as an expiring key of a hash or something. Do not process activities if their ID is found in Redis.

Add tests

Must extract logic into functions into files

Add Arduino

TODO

  • Read this for the sake of reading: https://raspberrypi.stackexchange.com/questions/62523/always-on-security-camera-uploading-to-cloud-looping-video-recording-saving

  • Read https://blog.cavelab.dev/2021/11/home-assistant-manual-alarm/ + add link in my future blog post

  • Read https://blog.cavelab.dev/2022/12/rpi-security-alarm/ + add link in my future blog post

  • Switch from emails to Pushover or have both

  • Turn on a buzzer/beeper after toggle on/off the alarm

  • Handle the relay? Google about spike and current flowing back when toggling on/off

  • Make sure the Arduino doesn't draw too much current from the Pi, and the Pi neither

  • Sound an alarm when motion or door opens, and alarm is enabled

  • Re-read, anything interesting in there? https://stackoverflow.com/questions/25593249/simplest-solution-in-arming-disarming-your-raspberry-pi-home-alarm

  • Write blog article that points to this repo with https://www.youtube.com/watch?v=RiU3FkZqWHA, reusing the content of README.md, and having README.md pointing to the article. In the article, talk about the motivation and hardware with photos:

    • Remote control sockets from Brennenstuhl

    • RF kit + maybe a 17cm copper spring antenna to better receive? Also, the transmitter is smaller than the receiver.

    • RF remote controller/keybob

    • PIR motion detector

      Retriggerable basically means that as long as movement in front of the sensor is detected, the light stays on. While the non-retriggerable mode is the exact opposite. No matter how much movement is in front of the PIR sensor, it will stay high for the period given by Tx; after that it will go off for the period given by Ti and after that if movement is still detected it will go on again, and so forth.
      [...] the non-retriggerable mode is what we want because we will have more photos during a sequence of movements instead of a long period for the camera trigger.

      source

    In the README.md, talk about software, code + howto. Mention the default code examples that come with rc-switch, specifically the "receive demo" one

    Draft of the instructions to be added in the README.md file

    1. Copy the code of the remote controller of the remove controlled socket, onto the keyfob (see video)

    2. Set up the Arduino https://docs.arduino.cc/tutorials/uno-r4-wifi/r4-wifi-getting-started

    3. sudo adduser $USER dialout

    4. Install the CLI: https://arduino.github.io/arduino-cli/0.20/installation/

      curl -fsSL https://raw.githubusercontent.com/arduino/arduino-cli/master/install.sh | BINDIR=~/.local/bin sh` 
      arduino-cli config init
      arduino-cli core update-index
      arduino-cli board list # Check it's recognized, after plugging the Arduino in the USB port of the Raspberry Pi
      arduino-cli core install arduino:renesas_uno # For Uno 4
      arduino-cli core list # Check it's installed
      arduino-cli lib search rc-switch
      arduino-cli lib install rc-switch
      arduino-cli compile --fqbn arduino:renesas_uno:unor4wifi ArduinoSketch # An error about libfl.so.2 missing? `sudo apt install libfl2`
      arduino-cli upload -p /dev/ttyACM0 --fqbn arduino:renesas_uno:unor4wifi ArduinoSketch
      arduino-cli monitor -p /dev/ttyACM0 # To test
      python3 -m pip install pyserial

      Bonus = code for emitting:

      #include <RCSwitch.h>
      
      RCSwitch mySwitch = RCSwitch();
      
      void setup() {
       Serial.begin(9600); // To allow writing logs
      
       // Transmitter is connected to Arduino Pin #10 , and GND + 5V
       mySwitch.enableTransmit(10); 
      
       // Set Protocol (default is 1, will work for most outlets)
       mySwitch.setProtocol(1); 
       mySwitch.setPulseLength(100); // update with correct value
      }
      
      void loop() {
       // mySwitch.sendTriState("FFFFFFFFFFFF"); // ON, update with correct value
       delay(1000);
       // mySwitch.sendTriState("FFFFFFFFFFF0"); // OFF, update with correct value
       delay(1000);
      }

Finish `video_recorder.py`

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.