HTTPD supporting MQTT for long polled subscriptions
C JavaScript Other
Permalink
Failed to load latest commit information.
common Initial version Dec 6, 2012
htdocs Initial version Dec 6, 2012
libebb Fix warnings on 64bit machines Dec 8, 2012
Makefile Initial version Dec 6, 2012
Makefile-mqtthttpd Fix more 64bit warnings, re-enable -Werror Dec 8, 2012
README.markdown Expand dependencies Dec 8, 2012
accesslog.c Initial version Dec 6, 2012
accesslog.h Initial version Dec 6, 2012
evhelper.h Initial version Dec 6, 2012
httpd.c Initial version Dec 6, 2012
httpd.h Initial version Dec 6, 2012
httpdconnlist.c Initial version Dec 6, 2012
httpdconnlist.h Initial version Dec 6, 2012
idset.c Initial version Dec 6, 2012
idset.h Initial version Dec 6, 2012
midconnlist.c Initial version Dec 6, 2012
midconnlist.h Initial version Dec 6, 2012
mqtt.c Initial version Dec 6, 2012
mqtt.h Initial version Dec 6, 2012
mqtthttpd.c Initial version Dec 6, 2012
mqtthttpd.h Initial version Dec 6, 2012
msgcache.c Initial version Dec 6, 2012
msgcache.h Initial version Dec 6, 2012
opt.c Initial version Dec 6, 2012
opt.h Initial version Dec 6, 2012
stream.c Initial version Dec 6, 2012
stream.h Initial version Dec 6, 2012
streamlist.c Initial version Dec 6, 2012
streamlist.h Initial version Dec 6, 2012
sublist.c Initial version Dec 6, 2012
sublist.h Initial version Dec 6, 2012
tailq.c Initial version Dec 6, 2012
tailq.h Initial version Dec 6, 2012
topic.c Initial version Dec 6, 2012
topic.h Initial version Dec 6, 2012
webapi.c Fix more 64bit warnings, re-enable -Werror Dec 8, 2012
webapi.h Initial version Dec 6, 2012
webapi_serve.c Initial version Dec 6, 2012
webapi_serve.h Initial version Dec 6, 2012

README.markdown

mqtt-http-server

Toby Jaffey toby@sensemote.com

An MQTT to HTTP bridge, allowing web clients access to MQTT. Supporting long polling, JSON, Javascript API, SSL.

More documentation is needed. For now, see the examples in htdocs.

Building

Install dependencies

sudo apt-get install make gcc libgnutls-dev ragel liburiparser-dev libmosquitto0-dev libev-dev libssl-dev

Build it

make

Run it

./mqtthttpd -v -r htdocs -l 8080 -n foo -s test.mosquitto.org -p 1883

Point a web browser at:

http://localhost:8080

HTTPS

To run with HTTPS, provide a certificate and key, eg.

./mqtthttpd -v -r htdocs -l 443 -n foo -s test.mosquitto.org -p 1883 -c ./libebb/examples/ca-cert.pem -k ./libebb/examples/ca-key.pem

Using ports 80 and 443

mqtthttpd should not be run as root. Install authbind (apt-get install authbind) to allow users to run services on low numbered ports.

sudo apt-get install authbind
sudo touch /etc/authbind/byport/80
sudo chmod 755 /etc/authbind/byport/80
sudo chown username.username /etc/authbind/byport/80
authbind ./mqtthttpd -v -r htdocs -l 80 -n foo -s test.mosquitto.org -p 1883