Modifying functions and adding remote handler
This commit is contained in:
parent
d3fb04dc71
commit
ff914468d7
7 changed files with 35 additions and 123 deletions
|
|
@ -1,49 +0,0 @@
|
||||||
import flask
|
|
||||||
from RPi import GPIO
|
|
||||||
import time
|
|
||||||
import threading
|
|
||||||
|
|
||||||
app = flask.Flask(import_name=__name__)
|
|
||||||
|
|
||||||
motor_pin1 = 38
|
|
||||||
motor_pin2 = 40
|
|
||||||
|
|
||||||
GPIO.setmode(GPIO.BOARD)
|
|
||||||
GPIO.setup(motor_pin1, GPIO.OUT, initial=GPIO.LOW)
|
|
||||||
GPIO.setup(motor_pin2, GPIO.OUT, initial=GPIO.LOW)
|
|
||||||
|
|
||||||
def switch_off(mini_rotation_counter=30):
|
|
||||||
GPIO.output(motor_pin1, GPIO.LOW)
|
|
||||||
GPIO.output(motor_pin2, GPIO.LOW)
|
|
||||||
for _ in range(mini_rotation_counter):
|
|
||||||
GPIO.output(motor_pin2, GPIO.HIGH)
|
|
||||||
time.sleep(0.002)
|
|
||||||
GPIO.output(motor_pin2, GPIO.LOW)
|
|
||||||
time.sleep(0.2)
|
|
||||||
|
|
||||||
def switch_on(mini_rotation_counter=30):
|
|
||||||
GPIO.output(motor_pin1, GPIO.LOW)
|
|
||||||
GPIO.output(motor_pin2, GPIO.LOW)
|
|
||||||
for _ in range(mini_rotation_counter):
|
|
||||||
GPIO.output(motor_pin1, GPIO.HIGH)
|
|
||||||
time.sleep(0.002)
|
|
||||||
GPIO.output(motor_pin1, GPIO.LOW)
|
|
||||||
time.sleep(0.2)
|
|
||||||
|
|
||||||
def into_thread():
|
|
||||||
for _ in range(7):
|
|
||||||
switch_on()
|
|
||||||
switch_off()
|
|
||||||
switch_off()
|
|
||||||
|
|
||||||
@app.route("/open")
|
|
||||||
def open_command_function():
|
|
||||||
command_applier = threading.Thread(target=into_thread)
|
|
||||||
command_applier.start()
|
|
||||||
return "OK\n"
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if __name__=="__main__":
|
|
||||||
switch_off()
|
|
||||||
app.run(host="0.0.0.0")
|
|
||||||
46
gsminit.py
46
gsminit.py
|
|
@ -1,46 +0,0 @@
|
||||||
import serial
|
|
||||||
import os
|
|
||||||
import time
|
|
||||||
import requests
|
|
||||||
|
|
||||||
port = serial.Serial("/dev/serial0", baudrate=9600, timeout=1)
|
|
||||||
port.flush()
|
|
||||||
|
|
||||||
data=""
|
|
||||||
print("Finding module")
|
|
||||||
while 1:
|
|
||||||
data="";port.flush()
|
|
||||||
port.write(b'AT\n')
|
|
||||||
data=port.read(150)
|
|
||||||
print("received",data)
|
|
||||||
r=data.find(b'OK')
|
|
||||||
if r>=0: print("AT...good...");break
|
|
||||||
time.sleep(0.75)
|
|
||||||
|
|
||||||
while 1:
|
|
||||||
data="";port.flush()
|
|
||||||
port.write(b'AT+CLIP=1\n')
|
|
||||||
data=port.read(150)
|
|
||||||
print("received",data)
|
|
||||||
r=data.find(b'OK')
|
|
||||||
if r>=0: print("CLIP...good");break
|
|
||||||
time.sleep(0.75)
|
|
||||||
|
|
||||||
print("Finding network")
|
|
||||||
while 1:
|
|
||||||
data="";port.flush()
|
|
||||||
port.write(b'AT+CPIN?\n')
|
|
||||||
data=port.read(150)
|
|
||||||
print("received",data)
|
|
||||||
r=data.find(b'READY')
|
|
||||||
if r>=0: print("READY...good");break
|
|
||||||
time.sleep(0.75)
|
|
||||||
|
|
||||||
while 1:
|
|
||||||
rcv = port.read(150)
|
|
||||||
if b"SM" in rcv:
|
|
||||||
port.write(b'AT+CMGF=1\n')
|
|
||||||
msg = port.write(b'AT+CMGR=1\n')
|
|
||||||
if b'please' in msg: print("got it !!!");port.write(b'AT+CMGDA=DEL ALL\n')#requests.get("http://192.168.0.103:/open"); port.write(b'AT+CMGDA=DEL ALL\n')
|
|
||||||
#print("received", rcv)
|
|
||||||
time.sleep(0.5)
|
|
||||||
35
myapp.py
35
myapp.py
|
|
@ -1,5 +1,8 @@
|
||||||
|
import os
|
||||||
import flask
|
import flask
|
||||||
|
import evdev
|
||||||
import requests
|
import requests
|
||||||
|
import time
|
||||||
import threading
|
import threading
|
||||||
|
|
||||||
app = flask.Flask(import_name=__name__)
|
app = flask.Flask(import_name=__name__)
|
||||||
|
|
@ -11,6 +14,34 @@ def opener(lck):
|
||||||
for _ in range(5):
|
for _ in range(5):
|
||||||
requests.get("http://192.168.0.103/open")
|
requests.get("http://192.168.0.103/open")
|
||||||
|
|
||||||
|
def remote_handler(lck):
|
||||||
|
n_attempts = 0
|
||||||
|
remote = None
|
||||||
|
while remote is None:
|
||||||
|
#---search for remote---
|
||||||
|
input_devices = os.listdir("/dev/input")
|
||||||
|
for device in input_devices:
|
||||||
|
try:
|
||||||
|
dev = evdev.InputDevice("/dev/input/"+device)
|
||||||
|
if "Wireless Present" in dev.name and "Keyboard" in dev.name and "usb" in dev.phys:
|
||||||
|
remote = dev
|
||||||
|
print("Remote found")
|
||||||
|
break
|
||||||
|
except:
|
||||||
|
pass
|
||||||
|
#---start retrieving events if remote detected---
|
||||||
|
if remote is not None:
|
||||||
|
try:
|
||||||
|
for event in remote.read_loop():
|
||||||
|
if event.type==evdev.ecodes.EV_KEY and event.code==evdev.ecodes.KEY_B and event.value==1:
|
||||||
|
print("Command received from remote")
|
||||||
|
opener(lck)
|
||||||
|
except:
|
||||||
|
remote = None
|
||||||
|
n_attempts += 1
|
||||||
|
print("Attempt "+str(n_attempts)+" fails in finding remote")
|
||||||
|
time.sleep(3)
|
||||||
|
|
||||||
@app.route(rule="/")
|
@app.route(rule="/")
|
||||||
def index():
|
def index():
|
||||||
return "200 OK (working)\n"
|
return "200 OK (working)\n"
|
||||||
|
|
@ -55,4 +86,6 @@ def receiver():
|
||||||
|
|
||||||
|
|
||||||
if __name__=="__main__":
|
if __name__=="__main__":
|
||||||
app.run(host="0.0.0.0", debug=True)
|
remote_handler_thread = threading.Thread(target=remote_handler, args=(lock,))
|
||||||
|
remote_handler_thread.start()
|
||||||
|
app.run(host="0.0.0.0")
|
||||||
|
|
@ -1,11 +0,0 @@
|
||||||
import flask
|
|
||||||
|
|
||||||
app = flask.Flask(__name__)
|
|
||||||
|
|
||||||
@app.route("/")
|
|
||||||
def index():
|
|
||||||
return "Okay, it's working guy"
|
|
||||||
|
|
||||||
if __name__=="__main__":
|
|
||||||
app.run(host="0.0.0.0")
|
|
||||||
|
|
||||||
|
|
@ -52,7 +52,7 @@ class SIM800L:
|
||||||
|
|
||||||
def command(self, cmdstr, lines=1, waitfor=500, msgtext=None):
|
def command(self, cmdstr, lines=1, waitfor=500, msgtext=None):
|
||||||
while self.ser.in_waiting:
|
while self.ser.in_waiting:
|
||||||
self.ser.readline()
|
self.ser.readline() #or self.ser.read(150)
|
||||||
self.ser.write(cmdstr.encode())
|
self.ser.write(cmdstr.encode())
|
||||||
if msgtext:
|
if msgtext:
|
||||||
self.ser.write(msgtext.encode())
|
self.ser.write(msgtext.encode())
|
||||||
|
|
|
||||||
|
|
@ -1,15 +0,0 @@
|
||||||
import serial
|
|
||||||
import os
|
|
||||||
import time
|
|
||||||
#import RPi.GPIO as GPIO
|
|
||||||
|
|
||||||
#GPIO.setmode(GPIO.BOARD)
|
|
||||||
port = serial.Serial("/dev/serial0", baudrate=9600, timeout=1)
|
|
||||||
port.flush()
|
|
||||||
|
|
||||||
port.write(b'AT\r')
|
|
||||||
|
|
||||||
rcv = port.read(100)
|
|
||||||
|
|
||||||
print("received", rcv)
|
|
||||||
time.sleep(1)
|
|
||||||
Loading…
Reference in a new issue