from gpiozero import LED, Button, Buzzer from time import sleep import serial import BlynkLib # Replace with your microbit port number PORT = "/dev/ttyACM0" BAUD = 115200 s = serial.Serial(PORT) s.baudrate = BAUD s.parity = serial.PARITY_NONE s.databits = serial.EIGHTBITS s.stopbits = serial.STOPBITS_ONE s.timeout = 1 s.reset_input_buffer() BLYNK_AUTH = 'Your Auth Blynk Token' blynk = BlynkLib.Blynk(BLYNK_AUTH) # Register virtual pin handler @blynk.VIRTUAL_WRITE(0) def v0_write_handler(value): global ledStatus global led1State led1State = int(value[0]) print("V0: {}".format(led1State)) if led1State == 1: ledStatus = ledStatus + 1 else: ledStatus = ledStatus - 1 @blynk.VIRTUAL_WRITE(1) def v1_write_handler(value): global ledStatus global led2State led2State = int(value[0]) print("V1: {}".format(led2State)) if led2State == 1: ledStatus = ledStatus + 2 else: ledStatus = ledStatus - 2 @blynk.VIRTUAL_WRITE(2) def v2_write_handler(value): global ledStatus global led3State led3State = int(value[0]) print("V2: {}".format(led3State)) if led3State == 1: ledStatus = ledStatus + 4 else: ledStatus = ledStatus - 4 led1State = 0 led2State = 0 led3State = 0 ledStatus = 0 prevLedStatus = 1 blynk.virtual_write(0, 0) blynk.virtual_write(1, 0) blynk.virtual_write(2, 0) while True: blynk.run() if ledStatus != prevLedStatus: print("LED Status: {0:03b}".format(ledStatus)) s.write(str(ledStatus).encode('UTF-8')) prevLedStatus = ledStatus s.close()