• 1000 ошибка:
ConnectionRefusedError: [Errno 111] Connection refused
Как я могу sh установить соединение через веб-сокеты. онлайн-брокер test.mosquitto.org
работает.
Мой сценарий браузера для прослушивания
<script src="https://cdnjs.cloudflare.com/ajax/libs/paho-mqtt/1.0.1/mqttws31.js" type="text/javascript"></script>
<script type="text/javascript" language="javascript">
var mqtt;
var reconnectTimeout = 2000;
var host = "localhost";
var port = 9000;
function onFailure(message) {
console.log("Connection Attempt to Host " + host + "Failed");
setTimeout(MQTTconnect, reconnectTimeout);
}
function onMessageArrived(msg) {
out_msg = "Message received " + msg.payloadString + "<br>";
out_msg = out_msg + "Message received Topic " + msg.destinationName;
console.log(out_msg);
}
function onConnect() {
mqtt.subscribe("bruv");
console.log("Connected ");
}
function MQTTconnect() {
console.log("connecting to " + host + " " + port);
mqtt = new Paho.MQTT.Client(host, port, "");
var options = {
timeout: 3,
onSuccess: onConnect,
onFailure: onFailure,
};
mqtt.onMessageArrived = onMessageArrived
mqtt.connect(options); //connect
}
</script>
<script>
MQTTconnect();
</script>
Мой брокер
mosquito
брокер с настройками по умолчанию
Публикация сообщений
import paho.mqtt.client as mqtt
import json
from datetime import datetime
import time
input_file = open('./data/bus1.json')
json_array = json.load(input_file)
coordinates = json_array['features'][0]['geometry']['coordinates']
client = mqtt.Client(transport='websockets')
client.connect('localhost', 8080, 60)
# Generate all coordinates
def generate_coordinates(coordinates):
# new_coordinates = []
i = 0
while i < len(coordinates):
data = {}
data['busline'] = 201
data['plate'] = 'RAB5674'
data['time_stamp'] = str(datetime.utcnow())
data['longitude'] = coordinates[i][0]
data['latitude'] = coordinates[i][1]
message = json.dumps(data)
client.publish('busline/201', message)
# producer.produce(message.encode('ascii'))
time.sleep(1)
# If buses reaches last coordinaates
if i == len(coordinates)-1:
coordinates = coordinates[::-1]
i = 0
else:
i += 1
# return new_coordinates
generate_coordinates(coordinates)
ошибка
Traceback (most recent call last):
File "example.py", line 30, in <module>
mqttc.connect("localhost", 8080, 60)
File "/home/bihire/.local/lib/python3.6/site-packages/paho/mqtt/client.py", line 937, in connect
return self.reconnect()
File "/home/bihire/.local/lib/python3.6/site-packages/paho/mqtt/client.py", line 1071, in reconnect
sock = self._create_socket_connection()
File "/home/bihire/.local/lib/python3.6/site-packages/paho/mqtt/client.py", line 3522, in _create_socket_connection
return socket.create_connection(addr, source_address=source, timeout=self._keepalive)
File "/usr/lib/python3.6/socket.py", line 724, in create_connection
raise err
File "/usr/lib/python3.6/socket.py", line 713, in create_connection
sock.connect(sa)
ConnectionRefusedError: [Errno 111] Connection refused