import logging import time from typing import Sequence import serial #DEVICE_ID = "/dev/tty.usbmodem207E3283544E1" DEVICE_ID = "/dev/tty.usbmodem2067368F32521" BAUDRATE = 115200 logging.basicConfig(level=logging.DEBUG) logger = logging.getLogger(__name__) def write_bytes( serial: serial.Serial, values: Sequence[int], ): data = bytearray(values) serial.write(data) def main(): with serial.Serial(DEVICE_ID, BAUDRATE) as serial_connection: logger.info(f"Connection open with: {serial_connection.name}") serial_connection.write(int.to_bytes(0, 1, "little") + b'Hello') time.sleep(0.1) logger.info(f"in_waiting: {serial_connection.in_waiting}") x = serial_connection.read(serial_connection.in_waiting) logger.info(f"received: {x}") logger.info(f"in_waiting: {serial_connection.in_waiting}") delay = 0.1 while True: logger.info("Set blue LED") write_bytes(serial_connection, [1, 1]) time.sleep(delay) logger.info("Set green LED") write_bytes(serial_connection, [2, 1]) time.sleep(delay) logger.info("Set red LED") write_bytes(serial_connection, [3, 1]) time.sleep(delay) logger.info("Reset blue LED") write_bytes(serial_connection, [1, 0]) time.sleep(delay) logger.info("Reset green LED") write_bytes(serial_connection, [2, 0]) time.sleep(delay) logger.info("Reset red LED") write_bytes(serial_connection, [3, 0]) time.sleep(delay) if __name__ == "__main__": main()