ahmadyamin

server1.py

Jan 4th, 2018
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.02 KB | None | 0 0
  1. import tornado.httpserver, tornado.websocket, tornado.ioloop, tornado.web
  2. from tornado.options import define, options
  3. import paho.mqtt.client as mqtt
  4. import datetime
  5.  
  6. #from sense_hat import SenseHat
  7. #sense=SenseHat()
  8. from signal import signal, SIGPIPE, SIG_DFL
  9. signal(SIGPIPE, SIG_DFL)
  10. #global data2
  11. data2=''
  12. #mqttc=mqtt.Client(transport='websockets')
  13. clients = []
  14. client=mqtt.Client()
  15. client.connect("192.168.8.100",1883,60)
  16. client.subscribe("robotmonitoring")
  17. client.loop_start()
  18.  
  19. class WSHandler(tornado.web.RequestHandler):
  20. def get(self):
  21. self.write("This is your response")
  22. print 'get message'
  23. self.finish()
  24.  
  25. class WebSocketHandler(tornado.websocket.WebSocketHandler):
  26. def check_origin(self, origin):
  27. return True
  28. def open(self, *args):
  29. #global data2
  30. print 'user is connected.\n'
  31. self.connected=True
  32. self.timeout_loop()
  33. #self.on_message(client, userdata, msg)
  34. def on_message(self, message):
  35. global data2
  36. message=data2
  37. print 'received message: %s\n' %message
  38. #self.write_message(message + ' OK')
  39. #data2.show_message(message)
  40. def on_close(self):
  41. print 'connection closed\n'
  42. self.connected=False
  43. def timeout_loop(self):
  44. global data2
  45. if self.connected:
  46. #t=sense.get_temperature()
  47. #t=round(t,2)
  48. #print t
  49. t=data2
  50. #print data2
  51. self.write_message('%s' %t)
  52. tornado.ioloop.IOLoop.instance().add_timeout(datetime.timedelta(seconds=1),self.timeout_loop)
  53. def on_connect(client, userdata, flags, rc):
  54. print("Connected with result code" + str(rc))
  55. def on_message(client, userdata, msg):
  56. global data2
  57. data2=msg.payload
  58. print data2
  59. #return data
  60. #data3=data
  61. client.on_connect=on_connect
  62. client.on_message=on_message
  63. if __name__ == "__main__":
  64. app = tornado.web.Application(handlers=[(r'/', WebSocketHandler),])
  65. server=tornado.httpserver.HTTPServer(app)
  66. server.bind(8888)
  67. server.start(0)
  68. #app.listen(8888)
  69. print "Server Start"
  70. tornado.ioloop.IOLoop.instance().start()
Advertisement
Add Comment
Please, Sign In to add comment