With this Python script I am getting errors:
import webiopi
import math
GPIO = webiopi.GPIO
# Left motor GPIOs
L1=4
L2=17
# Right motor GPIOs
R1=19
R2=21
def left_stop():
GPIO.output(L1, GPIO.LOW)
GPIO.output(L2, GPIO.LOW)
def left_forward():
GPIO.output(L1, GPIO.HIGH)
GPIO.output(L2, GPIO.LOW)
def left_backward():
GPIO.output(L1, GPIO.LOW)
GPIO.output(L2, GPIO.HIGH)
def right_stop():
GPIO.output(R1, GPIO.LOW)
GPIO.output(R2, GPIO.LOW)
def right_forward():
GPIO.output(R1, GPIO.HIGH)
GPIO.output(R2, GPIO.LOW)
def right_backward():
GPIO.output(R1, GPIO.LOW)
GPIO.output(R2, GPIO.HIGH)
def go_forward():
left_forward()
right_forward()
def go_backward():
left_backward()
right_backward()
def turn_left():
left_backward()
def turn_right():
left_forward()
def stop():
left_stop()
right_stop()
# Setup GPIOs
GPIO.setFunction(L1, GPIO.OUT)
GPIO.setFunction(L2, GPIO.OUT)
GPIO.setFunction(R1, GPIO.OUT)
GPIO.setFunction(R2, GPIO.OUT)
stop()
server = webiopi.Server(port=8000, login="webiopi", password="raspberry")
server.addMacro(go_forward)
server.addMacro(go_backward)
server.addMacro(turn_left)
server.addMacro(turn_right)
server.addMacro(stop)
webiopi.runLoop()
server.stop()
# Reset GPIO functions
GPIO.setFunction(L1, GPIO.IN)
GPIO.setFunction(L2, GPIO.IN)
GPIO.setFunction(R1, GPIO.IN)
GPIO.setFunction(R2, GPIO.IN)
On execution I'm getting this:
file "script.py", line 7, in <module>
GPIO = webiopi.GPIO
AttributeError : module object has no attribute 'GPIO'
What is going wrong?