MagicMirror Forum
    • Recent
    • Tags
    • Unsolved
    • Solved
    • MagicMirror² Repository
    • Documentation
    • 3rd-Party-Modules
    • Donate
    • Discord
    • Register
    • Login
    1. Home
    2. cruunnerr
    3. Posts
    A New Chapter for MagicMirror: The Community Takes the Lead
    Read the statement by Michael Teeuw here.
    Offline
    • Profile
    • Following 3
    • Followers 7
    • Topics 14
    • Posts 279
    • Groups 0

    Posts

    Recent Best Controversial
    • RE: My First Mirror... until now ^^

      Well, if i had to do that project gain, i would not choose the RGB-5050 stripes again…

      I would directly get WS2812, because u just need one PWM Pin and with that you were able to do things like animations…

      In another project (infinity table) i choosed this one and was pretty amused :)

      https://youtu.be/IcDjzh03W-4

      posted in Show your Mirror
      cruunnerrC
      cruunnerr
    • RE: My First Mirror... until now ^^

      LED-Pin just shows, if the PIR detects motion. You don’t need to use it.

      The pir.py script starts the other shell scripts when motion is detected.

      So all commands for the RGB-Stripe are within the shell scripts (monitor_on / off.sh).
      And as u can see, i used GPIO 17,22 and 24.
      17 = red
      22 = green
      24 = blue

      To control the LEDs i used PIGPIOD and it’s commands, as i wrote.

      So after installing PIGIOD u can start it with:
      sudo pigpiod

      Commands like pigs p 22 128 will set green to 50%.
      pigs p 24 255 will set blue to 100%

      in the shell script i fade all colors from 1 to 12% with sleeps.

      Edit:

      As i wrote before u need to Autostart pigpiod via rc.local.

      sudo nano /etc/rc.local

      Mine looks like this:

      #!/bin/sh -e
      #
      # rc.local
      #
      # This script is executed at the end of each multiuser runlevel.
      # Make sure that the script will "exit 0" on success or any other
      # value on error.
      #
      # In order to enable or disable this script just change the execution
      # bits.
      #
      # By default this script does nothing.
      
      # Print the IP address
      _IP=$(hostname -I) || true
      if [ "$_IP" ]; then
        printf "My IP address is %s\n" "$_IP"
      fi
      
      iwconfig wlan0 power off &
      
      sleep 5 &
      
      /usr/local/bin/pigpiod
      
      sleep 10 &
      
      /usr/bin/python /home/pi/pir.py &
      
      exit 0
      
      posted in Show your Mirror
      cruunnerrC
      cruunnerr
    • RE: My First Mirror... until now ^^

      Well, meanwhile i changed my background, but still love it :P

      Bild Text

      posted in Show your Mirror
      cruunnerrC
      cruunnerr
    • RE: My First Mirror... until now ^^

      Hey @metalldetector

      I already did somewhere in the forum ^^

      You need to install PIGPIOD.

      sudo apt-get install build-essential python-dev unzip wget

      wget http://abyz.me.uk/rpi/pigpio/pigpio.zip && unzip pigpio.zip && cd PIGPIO && sudo make install

      Connect the PIR like shown at Part 2.2 and follow the guide:
      https://forum.magicmirror.builders/topic/6291/howto-turn-on-off-your-monitor-time-based-pir-button-app?page=1

      When creating the pir.py and fill ist with this code:

      #!/usr/bin/env python
      
      import sys
      import time
      import RPi.GPIO as io
      import subprocess
      import pigpio
      
      io.setmode(io.BCM)
      SHUTOFF_DELAY = 119 # seconds
      PIR_PIN = 25       # 22 on the board
      LED_PIN = 16
      
      def main():
          io.setup(PIR_PIN, io.IN)
          io.setup(LED_PIN, io.OUT)
          turned_off = False
          last_motion_time = time.time()
      
          while True:
              if io.input(PIR_PIN):
                  last_motion_time = time.time()
                  io.output(LED_PIN, io.LOW)
                  print ".",
                  sys.stdout.flush()
                  if turned_off:
                      turned_off = False
                      turn_on()
              else:
                  if not turned_off and time.time() > (last_motion_time + 
                                                       SHUTOFF_DELAY):
                      turned_off = True
                      turn_off()
                  if not turned_off and time.time() > (last_motion_time + 1):
                      io.output(LED_PIN, io.HIGH)
              time.sleep(.1)
      
      def turn_on():
      	subprocess.call("sh /home/pi/monitor_on.sh", shell=True)
      
      def turn_off():
      	subprocess.call("sh /home/pi/monitor_off.sh", shell=True)
      
      if __name__ == '__main__':
          try:
              main()
          except KeyboardInterrupt:
              io.cleanup()
      
      

      For the monitor_on.sh use this:

      vcgencmd display_power 1
      
      pigs p 17 1
      pigs p 22 1
      pigs p 24 1
      
      sleep 0.06s
      
      pigs p 17 2
      pigs p 22 2
      pigs p 24 2
      
      sleep 0.06s
      
      pigs p 17 3
      pigs p 22 3
      pigs p 24 3
      
      sleep 0.06s
      
      pigs p 17 4
      pigs p 22 4
      pigs p 24 4
      
      sleep 0.06s
      
      pigs p 17 5
      pigs p 22 5
      pigs p 24 5
      
      sleep 0.06s
      
      pigs p 17 6
      pigs p 22 6
      pigs p 24 5
      
      sleep 0.06s
      
      pigs p 17 7
      pigs p 22 7
      pigs p 24 6
      
      sleep 0.06s
      
      pigs p 17 8
      pigs p 22 8
      pigs p 24 7
      
      sleep 0.06s
      
      pigs p 17 9
      pigs p 22 9
      pigs p 24 8
      
      sleep 0.06s
      
      pigs p 17 10
      pigs p 22 10
      pigs p 24 9
      
      sleep 0.06s
      
      pigs p 17 11
      pigs p 22 11
      pigs p 24 10
      
      sleep 0.06s
      
      pigs p 17 12
      pigs p 22 12
      pigs p 24 11
      
      

      For monitor_off.sh use this:

      pigs p 17 12
      pigs p 22 12
      pigs p 24 11
      
      sleep 0.06s
      
      pigs p 17 11
      pigs p 22 11
      pigs p 24 10
      
      sleep 0.06s
      
      pigs p 17 10
      pigs p 22 10
      pigs p 24 9
      
      sleep 0.06s
      
      pigs p 17 9
      pigs p 22 9
      pigs p 24 8
      
      sleep 0.06s
      
      pigs p 17 8
      pigs p 22 8
      pigs p 24 7
      
      sleep 0.06s
      
      pigs p 17 7
      pigs p 22 7
      pigs p 24 6
      
      sleep 0.06s
      
      pigs p 17 6
      pigs p 22 6
      pigs p 24 5
      
      sleep 0.06s
      
      pigs p 17 5
      pigs p 22 5
      pigs p 24 5
      
      sleep 0.06s
      
      pigs p 17 4
      pigs p 22 4
      pigs p 24 4
      
      sleep 0.06s
      
      pigs p 17 4
      pigs p 22 4
      pigs p 24 4
      
      sleep 0.06s
      
      pigs p 17 3
      pigs p 22 3
      pigs p 24 3
      
      sleep 0.06s
      
      pigs p 17 2
      pigs p 22 2
      pigs p 24 2
      
      vcgencmd display_power 0
      
      sleep 0.06s
      
      pigs p 17 1
      pigs p 22 1
      pigs p 24 1
      
      sleep 0.06s
      
      pigs p 17 0
      pigs p 22 0
      pigs p 24 0
      
      

      Hope that helps. Try to find your best way and ask, if u need more help :)

      Edit:
      Oh and u need to start Pigpio on reboot with rc.local. ;)

      posted in Show your Mirror
      cruunnerrC
      cruunnerr
    • RE: {HowTo} turn on/off your monitor (Time based, PIR/Button, App)

      @chandra said in {HowTo} turn on/off your monitor (Time based, PIR/Button, App):

      Screen goes off after 120sec, But when it sense the motion, the screen is black.

      Hint from the main post:

      To check if it works just go into terminal via ssh and type:

      sudo tvservice -o to turn off
      sudo tvservice -p to turn on

      edit: for some monitors the following commands work better. Please use them if your monitor needs it:

      vcgencmd display_power 0 to turn off
      vcgencmd display_power 1 to turn on

      edit:
      also check this:
      https://forum.magicmirror.builders/topic/6291/howto-turn-on-off-your-monitor-time-based-pir-button-app/11

      posted in Tutorials
      cruunnerrC
      cruunnerr
    • RE: {HowTo} turn on/off your monitor (Time based, PIR/Button, App)

      There is no mistake as far as i can see.

      The “&” just need to be written, when a second or third command follows.

      So when u are just using this one command both (with or without the “&”) should work

      posted in Tutorials
      cruunnerrC
      cruunnerr
    • RE: {HowTo} turn on/off your monitor (Time based, PIR/Button, App)

      I am glad, you got it :)

      As you can see i used PIN 25 for the PIR and 17,22,24 for the LED’s.

      Keep in mind, that the physical GPIO Number isn’t the same as with BCM numbering !!! Thats important!

      In the script (line 9) u can see that it uses the BCM Numbering. That means the following:

      BCM pin 17 = physical PIN 11
      BCM pin 22 = physical PIN 15
      BCM pin 24 = physical PIN 18
      BCM pin 25 = physical PIN 22

      So the LED’s must be connected with physical PIN 11,15,18 and the PIR on PIN 22.

      Hope that was clear ^^
      My english isn’t very well.

      posted in Tutorials
      cruunnerrC
      cruunnerr
    • RE: Wifi-power socket

      Do not forget:

      The Wifi Power socket itself consumes about 1-2W

      I have many of these ^^
      You can reduce it by updating the sockets with alternative firmware, but it still consumes 0,5-1W

      Just to let you know ;)

      posted in Hardware
      cruunnerrC
      cruunnerr
    • RE: {HowTo} turn on/off your monitor (Time based, PIR/Button, App)

      @Rec3ptor

      If u followed the guide i posted, your PIGPIOD installation path should be “/usr/local/bin/pigpiod”

      For autostart when booting u must edit the rc.local. Mine is like this:

      pi@MagicMirror:~ $ cat /etc/rc.local
      #!/bin/sh -e
      #
      # rc.local
      #
      # This script is executed at the end of each multiuser runlevel.
      # Make sure that the script will "exit 0" on success or any other
      # value on error.
      #
      # In order to enable or disable this script just change the execution
      # bits.
      #
      # By default this script does nothing.
      
      # Print the IP address
      _IP=$(hostname -I) || true
      if [ "$_IP" ]; then
        printf "My IP address is %s\n" "$_IP"
      fi
      
      iwconfig wlan0 power off &
      
      sleep 5 &
      
      /usr/local/bin/pigpiod
      
      sleep 10 &
      
      /usr/bin/python /home/pi/pir.py &
      
      exit 0
      

      So enter this via ssh:

      sudo nano /etc/rc.local
      

      and just put this into the file:

      /usr/local/bin/pigpiod
      
      posted in Tutorials
      cruunnerrC
      cruunnerr
    • RE: {HowTo} turn on/off your monitor (Time based, PIR/Button, App)

      Hey dude,

      sorry for not answering, but i am only rarely here :(

      First i would try to edit the config file:

      sudo nano /boot/config.txt
      

      try to uncomment “hdmi_force_hotplug=1” and try to uncomment “config_hdmi_boost=4”

      maybe play around with some other settings.
      https://www.raspberrypi.org/documentation/configuration/config-txt/video.md

      Rebooting the pi once a day is not the best solution :/
      But however, if necessary:
      http://www.simsalabim-solutions.net/vademecum/raspberry_pi/setting_up_reboot_cron_job_on_pi

      posted in Tutorials
      cruunnerrC
      cruunnerr
    • 1 / 1