mqtt2cloud.lua 972 B

123456789101112131415161718192021222324252627282930313233
  1. -- test with cloudmqtt.com
  2. m_dis={}
  3. function dispatch(m,t,pl)
  4. if pl~=nil and m_dis[t] then
  5. m_dis[t](m,pl)
  6. end
  7. end
  8. function topic1func(m,pl)
  9. print("get1: "..pl)
  10. end
  11. function topic2func(m,pl)
  12. print("get2: "..pl)
  13. end
  14. m_dis["/topic1"]=topic1func
  15. m_dis["/topic2"]=topic2func
  16. -- Lua: mqtt.Client(clientid, keepalive, user, pass)
  17. m=mqtt.Client("nodemcu1",60,"test","test123")
  18. m:on("connect",function(m)
  19. print("connection "..node.heap())
  20. m:subscribe("/topic1",0,function(m) print("sub done") end)
  21. m:subscribe("/topic2",0,function(m) print("sub done") end)
  22. m:publish("/topic1","hello",0,0) m:publish("/topic2","world",0,0)
  23. end )
  24. m:on("offline", function(conn)
  25. print("disconnect to broker...")
  26. print(node.heap())
  27. end)
  28. m:on("message",dispatch )
  29. -- Lua: mqtt:connect( host, port, secure, auto_reconnect, function(client) )
  30. m:connect("m11.cloudmqtt.com",11214,0,1)
  31. tmr.alarm(0,10000,1,function() local pl = "time: "..tmr.time()
  32. m:publish("/topic1",pl,0,0)
  33. end)