Python 2.7 在raspberry pi中为Python使用mqtt paho
我正在尝试使用raspbian中的python 2.7连接到message broker,如下所示:Python 2.7 在raspberry pi中为Python使用mqtt paho,python-2.7,mqtt,paho,Python 2.7,Mqtt,Paho,我正在尝试使用raspbian中的python 2.7连接到message broker,如下所示: import paho.mqtt.client as paho host="messagesight.demos.ibm.com" port=1883 def on_connect(pahoClient, obj, rc): # Once connected, publish message print "Connected Code = %d"%(rc)
import paho.mqtt.client as paho
host="messagesight.demos.ibm.com"
port=1883
def on_connect(pahoClient, obj, rc):
# Once connected, publish message
print "Connected Code = %d"%(rc)
client.publish("prueba/123", "Hello World", 0)
def on_log(pahoClient, obj, level, string):
print string
def on_publish(pahoClient, packet, mid):
# Once published, disconnect
print "Published"
pahoClient.disconnect()
def on_disconnect(pahoClient, obj, rc):
print "Disconnected"
# Create a client instance
client=paho.Client()
# Register callbacks
client.on_connect = on_connect
client.on_log = on_log
client.on_publish = on_publish
client.on_disconnnect = on_disconnect
#Set userid and password
client.username_pw_set(userID, password)
#connect
x = client.connect(host, port, 60)
client.loop_forever()
运行脚本时,出现以下错误:
回溯(最近一次调用last):文件“ejempo.py”,第27行,在
client=paho.client()文件“/usr/local/lib/python2.7/dist-packages/paho/mqtt/client.py”,第行
410,在init中
self.\u sockpairR,self.\u sockpairW=\u socketpair\u compat()文件“/usr/local/lib/python2.7/dist packages/paho/mqtt/client.py”,第行
255英寸,双套袜子
listensock.bind((“localhost”,0))文件“/usr/lib/python2.7/socket.py”,第224行,meth格式
返回getattr(self._sock,name)(*args)socket.error:[Errno 99]无法分配请求的地址
我怎样才能修好它 我很快就厌倦了你的代码,它正在发布到
messagesight.demos.ibm.com
fine
我做的唯一一件事就是注释掉用户名和密码
#client.username_pw_set(userID, password)
您是否正确安装了Paho Python客户端,这也是一个很好的示例 是的,Paho Python客户端已正确安装。。。它仍然不起作用。我们仍然收到同样的问题“无法分配请求的地址”。哪个是client.py文件的内容?你能找到第260行“listensock.bind(((“127.0.0.1”,0))”吗?谢谢你能提供
ifconfig-a
@maria的输出吗?听起来像其他人提到的那样,chi network config。谢谢,你说得对!问题是/etc/network/interfaces文件,它没有正确配置……对于其他人来说,@MariaBorbones和@Matt所指的是对问题的评论。问题是lo
或环回接口关闭。您可以使用sudo ifconfig lo up启用它
写这篇文章感觉有点奇怪,但是您的Pi上是否支持IPv4?或者您的“lo”接口可能已关闭。尝试ifconfig关闭;ifconfig lo up