如何通过MQTT将按钮的输出发送到代理?

时间:2018-11-05 15:56:50

标签: mqtt python-3.7

我只用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]权限被拒绝(相同的故事)

我知道发布者部分将无法工作,但是我不知道自己缺少什么或需要添加什么。

0 个答案:

没有答案