Skip to content

Files

Latest commit

 

History

History
 
 

paho

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 

cljsjs/paho

[cljsjs/paho "1.0.3-0"] ;; latest release

(ns mtest.core
  (:require [cljsjs.paho]))

(enable-console-print!)

(declare client send-message)

(def topic "/cljsjs/pahotest")

(println "Hello console!")

(defn on-connect []
  (println "Connected")
  (.subscribe client topic #js {:qos 0})
  (println "Subscribed")
  (send-message "Hello MQTT!" topic 0)
  (println "Sent message."))

(defn send-message [payload destination qos]
  (let [msg (Paho.MQTT.Message. payload)]
    (set! (.-destinationName msg) destination)
    (set! (.-qos msg) qos)
    (.send client msg)))

(defn connect []
  (let [mqtt (Paho.MQTT.Client. "test.mosquitto.org" 8080 "")
        connectOptions (js/Object.)]
        (set! (.-onConnectionLost mqtt) (fn [reasonCode reasonMessage]
                                            (println reasonCode reasonMessage)))
        (set! (.-onMessageArrived mqtt) (fn [msg]
                                         (println
                                            (str  "Topic: " (.-destinationName msg)
                                                  " Payload: " (.-payloadString msg)))))
        (set! (.-onSuccess connectOptions) (fn [] (on-connect)))
        (set! (.-onFailure connectOptions ) (fn [_ _ msg] (println "Failure Connect: " msg)))
        (.connect mqtt connectOptions )
         mqtt))

(def client (connect))