Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/python
- 'Motor driver program'
- import socket
- # Define movement commands, output pins, and states. + = pin on, - = pin off.
- cmds = {
- 'go_forward': ( 4, -5, -6, 7),
- 'go_back': (-4, 5, 6, -7),
- 'turn_left': (-4, 5, -6, 7),
- 'turn_right': ( 4, -5, 6, -7),
- 'stop': (-4, -5, -6, -7),
- }
- # Import and initialise the PiFace module
- import piface.pfio as pf
- pf.init()
- def setout(val):
- 'Motor output function'
- for p in val:
- if p < 0:
- pf.digital_write(-p, 0)
- else:
- pf.digital_write(p, 1)
- # Set all relays to off
- setout('stop')
- # Setup socket parameters
- HOST = ''
- PORT = 54321
- s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
- s.bind((HOST, PORT))
- s.listen(1)
- while True:
- conn, addr = s.accept()
- print 'Connected from', addr
- # Continous loop that waits for new data and acts depending
- # on data content on it
- while True:
- data = conn.recv(1024).strip().lower()
- print 'Received:', data if data else '<nothing>'
- if not data: break
- if data in cmds:
- setout(cmds[data])
- else:
- conn.send('unknown command')
- print 'unknown command:', data
- conn.close()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement