A VerneMQ PubSub adapter for the Phoenix framework.
This adapter was built for VerneMQ but should work with any MQTT server.
In order to use the VerneMQ pubsub adapter in phoenix, add it and
vmq_commons
as a dendency to your mix.exs
file:
defp deps do
[{:vmq_commons, git: "https://github.com/erlio/vmq_commons.git", compile: "rebar compile"},
{:phoenix_pubsub_vernemq, "~> 0.0.3"}],
end
Note that you need rebar installed
in order to compile the vmq_commons
dependency.
Then configure your endpoint appropriately:
config :my_app, MyApp.Endpoint,
...
pubsub: [name: HelloPhoenix.PubSub,
adapter: Phoenix.PubSub.VerneMQ,
host: "localhost",
port: 1883,
client_id: "test_client"]
The complete list of configuration options:
:host
- The MQTT server hostname or ip, default:"localhost"
:port
- The MQTT server port number, default:1883
:username
- MQTT user name:password
- MQTT password:client_id
- MQTT client id, default:"phoenix_vernemq"
:publish_qos
- QoS level for publishing, default:0
:subscribe_qos
- QoS level for subscribing, default:0
:clean_session
- default:true
:reconnect_timeout
- default in seconds:5
:keepalive_interval
- defaults:60
This work was inspired by the Redis pubsub adapter for Phoenix.
The VerneMQ pubsub adapter is licensed under the Apache License Version 2.