Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # -*- coding: utf-8 -*-
- import socket
- TCP_ADDR = '10.2.2.250'
- TCP_PORT = 8899
- PACK_LEN = 11
- s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
- s.settimeout(30)
- s.connect((TCP_ADDR, TCP_PORT))
- bytes_data = zeros(PACK_LEN,int)
- while True:
- str_data = s.recv(PACK_LEN) #this should probably have a timeout
- hex_data = str_data.encode('hex')
- for n in range(0,PACK_LEN): #convert to array of bytes
- lower = 2*n
- upper = lower + 2
- bytes_data[n] = int(hex_data[lower:upper],16)
- humid = (((bytes_data[6])<<8)+(bytes_data[7]))/10.0
- temp = (((((bytes_data[8])&0x7F)<<8)+(bytes_data[9]))/10.0)
- if int(bytes_data[8]) & 0x80: #invert temp if sign bit is set
- temp = -1.0* temp
- checksum = (uint(sum(bytes_data[0:10])) & 0xFF)+1
- if checksum == bytes_data[10]:
- print "Valid!"
- print "Temp: " + str(temp)
- print "Hum: " + str(humid)
- else:
- print "Invalid. :("
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement