コード例 #1
0
ファイル: remote_control.py プロジェクト: bobrathbone/piradio
	try:
		clientsocket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
		clientsocket.settimeout(3)
		clientsocket.sendto(button, (udphost, udpport))
		data = clientsocket.recv(100).strip()

	except socket.error, e:
		err = e.args[0]
		if err == errno.EAGAIN or err == errno.EWOULDBLOCK:
			log.message("IR remote udpSend no data" + e, log.ERROR)
		else:
			# Errors such as timeout
			log.message("IR remote udpSend " + str(e), log.ERROR)

	if len(data) > 0:
		log.message("IR daemon server sent: " + data, log.DEBUG)
	return data

# Flash the IR activity LED
def flash_led(led):
	count = 6
	delay = 0.3
	log.message("Flash LED on GPIO " + str(led), log.DEBUG)

	while count > 0:
		GPIO.output(led, True)
		time.sleep(delay)
		GPIO.output(led, False)
		time.sleep(delay)
		count -= 1
	return
コード例 #2
0
ファイル: robotd.py プロジェクト: VollTec/pirobot
        if 'start' == sys.argv[1]:
            daemon.start()
        elif 'stop' == sys.argv[1]:
            daemon.stop()
        elif 'restart' == sys.argv[1]:
            daemon.restart()
        elif 'status' == sys.argv[1]:
            daemon.status()
        elif 'version' == sys.argv[1]:
            print "Version  0.1"

        # Robot arm commands
        elif len(sys.argv) >= 3:
            cmd = sys.argv[1]
            message = "Command " + cmd + " " + sys.argv[2]
            log.message(message, log.INFO)

            # Handle commands input file
            if cmd == '-c':
                commandfile = sys.argv[2]
                commandsfile = open(commandfile, "r")
                commands = commandsfile.readlines()
                commandsfile.close()
                for command in commands:
                    command = command.rstrip()
                    command = " ".join(command.split())
                    log.message(command, log.INFO)
                    cmds = command.split(' ')
                    cmd = cmds[0]
                    t = float(cmds[1])
                    robot.execute(t, cmd)
コード例 #3
0
		data = client_data
		client_data = ''
		return data

# Test UDP server class
if __name__ == "__main__":
	
	server = None

	# Call back routine to get data event
	def callback():
		global server
		print "Data =", server.getData()
		return 

	server = UDPServer((HOST, PORT), RequestHandler)
	server.serve_forever()
	print "Listening", server.fileno()

	server.listen(server,callback)
	try:
		while True:
			time.sleep(0.1)
	except KeyboardInterrupt:
		server.shutdown()
		server.server_close()
		log.message("Exiting remote listener", Log.INFO)
		sys.exit(0)

# End of class
コード例 #4
0
    try:
        clientsocket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
        clientsocket.settimeout(3)
        clientsocket.sendto(button, (udphost, udpport))
        data = clientsocket.recv(100).strip()

    except socket.error, e:
        err = e.args[0]
        if err == errno.EAGAIN or err == errno.EWOULDBLOCK:
            log.message("IR remote udpSend no data" + e, log.ERROR)
        else:
            # Errors such as timeout
            log.message("IR remote udpSend " + str(e), log.ERROR)

    if len(data) > 0:
        log.message("IR daemon server sent: " + data, log.DEBUG)
    return data


# Flash the IR activity LED
def flash_led(led):
    count = 6
    delay = 0.3
    log.message("Flash LED on GPIO " + str(led), log.DEBUG)

    while count > 0:
        GPIO.output(led, True)
        time.sleep(delay)
        GPIO.output(led, False)
        time.sleep(delay)
        count -= 1
コード例 #5
0
ファイル: robotd.py プロジェクト: bobrathbone/pirobot
		if 'start' == sys.argv[1]:
			daemon.start()
		elif 'stop' == sys.argv[1]:
			daemon.stop()
		elif 'restart' == sys.argv[1]:
			daemon.restart()
		elif 'status' == sys.argv[1]:
			daemon.status()
		elif 'version' == sys.argv[1]:
			print "Version  0.1" 

		# Robot arm commands
		elif len(sys.argv) >= 3:
			cmd = sys.argv[1]
			message =  "Command " + cmd + " " + sys.argv[2]
			log.message(message, log.INFO)

			# Handle commands input file
			if cmd == '-c':
				commandfile =  sys.argv[2]
				commandsfile = open(commandfile, "r")
				commands = commandsfile.readlines()
				commandsfile.close()
			 	for command in commands:
					command = command.rstrip()
					command = " ".join(command.split())
					log.message(command, log.INFO)
					cmds = command.split(' ')
					cmd = cmds[0]
					t = float(cmds[1])
					robot.execute(t, cmd)
コード例 #6
0
    server = None

    # Call back routine to get data event
    def callback():
        global server
        print("Data =", server.getData())
        return

    server = UDPServer((HOST, PORT), RequestHandler)
    try:
        print("Starting UDP server on port " + str(PORT))
        server.serve_forever()

        server.listen(server, callback)

    except KeyboardInterrupt:
        server.shutdown()
        server.server_close()
        msg = "Exiting remote listener"
        print(msg)
        log.message(msg, Log.INFO)
        sys.exit(0)

    finally:
        server.server_close()

# End of class
# set tabstop=4 shiftwidth=4 expandtab
# retab
コード例 #7
0
ファイル: tcp_server_class.py プロジェクト: towmeod/piradio
        client_data = ''
        return data


# Test TCP server class
if __name__ == "__main__":

    server = None

    # Call back routine to get data event
    def callback():
        global server
        print "Data =", server.getData()
        return

    server = TCPServer((HOST, PORT), RequestHandler)
    server.allow_reuse_address = True
    print "Listening", server.fileno()

    server.listen(server, callback)
    try:
        while True:
            time.sleep(0.1)
    except KeyboardInterrupt:
        server.shutdown()
        server.server_close()
        log.message("Exiting remote listener", Log.INFO)
        sys.exit(0)

# End of class
コード例 #8
0
    picWallpaper = None

    locale.setlocale(locale.LC_ALL, '')

    try:
        os.environ['DISPLAY']
    except:
        print("This program requires an X-Windows desktop")
        sys.exit(1)

    # Do not override locale settings
    try:
        locale.setlocale(locale.LC_ALL, '')
    except:
        pass
    log.message("locale " + str(locale.getdefaultlocale()), log.DEBUG)

    # Prevent LCD version of program starting
    os.popen("systemctl disable radiod")

    # See if alraedy running
    pid = checkPid(pidfile)

    # Stop the pygame mixer as it conflicts with MPD
    pygame.mixer.quit()

    font = pygame.font.SysFont('freesans', 13)
    display = GraphicDisplay(font)
    size = display.config.screen_size

    if display.config.fullscreen:
コード例 #9
0
ファイル: robot.py プロジェクト: VollTec/pirobot
	for cmd in commands:
		print cmd + "   " + commands[cmd]
	print  "x   Exit program"
	print
	return

### Main routine ###
if __name__ == "__main__":
        displayKeys()
	fd = sys.stdin.fileno()
	old_settings = termios.tcgetattr(fd)
	tty.setcbreak(sys.stdin)

	t = 0.1
	while True:
		key = sys.stdin.read(1)

		if key ==  'x': 
			sys.exit(0)

		else:
			try:
				cmd = commands[key]
				log.message(cmd, log.INFO)
				robot.execute(t,cmd)
			except:
				displayKeys()

# End of main