Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import socket
- import paho.mqtt.client as mqtt
- import time
- # ============ MQTT =================
- # Create MQTT Object
- client = mqtt.Client("python_01")
- # Set Username and Password
- client.username_pw_set(username="xxx",password="xxx")
- # Connect to cloud
- client.connect("broker.xxx.io", 1883, 60)
- # Start
- client.loop_start()
- # ====================================
- # Create a TCP/IP socket
- sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
- # Connect the socket to the port where the server is listening
- server_address = ('192.168.8.235', 10000)
- sock.connect(server_address)
- while True:
- # Send data
- message = '52'.decode('hex')
- # message = '52'.decode('hex')
- sock.sendall(message)
- #sock.sendall('\x57'+hex(int('01010101',2))[-2:].decode('hex'))
- # Receive data
- data = sock.recv(16)
- print data.encode('hex')
- hex_data = data.encode('hex')
- print (hex_data)
- hex_result = hex_data[2:4]
- print ('Result(hex) : %s\n' % hex_result)
- dec_result = int(hex_result,16)
- print ('Result(dec) : %s\n' % dec_result)
- bin_result = bin(dec_result)[2:].zfill(8)
- print ('Result(bin) : %s\n' % bin_result)
- red_light = bin_result[-1]
- amber_light = bin_result[-2]
- green_light = bin_result[-3]
- buzzer_1 = bin_result[-4]
- buzzer_2 = bin_result[-5]
- red_flash = bin_result[-6]
- amber_flash = bin_result[-7]
- green_flash = bin_result[-8]
- print('red light : %s' % red_light)
- print('amber light : %s' % amber_light)
- print('green light : %s' % green_light)
- print('')
- print('buzzer 1 : %s' % buzzer_1)
- print('buzzer 2 : %s' % buzzer_2)
- print('')
- print('red flash : %s' % red_flash)
- print('amber flash : %s' % amber_flash)
- print('green flash : %s' % green_flash)
- # MQTT Publish
- client.publish("/NHL/T_01/", payload='{"redlight":'+red_light+',"amberlight":'+amber_light+',"greenlight":'+green_light+'}', qos=0)
- time.sleep(1)
- # Close socket
- sock.close()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement