client = mqtt.client("Player", "mqtt.leizour.fr", 8883, true) client:connect("student", "O99Rq8$F12NXzhL5caya") -- CLK (clock) : D15 -- DT (data) : D2 -- SW (Bouton): D4 -- dir = direction de tournage de l'encodeur -- counter = nombre de crans tournés -- button = bouton poussoir playing = false mot = "" last_clicked = 0 function action(dir, counter, button) cls() lettre = string.char((counter % 26)+65) if button==1 then if playing then client:publish("pendu/lettre", lettre, mqtt.QOS0) else if os.time() - last_clicked > 1 then mot = mot..lettre last_clicked = os.time() else client:publish("pendu/mot", mot, mqtt.QOS0) mot = "" end end end console("Choix lettre : "..lettre) if not playing then console("Mot : "..mot) end end function handle_message(len, message, topic_len, topic_name) if topic_name == "pendu/gamestate" then if message == "PLAYING" then playing = true elseif message == "WAITING" then playing = false mot = "" end end end client:subscribe("pendu/gamestate", mqtt.QOS0, handle_message) enc = encoder.attach(pio.GPIO15, pio.GPIO2, pio.GPIO4, action)