====== MQTT real-time support for MESHdesk and APdesk ====== ===== Install Mosquitto ===== * Install the Mosquitto MQTT broker according to these detailed instructions: * https://www.vultr.com/docs/install-mosquitto-mqtt-broker-on-ubuntu-20-04-server/ * Make sure you perform **step 3** to secure the application with username and password. * In this document we use the username and password of **openwrt**, please change them according to your needs. * Please use a secure password for the MQTT user in a production environment. ===== Install Rdcore-API-Gateway ===== * The Rdcore API Gateway is a Node.js application. We start with the installation of Node.js and npm. sudo apt install nodejs sudo apt install npm * Change to the /opt directory cd /opt * Clone Rdcore API Gateway from Github sudo git clone https://github.com/RADIUSdesk/Rdcore-API-Gateway.git * Change to the newly cloned directory cd /opt/Rdcore-API-Gateway * Install NPM dependencies sudo npm install * Rename **.env.sample** to **.env** and edit sudo mv .env.sample .env sudo vi .env PORT=8001 #FQDN of your installed server MESH_CONTROLLER="http://cloud.mesh-manager.com" MQTT_BROKER="127.0.0.1" MQTT_PORT=1883 MQTT_USER=openwrt MQTT_PASS=openwrt * The Rdcore API gateway systemd startup file sudo cp /opt/Rdcore-API-Gateway/rdcore-api-gateway.service /lib/systemd/system/ * Activate the Rdcore API Gateway sudo systemctl enable rdcore-api-gateway.service * Start the Rdcore API gateway sudo systemctl start rdcore-api-gateway.service sudo systemctl status rdcore-api-gateway.service * Confirm that the service is running by calling the FQDN:8001 * e.g http://cloud.radiusdesk.com:8001/ ===== MQTT settings in RADIUSdesk ===== * To activate MQTT on RADIUSdesk, you must configure it in two places. * For the devices managed by MESHdesk and APdesk there is this GUI under **Settings** -> **MQTT** {{:getting_started:mqtt_settings.png|}} * Command topic is always **/RD/NODE/COMMAND/RESPONSE** * To enable the server to use MQTT instead of the heartbeat system, you must edit the following configuration file. * Edit **/var/www/html/cake4/rd_cake/config/MESHdesk.php** * Search for these sections and adapt them to the values of your server. $config['mqtt_settings']['enable_realtime'] = true; $config['mqtt_settings']['api_gateway_url'] = 'http://164.160.89.129:8001';