We are looking at using MQTT as the messaging protocol on a new device we're building. We'd also like a web interface for the device. Does anyone know if you can implement a browser client app (without additional plugins) that talks MQTT?
相关问题
- Why use MQTT Node.JS library?
- AWS store MQTT message to DynamoDB
- JavaScript client for MQTT not using WebSockets
- Paho MQTT Python Client: No exceptions thrown, jus
- mqtt on Laravel with PHP
相关文章
- Connecting Unity3d Android application to ActiveMQ
- Integrating MQTT with GCP using IOT adapter and go
- How can i connect a Java mqtt client with username
- How to build a system to handle MQTT broker and Dj
- How to send a jms message to activeMQ and decode i
- golang mqtt publish and subscribe
- MQTT over websocket in python
- MQTT-Client-Framework stay running at background
Yes, as mentioned in Steve-o's comment MQTT via websockets is very possible.
There are 2 options at the moment
To answer your second question lighttpd has a websockets module that can be used to do forwarding to an existing broker with details here.
I've not been able to find anything for Apache that doesn't need you to write your own library to do the forwarding.
This link (Download codes) is useful. Download it and modify this file mosq-mqttws31.html. Instead of the embedded java script library use this cdn
https://cdnjs.cloudflare.com/ajax/libs/paho-mqtt/1.0.1/mqttws31.js
and the client instantiation should be client = new Paho.MQTT.Client("test.mosquitto.org", 8080,"myclien256tiddd_" + parseInt(Math.random() * 100, 10));
To extend hardillbs answer:
There is a third option now:
HiveMQ supports native websockets without the need for any external web server. It works perfectly with the Javascript client of Eclipse Paho.
If you want to try it out, the public MQTTDashboard (which uses HiveMQ under the hoods) supports websockets on port 8000.
Disclosure: I am one of the developers of HiveMQ
The blog by jpmens is a good starting point to get mosquitto setup with websocket feature. He's client javascript code based on Paho is on github.
This blog "How to run your web server and MQTT WebSockets broker on the same por" explains two ways for the server side:
IBM has released a WebSockets based JavaScript client. It is open-source on Eclipse Paho.
Git repository: http://git.eclipse.org/c/paho/org.eclipse.paho.mqtt.javascript.git/
Tutorial is here. https://www.ibm.com/developerworks/community/blogs/c565c720-fe84-4f63-873f-607d87787327/entry/how_to_prog_javascript?lang=en
Not Apache, but you can follow this guide to install lighttpd with mod_websocket,
http://oriolrius.cat/blog/2013/09/25/server-send-push-notifications-to-client-browser-without-polling/
but for easy of use I highly recommend HiveMQ, as @Dominik recommends.