示例#1
0
def rover_drive():
    print("rover_drive")

    cmd = str(request.get_data('cmd'), "utf-8")
    print("cmd: " + cmd)
    # remove fluff, only command remains
    if cmd:
        cmd = cmd.split("=")[1]
        # decode URI
        cmd = unquote(cmd)

    if local:
        rover_ip = "127.0.0.1"
        base_ip = rover_ip
        rover_port = 5020
        base_port = 5025
    else:
        rover_ip = "172.16.1.30"
        base_ip = "172.16.1.20"
        rover_port = 5030
        base_port = rover_port
    print("cmd: " + cmd)
    sender = Connection("rover_drive_sender", rover_ip, rover_port)

    error = str(None)

    try:
        sender.send(cmd)
    except OSError:
        error = "Network is unreachable"
        print(error)

    receiver = Connection("rover_drive_receiver", base_ip, base_port)
    feedback = str(None)
    error = str(None)

    try:
        feedback = receiver.receive(timeout=2)
    except OSError:
        error = "Network error"
        print(error)

    print("feedback:", feedback)

    if not feedback:
        feedback = "Timeout limit exceeded, no data received"

    return jsonify(success=True, cmd=cmd, feedback=feedback, error=error)
while True:
    if usb:
        while ser.in_waiting:
            print("ser.readline():", ser.readline().decode())

    try:
        command = receiver.receive()
        print("command: " + command + "\n")

        if command in key_list:
            if command == 'w':
                feedback = "cmd: w --> m1: Forward\n"
                command = "budge fwd ~ ~ ~ ~ ~\n"
                feedback += "\ncommand: " + command
                print(feedback)
                sender.send(feedback)

                if usb:
                    ser.write(str.encode(command))
                elif uart:
                    u.tx(command)

            elif command == 's':
                feedback = "cmd: s --> m1: Back\n"
                command = "budge back ~ ~ ~ ~ ~\n"
                feedback += "\ncommand: " + command
                print(feedback)
                sender.send(feedback)

                if usb:
                    ser.write(str.encode(command))
def sender(ip, msg):
    c1 = Connection("c1", ip, 5005)
    c1.send(msg)
示例#4
0
#!/usr/bin/env python3
from robot.comms.connection import Connection
from time import sleep

# This code is meant to run first on the odroid
receiver = Connection("receiver", "172.16.1.30", 5005)
sender = Connection("sender", "172.16.1.20", 5005)

feedback = receiver.receive()

print("GOT:", feedback)

sleep(1)

msg = "was gucci"

sender.send(msg)

print("SENT:", msg)