import sys
import time
import serial
import struct
from binascii import unhexlify
import requests as req
import bluetooth
from bluetooth import *
import sys
#if sys.version < '3':
# input = raw_input
bd_addr = "AA:BB:CC:A1:23:45"
port = 1
#sock=bluetooth.BluetoothSocket( bluetooth.RFCOMM )
#sock.connect((bd_addr, port))
#sock.close()
#time.sleep(1)
#Define RS485 serial port
ser = serial.Serial(
port='/dev/rfcomm2',
baudrate = 9600,
parity=serial.PARITY_NONE,
stopbits=serial.STOPBITS_ONE,
bytesize=serial.EIGHTBITS,
timeout = 1)
#while True :
test='DBDB00000000'
try:
ser.write (test.decode('hex'))
except:
ser.close()
time.sleep(3)
Antw33 = ser.read(140)
#SoC
data = (Antw33.encode('hex') [(74*2):(75*2)])
print data
try:
resp = req.get(url+'SoC'+'?value='+str(int(data,16)))
except:
pass
#Power
data = (Antw33.encode('hex') [(111*2):(114*2+2)])
try:
if int(data,16)>2147483648:
data=(-(2*2147483648)+int(data,16))
print data
else:
data=int(data,16)
print data
resp = req.get(url+'BMS_pow'+'?value='+str(data))
except:
pass
data=0
print data
print data
print data
print data
time.sleep(1)
#BMS current
data = (Antw33.encode('hex') [(70*2):(73*2+2)])
try:
if int(data,16)>2147483648:
data=(-(2*2147483648)+int(data,16))*0.1
print data
else:
data = int(data,16)*0.1
print data
resp = req.get(url+'BMS_Current'+'?value='+str(data))
except:
pass
#BMS V
data = (Antw33.encode('hex') [8:12])
data = struct.unpack('>H',unhexlify(data))[0]*0.1
print data
try:
resp = req.get(url+'BMS_V'+'?value='+str((struct.unpack('>H',unhexlify(data))[0])*0.1))
except:
pass
#Cell_avg
data = (Antw33.encode('hex') [(121*2):(122*2+2)])
data = struct.unpack('>H',unhexlify(data))[0]*0.001
print data
try:
resp = req.get(url+'cell_avg'+'?value='+str((struct.unpack('>H',unhexlify(data))[0])*0.001))
except:
pass
#Cell_min
data = (Antw33.encode('hex') [(119*2):(120*2+2)])
data = struct.unpack('>H',unhexlify(data))[0]*0.001
print data
try:
resp = req.get(url+'cell_min'+'?value='+str((struct.unpack('>H',unhexlify(data))[0])*0.001))
except:
pass
#Cell_max
data = (Antw33.encode('hex') [(116*2):(117*2+2)])
data = struct.unpack('>H',unhexlify(data))[0]*0.001
print data
try:
resp = req.get(url+'cell_max'+'?value='+str((struct.unpack('>H',unhexlify(data))[0])*0.001))
except:
pass
#Cell_1
data = (Antw33.encode('hex') [(6*2):(7*2+2)])
data = struct.unpack('>H',unhexlify(data))[0]*0.001
print data
try:
resp = req.get(url+'cell1'+'?value='+str((struct.unpack('>H',unhexlify(data))[0])*0.001))
except:
pass
#Cell_2
data = (Antw33.encode('hex') [(8*2):(9*2+2)])
data = struct.unpack('>H',unhexlify(data))[0]*0.001
print data
try:
resp = req.get(url+'cell2'+'?value='+str((struct.unpack('>H',unhexlify(data))[0])*0.001))
except:
pass
#Cell_3
data = (Antw33.encode('hex') [(10*2):(11*2+2)])
data = struct.unpack('>H',unhexlify(data))[0]*0.001
print data
try:
resp = req.get(url+'cell3'+'?value='+str((struct.unpack('>H',unhexlify(data))[0])*0.001))
except:
pass
#Cell_4
data = (Antw33.encode('hex') [(12*2):(13*2+2)])
data = struct.unpack('>H',unhexlify(data))[0]*0.001
print data
try:
resp = req.get(url+'cell4'+'?value='+str((struct.unpack('>H',unhexlify(data))[0])*0.001))
except:
pass
#Cell_5
data = (Antw33.encode('hex') [(14*2):(15*2+2)])
data = struct.unpack('>H',unhexlify(data))[0]*0.001
print data
try:
resp = req.get(url+'cell5'+'?value='+str((struct.unpack('>H',unhexlify(data))[0])*0.001))
except:
pass
#Cell_6
data = (Antw33.encode('hex') [(16*2):(17*2+2)])
data = struct.unpack('>H',unhexlify(data))[0]*0.001
print data
try:
resp = req.get(url+'cell6'+'?value='+str((struct.unpack('>H',unhexlify(data))[0])*0.001))
except:
pass
#Cell_7
data = (Antw33.encode('hex') [(18*2):(19*2+2)])
data = struct.unpack('>H',unhexlify(data))[0]*0.001
print data
try:
resp = req.get(url+'cell7'+'?value='+str((struct.unpack('>H',unhexlify(data))[0])*0.001))
except:
pass
#Cell_8
data = (Antw33.encode('hex') [(20*2):(21*2+2)])
data = struct.unpack('>H',unhexlify(data))[0]*0.001
print data
try:
resp = req.get(url+'cell8'+'?value='+str((struct.unpack('>H',unhexlify(data))[0])*0.001))
except:
pass
#Cell_9
data = (Antw33.encode('hex') [(22*2):(23*2+2)])
data = struct.unpack('>H',unhexlify(data))[0]*0.001
print data
try:
resp = req.get(url+'cell9'+'?value='+str((struct.unpack('>H',unhexlify(data))[0])*0.001))
except:
pass
#Cell_10
data = (Antw33.encode('hex') [(24*2):(25*2+2)])
data = struct.unpack('>H',unhexlify(data))[0]*0.001
print data
try:
resp = req.get(url+'cell10'+'?value='+str((struct.unpack('>H',unhexlify(data))[0])*0.001))
except:
pass
#Cell_11
data = (Antw33.encode('hex') [(26*2):(27*2+2)])
data = struct.unpack('>H',unhexlify(data))[0]*0.001
print data
try:
resp = req.get(url+'cell11'+'?value='+str((struct.unpack('>H',unhexlify(data))[0])*0.001))
except:
pass
#Cell_12
data = (Antw33.encode('hex') [(28*2):(29*2+2)])
data = struct.unpack('>H',unhexlify(data))[0]*0.001
print data
try:
resp = req.get(url+'cell12'+'?value='+str((struct.unpack('>H',unhexlify(data))[0])*0.001))
except:
pass
#Cell_13
data = (Antw33.encode('hex') [(30*2):(31*2+2)])
data = struct.unpack('>H',unhexlify(data))[0]*0.001
print data
try:
resp = req.get(url+'cell13'+'?value='+str((struct.unpack('>H',unhexlify(data))[0])*0.001))
except:
pass
#Cell_14
data = (Antw33.encode('hex') [(32*2):(33*2+2)])
data = struct.unpack('>H',unhexlify(data))[0]*0.001
print data
try:
resp = req.get(url+'cell14'+'?value='+str((struct.unpack('>H',unhexlify(data))[0])*0.001))
except:
pass
#Cell_15
data = (Antw33.encode('hex') [(34*2):(35*2+2)])
data = struct.unpack('>H',unhexlify(data))[0]*0.001
print data
try:
resp = req.get(url+'cell15'+'?value='+str((struct.unpack('>H',unhexlify(data))[0])*0.001))
except:
pass
#Cell_16
data = (Antw33.encode('hex') [(36*2):(37*2+2)])
data = struct.unpack('>H',unhexlify(data))[0]*0.001
print data
try:
resp = req.get(url+'cell16'+'?value='+str((struct.unpack('>H',unhexlify(data))[0])*0.001))
except:
pass
ser.close()