Chúng tôi đang xem xét việc sử dụng MQTT làm giao thức nhắn tin trên một thiết bị mới mà chúng tôi đang xây dựng. Chúng tôi cũng muốn có giao diện web cho thiết bị. Có ai biết nếu bạn có thể thực hiện một ứng dụng trình duyệt của khách hàng (không có bổ sung bổ sung) mà nói MQTT?Trình duyệt web có thể sử dụng MQTT không?
Trả lời
Có, như đã đề cập trong bình luận của Steve-o MQTT thông qua websockets là rất có thể.
Có 2 lựa chọn tại thời điểm
- MQ IBM 7,5 đi kèm với hỗ trợ WebSockets, bạn có thể tìm thấy chi tiết here.
- Môi giới Mosquitto có trình khách javascript với ví dụ chạy here.
Để trả lời câu hỏi thứ hai lighttpd của bạn có mô-đun ổ cắm web có thể được sử dụng để chuyển tiếp đến nhà môi giới hiện có với các chi tiết here.
Tôi không thể tìm thấy bất kỳ thứ gì cho Apache không cần bạn viết thư viện của riêng bạn để thực hiện chuyển tiếp.
Liên kết sau cho biết nó xử lý MQTT và WebSockets cho Apache: https://github.com/willem4ever/mod_websocket_mosquitto Tôi đã không sử dụng nó bản thân mình và nghĩ rằng đó là một sự xấu hổ nó không phải là một giải pháp tổng quát hơn như mô-đun lighttpd, nhưng có bạn đi! – ralight
Tôi có thể thiết lập Mosquitto môi giới tại địa phương, hỗ trợ giao tiếp ổ cắm web? – rns
Câu hỏi này (và hầu hết các câu trả lời) đều trên 3 tuổi. Mọi thứ đã chuyển động đáng kể. Có từ phiên bản 1.4 trở đi Mosquitto cũng có thể được xây dựng với sự hỗ trợ Websocket – hardillb
Để mở rộng câu trả lời hardillbs:
Có một lựa chọn thứ ba bây giờ:
HiveMQ hỗ trợ WebSockets mẹ đẻ mà không cần bất kỳ máy chủ web bên ngoài. Nó hoạt động hoàn hảo với ứng dụng Javascript của Eclipse Paho.
Nếu bạn muốn thử nó ra, công chúng MQTTDashboard (trong đó sử dụng HiveMQ dưới mũ trùm) hỗ trợ WebSockets trên cổng 8000.
Tiết lộ: Tôi là một trong những nhà phát triển của HiveMQ
IBM đã phát hành một ứng dụng JavaScript dựa trên WebSockets. Nó là mã nguồn mở trên Eclipse Paho.
kho Git: http://git.eclipse.org/c/paho/org.eclipse.paho.mqtt.javascript.git/
Hướng dẫn ở đây. https://www.ibm.com/developerworks/community/blogs/c565c720-fe84-4f63-873f-607d87787327/entry/how_to_prog_javascript?lang=en
Không Apache, nhưng bạn có thể làm theo hướng dẫn này để cài đặt lighttpd với mod_websocket,
nhưng để dễ dàng sử dụng tôi khuyên bạn nên HiveMQ, như @Dominik khuyến cáo.
Chúng tôi đã có trải nghiệm tốt khi sử dụng WSS, WebSocket tới Cổng TCP (dành cho MQTT). Nó có nghĩa là chạy một tiến trình riêng biệt, nhưng điều đó không tránh phải thay đổi cấu hình của Apache. WSS cũng có hỗ trợ cho TLS.
blog by jpmens là điểm khởi đầu tốt để thiết lập mosquitto với tính năng websocket. Anh ấy là client javascript code based on Paho is on github.
blog "How to run your web server and MQTT WebSockets broker on the same por" này giải thích hai cách cho phía máy chủ:
- mosquitto với cấu hình http
- apache + mod_websocket_mosquitto
Tại sao không nodejs
+ socket.io
? Họ đi kèm với tất cả các tiện ích bao gồm (webscokets, pub/sub, webserver, mqtt broker ...). SocketCluster là một điểm khởi đầu tốt khác.
Liên kết này (Download codes) hữu ích. Tải xuống và sửa đổi tệp này mosq-mqttws31.html. Thay vì thư viện script java nhúng sử dụng này cdn
https://cdnjs.cloudflare.com/ajax/libs/paho-mqtt/1.0.1/mqttws31.js
và instantiation khách hàng nên khách hàng = new Paho.MQTT.Client ("test.mosquitto.org", 8080, "myclien256tiddd_" + parseInt (Math.random() * 100, 10));
- 1. Có trình duyệt web đồ họa nào có thể sử dụng bên trong các emacs không?
- 2. Trang web có thể phát hiện tiện ích trình duyệt nào đang được sử dụng không?
- 3. Có thành phần trình duyệt web nào để sử dụng trong ứng dụng FireMonkey không?
- 4. Sử dụng .otf phông chữ trên các trình duyệt web
- 5. Trình duyệt web nào hỗ trợ các trình duyệt web?
- 6. CSS có được sử dụng ở bất cứ đâu ngoài trình duyệt web không?
- 7. Javascript chỉ có sẵn cho trình duyệt web không?
- 8. Có thể chạy ứng dụng WPF trên trình duyệt không?
- 9. Trình duyệt web nhúng
- 10. Tôi có thể đọc url trình duyệt bằng cách sử dụng selenium webdriver không?
- 11. Không thể kết nối với trình duyệt bằng cách sử dụng trình điều khiển web ruby selenium
- 12. Các bước cơ bản để sử dụng MQTT trong android
- 13. Sử dụng webkit để duyệt web không đầu
- 14. Tôi có thể không cho phép tự động hoàn tất trình duyệt web không?
- 15. Tôi làm cách nào để sử dụng MQTT trong iOS?
- 16. Samsung Galaxy sử dụng trình duyệt nào?
- 17. Trình duyệt web có lập trình Thư viện Java
- 18. Tôi có thể buộc trình duyệt web gửi văn bản biểu mẫu dưới dạng UTF8 không?
- 19. Có API dịch vụ web để tìm phiên bản mới nhất của trình duyệt web không?
- 20. Ứng dụng web toàn màn hình HTML5: Không có thanh trình duyệt nào
- 21. Trang web có thể buộc trình duyệt chuyển sang chế độ toàn màn hình không?
- 22. Bạn có thể nhúng các tập lệnh python vào trình duyệt web không?
- 23. Sử dụng trình duyệt không đầu Node.js với selenium hybrid?
- 24. Sử dụng trình điều khiển web selen để chạy thử nghiệm trên nhiều trình duyệt
- 25. Trình duyệt web: Ẩn con trỏ chuột
- 26. Có cách nào để đính kèm trình duyệt đang chạy vào trình duyệt web selenium trong java không?
- 27. jEditorPane dưới dạng trình duyệt web
- 28. Trình duyệt web có sử dụng các số cổng khác nhau cho các tab đang mở không?
- 29. Trang chủ trình duyệt web Android
- 30. Có thể sử dụng AWS làm máy chủ web không?
Có, sử dụng ổ cắm web: http://mqtt.org/wiki/doku.php/mqtt_over_websockets –
Cảm ơn bạn đã biết thông tin. Vì vậy, loại máy chủ web nào cần thiết để hỗ trợ websockets? Chúng tôi sử dụng Apache 2 hiện tại. –
Bạn sẽ làm việc như thế nào với không có bộ nhớ ngoại tuyến. – user2223032