Как я могу отправить вывод кнопок через MQTT брокеру? - PullRequest
0 голосов
/ 05 ноября 2018

Я программировал на Python только два дня. Я хочу отправить вывод кнопок через MQTT брокеру (и, конечно, подписчику). До сих пор я запрограммировал кнопки и хотел бы начать издательскую часть сейчас.

import tkinter as tk
from tkinter import ttk
from tkinter import Button
import paho.mqtt.client as mqtt

root = tk.Tk()

root.attributes('-fullscreen', True)
root.bind('<Escape>',lambda e: root.destroy())

a=0

def close_window():
    root.destroy()

def callback():
    print ("1")
    a=1

def callback1():
    print ("2")
    a=2

def callback2():
    print ("3")
    a=3

s=ttk.Style()
s.configure('my.TButton', font=('Helvetica', '70'))

bx = ttk.Button(root, text = "x", style='my.TButton', command = close_window)
bx.pack(fill=tk.BOTH, anchor=tk.N, ipady=60)

c = Button(root, text="", height=15)
c.pack(fill=tk.BOTH, anchor=tk.N,)

b1 = ttk.Button(root, text="1", style='my.TButton', command=callback)
b1.pack(side=tk.LEFT, fill=tk.BOTH, expand=1)

b2 = ttk.Button(root, text="2", style='my.TButton', command=callback1)
b2.pack(side=tk.LEFT, fill=tk.BOTH, expand=1)

b3 = ttk.Button(root, text="3", style='my.TButton', command=callback2)
b3.pack(side=tk.RIGHT, fill=tk.BOTH, expand=1)

broker_address="xxxx"

client1 = mqtt.Client("Publisher1")

client1.connect("xxxx")

client1.publish("Button/Number", a, qos=2)

root.mainloop()

Я хочу, чтобы переменная «а» менялась при каждом нажатии кнопки, а затем отправлялась 1 раз. Теперь я добавил базовый скрипт издателя, но получаю много разных сообщений об ошибках, таких как:

ConnectionRefusedError: [Errno 61] Соединение отказано (кстати, я хочу использовать свой ноутбук в качестве брокера, я взял локальный IP-адрес)

и

PermissionError: [Errno 13] В доступе отказано (та же история)

Я знаю, что часть Publisher не будет работать, но я не знаю, что мне не хватает или что мне нужно добавить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...