IoT Arduino-Raspberry Pi Hackeando una TSRB430 BLE Relay Board P3

Raspberry Pi 2 Bluetooth Serial Uart HM10 HM12 Relay Board AI by Santiapps Marcio Valenzuela
Raspberry Pi 2 Bluetooth Serial Uart HM10 HM12 Relay Board AI

 

Continuamos haciendo la TSRB430 BLE pero ahora desde una Raspberry Pi 🙂

 

Requisitos

  1. RPi2
  2. Modulo Serial HM10 BLE
  3. TSRB430 Relay Board

Raspberry Pi2 Code

</pre>
<pre>#!/usr/bin/env python

import serial

def convert_hex_to_int(hexChars):
    #convert string of hex chars to a list of ints
    try:
        ints = [ord(char) for char in hexChars]
        return ints
    except TypeError:
        pass
    return []
def convert_hex_to_bin_str(hexChars):
    #convert hex char into byte string
    response = convert_hex_to_int(hexChars)[0]
    # convert int to binary string
    responseBinary = bin(response)
    # first 2 chars of binary string are '0b' so ignore these
    return responseBinary[2:]

ser = serial.Serial(
	port='/dev/serial0',
	baudrate=9600,
	parity=serial.PARITY_NONE,
	stopbits=serial.STOPBITS_ONE,
	bytesize=serial.EIGHTBITS,
	timeout=1
)

print "Serial esta abierto: " + str(ser.isOpen())

print "Escribiendo..."
ser.write("[")
#ser.write("AT+CONNL")
print "Escrito! Ahora leamos"
x = ser.readline()
print "got '" + x + "'"

responseBits = convert_hex_to_bin_str (x)
# binary conversion drops values until a 1 is encountered
# assume missing values are 0 and pad to give a value for all relays
responseBits = responseBits.zfill(4)
# reverse chars so that relay 1 is first
responseBits = list(responseBits)
responseBits.reverse()
# create dictionary of relay states
relayStates = {}
relay = 1
for bit in responseBits:
    relayStates[relay] = int(bit)
    relay += 1
print relayStates

ser.close()
</pre>
<pre>

Con esto ocupamos un poco mas de codigo para interpretar la respuesta del TSRB430.

Ahora podemos escribir y leer a los relays remotamente.

pi@raspberrypi:~/Documents/python $ python sendat5.py

Serial is open: True

Now Writing

Did write, now read

got ”

{1: 0, 2: 0, 3: 0, 4: 0}

pi@raspberrypi:~/Documents/python $

En el proximo tutorial veremos como usar estos códigos para crear un asistente personal que controla nuestra casa.

Leave a comment