Advertisement
Guest User

Untitled

a guest
Dec 10th, 2016
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.93 KB | None | 0 0
  1. import ds18x20
  2. import gc
  3. from machine import Timer, Pin
  4. import network
  5. import onewire
  6. from time import sleep_ms
  7. from umqtt.simple import MQTTClient
  8. import urandom
  9.  
  10.  
  11. PIN_TEMP = 5
  12.  
  13.  
  14. def send_temp(t):
  15. c = MQTTClient('clientname', '<mqtt_server_ip>')
  16. c.connect()
  17. c.publish('/topic/temp1', str(t))
  18. sleep_ms(500)
  19. print('Sent!')
  20. c.disconnect()
  21.  
  22.  
  23. def read_temp():
  24. ds = ds18x20.DS18X20(onewire.OneWire(Pin(5)))
  25. roms = ds.scan()
  26. ds.convert_temp()
  27. sleep_ms(100)
  28. # assume there is only 1 probe
  29. return ds.read_temp(roms[0])
  30.  
  31. def run():
  32. # tim = Timer(-1)
  33. # tim.init(period=2000, mode=Timer.PERIODIC, callback=send_temp)
  34. wlan = network.WLAN(network.STA_IF)
  35.  
  36. while True:
  37. try:
  38. if wlan.isconnected():
  39. t = read_temp()
  40. send_temp(t)
  41. sleep_ms(10000)
  42. else:
  43. sleep_ms(1000)
  44. except:
  45. pass
  46.  
  47.  
  48. run()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement