From 815592a7628faa82848e59ee7729f2af8380853c Mon Sep 17 00:00:00 2001 From: EXC Date: Tue, 26 Feb 2019 01:08:59 +0000 Subject: [PATCH 1/5] using wifi smart plug instead of stupid usb powerstrip --- deamon/run | 10 ++++----- deamon/scannereventfilename.txt | 2 +- deamon/supervise/status | Bin 18 -> 18 bytes deamon/supervise/status.new | 0 powerUSBdevice/99-powerusb.rules | 1 - powerUSBdevice/README | 5 ----- powerUSBdevice/executable/pwrusbcmd | Bin 85064 -> 0 bytes reset | Bin 8664 -> 0 bytes reset.c | 15 ------------- start-gate.sh | 32 ++++++++++++++++------------ 10 files changed, 24 insertions(+), 41 deletions(-) delete mode 100644 deamon/supervise/status.new delete mode 100644 powerUSBdevice/99-powerusb.rules delete mode 100644 powerUSBdevice/README delete mode 100755 powerUSBdevice/executable/pwrusbcmd delete mode 100755 reset delete mode 100644 reset.c diff --git a/deamon/run b/deamon/run index 002b7bf..4419de9 100755 --- a/deamon/run +++ b/deamon/run @@ -3,7 +3,7 @@ import urllib2 import subprocess import time from evdev import InputDevice, ecodes -with open('/home/blake/excursion/yassine/deamon/scannereventfilename.txt') as fevent: +with open('/home/gate/Gate-Code/deamon/scannereventfilename.txt') as fevent: ss=fevent.read().splitlines()[0] #print(ss) #quit() @@ -24,13 +24,13 @@ for event in dev.read_loop(): print(data) print("good RFID!!") if data == 200: - with open("/home/blake/excursion/yassine/gatelogs/gate.log", "a") as f: + with open("/home/gate/gatelogs/gate.log", "a") as f: f.write(time.strftime("%Y-%m-%d %H:%M:%S")+" "+rfid+"\n") - subprocess.call(['/home/blake/excursion/yassine/powerUSBdevice/executable/pwrusbcmd', '0', '0', '1']) + subprocess.call(['/home/gate/hs100/hs100.sh', 'on']) subprocess.call(['sleep', '5']) - subprocess.call(['/home/blake/excursion/yassine/powerUSBdevice/executable/pwrusbcmd', '0', '0', '0']) + subprocess.call(['/home/gate/hs100/hs100.sh', 'off']) except: print("BADDD rfid") - with open("/home/blake/excursion/yassine/gatelogs/gate.log", "a") as f: + with open("/home/gate/gatelogs/gate.log", "a") as f: f.write(time.strftime("%Y-%m-%d %H:%M:%S")+" tag "+rfid+" not in system\n") rfid = "" diff --git a/deamon/scannereventfilename.txt b/deamon/scannereventfilename.txt index 09edaba..fe9dd19 100644 --- a/deamon/scannereventfilename.txt +++ b/deamon/scannereventfilename.txt @@ -1 +1 @@ -/dev/input/event7 +/dev/input/event2 diff --git a/deamon/supervise/status b/deamon/supervise/status index 737fd2785a4f978941dfee61f0c50bdba0532db7..d00b8df18545f6ed0d99e6560228eb750930394d 100644 GIT binary patch literal 18 YcmZ=@U|@(TX~<%CShi=m36N6?04zxa^Z)<= literal 18 YcmZ=@U|@*aUQr{*rFdmy5|C3004$sY>i_@% diff --git a/deamon/supervise/status.new b/deamon/supervise/status.new deleted file mode 100644 index e69de29..0000000 diff --git a/powerUSBdevice/99-powerusb.rules b/powerUSBdevice/99-powerusb.rules deleted file mode 100644 index 9d67c6e..0000000 --- a/powerUSBdevice/99-powerusb.rules +++ /dev/null @@ -1 +0,0 @@ -SUBSYSTEM=="usb", ATTRS{idVendor}=="04d8", ATTRS{idProduct}=="003f", MODE="0666" diff --git a/powerUSBdevice/README b/powerUSBdevice/README deleted file mode 100644 index 65cf3fe..0000000 --- a/powerUSBdevice/README +++ /dev/null @@ -1,5 +0,0 @@ -Permissions - - In order to assign read and write permissions for the PowerUSB device copy 99-powerusb.rules file into /etc/udev/rules.d and unplug and re-plug your device. - - - diff --git a/powerUSBdevice/executable/pwrusbcmd b/powerUSBdevice/executable/pwrusbcmd deleted file mode 100755 index eff7025832570600a6199aebb97a143b3b1c9d36..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 85064 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 diff --git a/reset b/reset deleted file mode 100755 index e1053597c2b7eae4efe9c0cd17dcdf9ee4c655d4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8664 zcmeHMeQZOcyW;wBlebQR+{AMnfqWWgz2yYS+~4)NyLk^Rg9 z>NL8vOfIEEteV)QNl}No{ZUPkHlb{qXc!d?X=>9-lhD>pXj-SFKt%;ZQKjOYbKg1k z^NTaFKlWda_1?MXch5QZ-23jgzt`2h+wF3JkQ=@VB+Zs-3bNh+&#Y4-V{NbkG1%q&jkT{iBAdQn2|De(mg#-8$ zKz0;styhW22UJ41#&PJ(#g0U>Yh=4dwi7X8Ly2UK7<8(4fs-y# z&xdA&(!ZfX71xURHYEWF7rU>c9h6qe!^LVC*rZe9owFWN1EcX zL}t8cylqF*j&1&Q(%-7;P5w!D&;CADlC+}_C5m|sKGX*&fAxmfXJ3Bvv4Lmb|M?5+ z-aWYQ&Vk?lifrY<<6YSx#~u3G}9{#8ofkGKyXCw&2dQu=`HF+|nh0kPze8Hb^G zG988FSTq5KL77I{45v(EG#n%3$Y?Ubhyi=LgY6wgtH0I1oyv2oA8~2}`eDDN45ZAu z*b2(oX^F5)-3}`rzy^zm_bJtW^jW(RVi%_!-xBG9i;r8*UPu!}~ zPnG|y+6VeeGiLeR*U*zb@pjc^%VTc)S0+3JVKfCH*!c@UM87Bo}X3n z_erKu=Vz3BoMZ}deoDzHk}0(LNt9b|2ea=T*0cZ6C;oY-CltIoGg+a5e)UqbVpp$} zYcTfq8S>S4dg z7b(9_f8k^0;L-yRI?%Is^hcU5> z(z9I)m|nO@&8cUvD&x6p4|2I|*S%9+_kKq;y0`{MsN{`e9%hJ`K=I7A%Z2Km2^P^9Pmf< z^EfFmmDUH?jQOPBhWZ1f>#g1GZP;5={hg{4uxs5@kAG?NV+4~gn?OPM5WN8(%5cz0D^pbZ^^4udw8`EX(<7Jd=6y( zE5_FV9s8W*!C9=-c=f>N^Y;LD8xPG|Jiis=4WO08*8&}5o#X+TtqVCcZ-;;QQGC(j{X4~xf9Sm8FuoHUoff3O7p2I5q% zv)}$2ao=M1@CU@}+zp^R`t!SlLt$K(vF+axr}m+1A|iDrNB%M5wXhbRarn8*`f^V$ zcL$%czO#KQu))bc-9HhjI|1a?3Rh6kYa`;mBE%9}5T|-M{qI~t|B&)uVxAmInQ1dK zJnSFB+sM5gy+(KNV8}2a5=}*q#L~E~8s?~hx0s1&8cINh5lI?H;>p2q+=!UTRN4q< z#sL?rv3S&sM*LsizM~C2mrycj*|Zix0~fZ`F|d}+NM>~O7@F85gI3!j)l@VcHC4>J zdjtErjIRBi7_?ObNf#MK!07zO{=mLq2Wr`J)NL#nd%6#_2fB>|yLTV#3K^k5dv_PP zQx~>F>5PgMj9_S=QD~UZz7A@ZPV(-%>w z#0R^-BH91Q|1mzsg~>c1atkKx_Oeeh+2LkUWbU-@MEpMP>81R0ZcS;PV?g4kJ4_-u zKUfmLeoW9AM(kzZHO;^oR;)lybr<^v#-Bz`XB@GY{h7`OA2}zny7D1u;)n5}Gm6;D zKJF~r%lS{@7d_$MMteH*h&<`h5CPoxDF!}^ssGmO@iPp^F+puA_A_ih!}d~7Dc@QD z7umj@9m=`wI@^ykPWDt6r~RvlQC!r%M6%E9;ScTH5ix8j<2#Fw-Cp*iW2`uk*R&Gy z|Bmq29QLx#%(DIam^_}vc(6+{A zFZ=Wca*E{CcgojMhuUAt_wjz-_mK8~LtCn<*vr0O{)d+To4Gmi@kl@Tm!o|7pKyUH zh2)G^WZ~AnvrvBi9Ki)>%1hxTcEaiV*y}I*HjV8iPVpdiB7cer!leGP-|1mPr@mu2 z03A#SYsSY;V&7{AF)jAO>HlIW+phY$lrM^$=@6Aa>HBv3DRPXY^M~7r=_Y)nJ~FS- R_$*ca0$)V+JDfYq{||55a0vha diff --git a/reset.c b/reset.c deleted file mode 100644 index 321c464..0000000 --- a/reset.c +++ /dev/null @@ -1,15 +0,0 @@ -#include -#include -#include -#include -#include -void main(int argc, char **argv) -{ - const char *filename; - int fd; - filename = argv[1]; - fd = open(filename, O_WRONLY); - ioctl(fd, USBDEVFS_RESET, 0); - close(fd); - return; -} diff --git a/start-gate.sh b/start-gate.sh index e2bc952..2e6ab63 100755 --- a/start-gate.sh +++ b/start-gate.sh @@ -1,26 +1,30 @@ #!/bin/bash killall -9 supervise 2>/dev/null # kill the deamon -BUS=$(lsusb | grep '04d8:003f' | awk '{print $2}') # get the bus number for power strip -DEVICE=$(lsusb | grep '04d8:003f' | awk '{print $4}' | sed 's/\([0-9]*\).*/\1/') # get the device number for power strip + +touch /home/gate/gatelogs/gate.log #make sure gate log is there +gateIP=$(/home/gate/hs100/hs100.sh discover | awk 'NF{ print $NF }') # get smart plug ip + EVENTNUM=$(ls -l /dev/input/by-id/ | grep event | grep -v -i keyboard | awk '{print $11}' | cut -d"/" -f2) # get event number for scanner -if [ -n "${BUS}" ] && [ -n "${EVENTNUM}" ] +if [ -n "${gateIP}" ] && [ -n "${EVENTNUM}" ] then - # reset the USB-controlled power strip first because it keeps bugging uughhh - echo "Reseting PowerUSB with the following values" - echo "Bus:" $BUS " Device:" $DEVICE " EventNum:" $EVENTNUM - echo xnqpla29 | sudo -S /home/blake/excursion/yassine/reset /dev/bus/usb/$BUS/$DEVICE # reset USB-controlled power strip + echo "Scanner found at EventNum:" $EVENTNUM echo xnqpla29 | sudo -S chmod 666 /dev/input/$EVENTNUM #get persmission to access scanner - echo /dev/input/$EVENTNUM > /home/blake/excursion/yassine/deamon/scannereventfilename.txt # deamon/run will read this file for the filename - nohup supervise /home/blake/excursion/yassine/deamon &>/dev/null & # this runs the code in deamon/run and keep it running + echo /dev/input/$EVENTNUM > /home/gate/Gate-Code/deamon/scannereventfilename.txt # deamon/run will read this file for the filename + + echo "Smart plug found at IP " $gateIP + echo xnqpla29 | sudo -S sed -i "\$ a $gateIP\ths100\n" /etc/hosts #add smart plug to known hosts + + nohup supervise /home/gate/Gate-Code/deamon &>/dev/null & # this runs the code in deamon/run and keep it running fi -if [ -z "${EVENTNUM}" ] +if [ -z "${gateIP}" ] then - echo "Can't find gate scanner!! Gate scanner probably not plugged" 1>&2 + echo "Can't find gate smart plug!! its probably not plugged" 1>&2 exit 1 fi -if [ -z "${BUS}" ] +if [ -z "${EVENTNUM}" ] then - echo "Can't find BUS number!! USB-controlled power strip probably not plugged" 1>&2 + echo "Can't find gate scanner!! Gate scanner probably not plugged" 1>&2 exit 1 -fi +fi + From 7fc61dfbac4b3a5aaad3f78cb45a791b9ac8ec52 Mon Sep 17 00:00:00 2001 From: Yassine Dhane Date: Mon, 25 Feb 2019 17:51:07 -0800 Subject: [PATCH 2/5] Update README.md --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 4fe1855..f123042 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,10 @@ # Gate-Code +uses https://github.com/branning/hs100 to control wifi smart plug Requires supervise: https://cr.yp.to/daemontools/supervise.html +needs python evdev module add a task in crontab: # Every day at 5am restart the gate so that you make sure the gate is running and also this resets the USB-controlled power strip because sometimes it bugs From cf125670c910f1cb6e5b0e43484e31b92f72c53c Mon Sep 17 00:00:00 2001 From: Yassine Dhane Date: Wed, 13 Mar 2019 14:27:46 -0700 Subject: [PATCH 3/5] Update run --- deamon/run | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/deamon/run b/deamon/run index 4419de9..d3ba1a4 100755 --- a/deamon/run +++ b/deamon/run @@ -3,7 +3,7 @@ import urllib2 import subprocess import time from evdev import InputDevice, ecodes -with open('/home/gate/Gate-Code/deamon/scannereventfilename.txt') as fevent: +with open('~/Gate-Code/deamon/scannereventfilename.txt') as fevent: ss=fevent.read().splitlines()[0] #print(ss) #quit() @@ -21,16 +21,16 @@ for event in dev.read_loop(): #except urllib2.HTTPError: # data = 401 # pass - print(data) - print("good RFID!!") + # print(data) + # print("good RFID!!") if data == 200: - with open("/home/gate/gatelogs/gate.log", "a") as f: + with open("~/gatelogs/gate.log", "a") as f: f.write(time.strftime("%Y-%m-%d %H:%M:%S")+" "+rfid+"\n") - subprocess.call(['/home/gate/hs100/hs100.sh', 'on']) + subprocess.call(['~/hs100/hs100.sh', 'on']) subprocess.call(['sleep', '5']) - subprocess.call(['/home/gate/hs100/hs100.sh', 'off']) + subprocess.call(['~/hs100/hs100.sh', 'off']) except: - print("BADDD rfid") - with open("/home/gate/gatelogs/gate.log", "a") as f: + # print("BADDD rfid") + with open("~/gatelogs/gate.log", "a") as f: f.write(time.strftime("%Y-%m-%d %H:%M:%S")+" tag "+rfid+" not in system\n") rfid = "" From 4a5bb61a935cb2e220a4af938f6a75611f67bb0f Mon Sep 17 00:00:00 2001 From: Yassine Dhane Date: Wed, 13 Mar 2019 14:29:01 -0700 Subject: [PATCH 4/5] generalize paths --- start-gate.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/start-gate.sh b/start-gate.sh index 2e6ab63..c356ace 100755 --- a/start-gate.sh +++ b/start-gate.sh @@ -1,20 +1,20 @@ #!/bin/bash killall -9 supervise 2>/dev/null # kill the deamon -touch /home/gate/gatelogs/gate.log #make sure gate log is there -gateIP=$(/home/gate/hs100/hs100.sh discover | awk 'NF{ print $NF }') # get smart plug ip +touch ~/gatelogs/gate.log #make sure gate log is there +gateIP=$(~/hs100/hs100.sh discover | awk 'NF{ print $NF }') # get smart plug ip EVENTNUM=$(ls -l /dev/input/by-id/ | grep event | grep -v -i keyboard | awk '{print $11}' | cut -d"/" -f2) # get event number for scanner if [ -n "${gateIP}" ] && [ -n "${EVENTNUM}" ] then echo "Scanner found at EventNum:" $EVENTNUM echo xnqpla29 | sudo -S chmod 666 /dev/input/$EVENTNUM #get persmission to access scanner - echo /dev/input/$EVENTNUM > /home/gate/Gate-Code/deamon/scannereventfilename.txt # deamon/run will read this file for the filename + echo /dev/input/$EVENTNUM > ~/Gate-Code/deamon/scannereventfilename.txt # deamon/run will read this file for the filename echo "Smart plug found at IP " $gateIP echo xnqpla29 | sudo -S sed -i "\$ a $gateIP\ths100\n" /etc/hosts #add smart plug to known hosts - nohup supervise /home/gate/Gate-Code/deamon &>/dev/null & # this runs the code in deamon/run and keep it running + nohup supervise ~/Gate-Code/deamon &>/dev/null & # this runs the code in deamon/run and keep it running fi if [ -z "${gateIP}" ] then From 40a1a298714418e8c1eac4f637b273e765b4e760 Mon Sep 17 00:00:00 2001 From: Yassine Dhane Date: Wed, 13 Mar 2019 14:30:45 -0700 Subject: [PATCH 5/5] generalize path --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f123042..bdfc66d 100644 --- a/README.md +++ b/README.md @@ -8,4 +8,4 @@ needs python evdev module add a task in crontab: # Every day at 5am restart the gate so that you make sure the gate is running and also this resets the USB-controlled power strip because sometimes it bugs -0 5 * * * /home/blake/excursion/yassine/start-gate.sh +0 5 * * * ~/Gate-Code/start-gate.sh