-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtwilioZumo.py
66 lines (55 loc) · 1.58 KB
/
twilioZumo.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
from flask import Flask, request, redirect
import twilio
from gpiozero import Robot
from twilio import twiml
from twilio.twiml.messaging_response import Message, MessagingResponse
from time import sleep
#Motor setup
speed = 0.5
robot = Robot(left=(26,19),right=(20,16))
app = Flask(__name__)
@app.route("/", methods=['GET', 'POST']) #POST request to web hook (Ngrok tunnel)
def sms_reply():
"""Respond to incoming calls with a simple text message."""
# Get text message
body = request.values.get('Body', None)
# Get response
resp = MessagingResponse()
# Add a message
if body == "f" or body == "1": #Forward
resp.message("Forwards!")
robot.forward(speed)
sleep(2)
robot.stop()
elif body == "b" or body == "2": #Back
resp.message("Backwards")
robot.backward(speed)
sleep(2)
robot.stop()
elif body == "l" or body == "3": #Left
resp.message("Left")
robot.left(speed*2)
sleep(1.5)
robot.stop()
elif body == "r" or body == "4": #Right
resp.message("Right")
robot.right(speed*2)
sleep(1.5)
robot.stop()
elif body == "dance": #Dance
resp.message("Party on!")
robot.right(speed*2)
sleep(2)
robot.left(speed*2)
sleep(2)
robot.forward(speed)
sleep(2)
robot.backward(speed)
sleep(2)
robot.stop()
else: #Error
resp.message("ERROR: " + str(body))
robot.stop()
return str(resp)
if __name__ == "__main__": #Main program
app.run(debug=True)