我只用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()
我希望变量“ a”随每个按钮笔划而变化,然后发送一次。现在,我已经添加了基本的发布者脚本,但是得到了许多不同的错误消息,例如:
ConnectionRefusedError:[Errno 61]连接被拒绝(顺便说一句,我想使用我的笔记本电脑作为代理,我使用了本地IP地址)
和:
PermissionError:[Errno 13]权限被拒绝(相同的故事)
我知道发布者部分将无法工作,但是我不知道自己缺少什么或需要添加什么。