from rgbmatrix import RGBMatrix, RGBMatrixOptions import paho.mqtt.client as mqtt import time # Configuration for the matrix options = RGBMatrixOptions() options.rows = 32 options.chain_length = 1 options.parallel = 1 options.hardware_mapping = 'regular' # If you have an Adafruit HAT: 'adafruit-hat' matrix = RGBMatrix(options = options) # offscreen canvas that can be written to which can then be set to the matrix async offscreen_canvas = matrix.CreateFrameCanvas() color = 0 def toggleColor(): global color if(color == 1): color = 0 else: color = 1 def on_connect(client, userdata, flags, rc): print("Connected to MQTT broker with result code " + str(rc)) client.subscribe("test") def on_message(client, userdata, message): print("Received message '" + str(message.payload) + "' on topic '" + message.topic + "' with QoS " + str(message.qos)) toggleColor() client = mqtt.Client() client.on_connect = on_connect client.on_message = on_message client.connect("10.1.13.173", 1883, 60) # Replace with your MQTT broker's address client.loop_start() while True: time.sleep(0.005) if(color == 1): offscreen_canvas.Fill(255,255,255) else: offscreen_canvas.Fill(255,0,0) offscreen_canvas.brightness = 50 offscreen_canvas = matrix.SwapOnVSync(offscreen_canvas)