mqtt-http-bridge.rb
This simple web application provides a bridge between HTTP and MQTT using a RESTish interface. It is possible to GET, POST, PUT and DELETE retained messages on a remote MQTT server.
Getting started
Install bundler:
sudo gem install bundler
Install the other gem dependencies:
bundle install
Run the local web server:
bundle exec rackup -p 1234
You can then open the bridge in your browser:
http://localhost:1234/
To connect to your own MQTT server:
Edit the first few lines of `mqtt-http-bridge.rb` to match your server.
If you want to use a different port than the default 1883, add `:remote_port => [PORT NUMBER],` under the line with the IP address. Do not put the port number in quotation marks.
Examples using curl
To get a retained value for a topic:
curl http://localhost:1234/test
To publish to a topic (retained):
curl -X PUT --data-binary "Hello World" http://localhost:1234/test
To publish to a topic (non-retained):
curl -X POST --data-binary "Hello World" http://localhost:1234/test
To delete the retained value for a topic:
curl -X DELETE http://localhost:1234/test
License
The ruby mqtt-http-bridge is licensed under the terms of the MIT license. See the file LICENSE for details.
Contact
- Author: Nicholas J Humfrey
- Twitter: @njh
- Home Page: http://www.aelius.com/njh/