내 노트북에서 MQTT Mosquitto 중개인을 실행 중입니다. 그런 다음 Java Paho를 사용하는 Android 폰에서 2) Python Paho를 사용하는 Raspberry Pi에서 2 Paho MQTT 클라이언트를 연결하려고합니다.MQTT paho 클라이언트 연결 시간 초과 오류
안드로이드 연결에서 완벽하게 이루어집니다. 아무 문제 없습니다.
그러나 Raspberry는 연결할 수 없습니다.
Traceback (most recent call last):
File "sensorsClient.py", line 28, in <module>
client.connect(mqttServer, 1883)
File "/usr/local/lib/python2.7/dist-packages/paho/mqtt/client.py", line 700, in connect
return self.reconnect()
File "/usr/local/lib/python2.7/dist-packages/paho/mqtt/client.py", line 822, in reconnect
sock = socket.create_connection((self._host, self._port), source_address=(self._bind_address, 0))
File "/usr/lib/python2.7/socket.py", line 571, in create_connection
raise err
socket.error: [Errno 110] Connection timed out
연결에 대한 코드는 다음과 같습니다 :
import paho.mqtt.client as mqtt
def on_connect(client, userdata, flags, rc):
print("Connected with result code "+str(rc))
client.subscribe("$SYS/#")
def on_message(client, userdata, msg):
print(msg.topic+" "+str(msg.payload))
mqttServer = 'zzz.xxx.ccc.qqq' # Public IP of the laptop
client = mqtt.Client("", True, None, mqtt.MQTTv31)
client.on_connect = on_connect
client.on_message = on_message
client.connect(mqttServer, 1883)
client.loop_start()
모든 게는 WIFI를 통해 하나의 네트워크 내에서 수행되는 대신 client.connect 방법 블록과 잠시 후 나는 다음과 같은받을 수 있습니다. 모바일 데이터가 없습니다. 왜 그런 일이 일어날 지 설명해 주실 수 있습니까?
앱의 나머지 코드를 포함하여 모든 정보를 볼 수 있습니까? 파이에서 노트북을 ping 할 수 있고'mqttServer' 변수가 올바른 호스트 이름/IP 주소 (추가 공백없이)인지 확인 했습니까 – hardillb
@hardillb 내 랩톱으로 핑할 수 있습니다. mqttServer는 표준 'xxx.zzz.qqq.ttt'형식의 IP가있는 문자열입니다 (여러 번 선택). 개인 정보 보호 정책 이후 게시하지 않을 것입니다. – tomkou
Pi에서 랩톱으로 다른 방법으로 핑할 수 있는지 물어 보았습니다. 또한 나머지 코드를 추가하십시오. 원하는 경우 IP 주소를 바꿀 수 있습니다 (단 192.168.xx 또는 10.xxx 주소는 로컬 네트워크에서만 액세스 가능) – hardillb