Stap 5: R.i.o. des données depuis la framboos
Il faudra scanner les différents apparaat BLE à porté de la Raspberry via la commande ci-après. Cette commande renverra le nom ainsi que la mac adresse de chaque apparaat à porté. Il faudra copier coller l'adresse mac du RedBearLab.
Copier coller le script python ci dessous,
http://www.doritique.fr/articles/View_Article.php?...
Modifier la variabele ble_addr du script python par la mac adresse du RedBearLab obtenue précédemment.
Il faudra aussi modifier le script python comme ci-dessous to qu'il voi le buffer de requête attendu par la ReadBearLab et corespondent au capteur niet op veut recuperer les données.
import os import sys import pexpect import time import urllib2 import urllib ble_addr="E5:AE:C1:71:96:E4" class Sensortag: def __init__(self,ble_addr): self.ble_addr=ble_addr self.child = pexpect.spawn('gatttool -t random -b ' + ble_addr + ' -I') self.child.expect('\[LE\]>') print("Try to connect to the board") self.child.sendline('connect') self.child.expect('Connection successful') print("Connected") return def getTemperature(self): print("try to update the temperature") self.child.sendline('char-write-req 0x0011 0100 -listen') self.child.expect('Characteristic value was written successfully') self.child.sendline('char-write-cmd 0x000e A00100') self.child.expect('Notification handle = 0x0010 value: 0b .*') rval = self.child.after.split() print("temperature: " + str(int(rval[7], 16))) return int(rval[7], 16) def getPressure(self): print("try to update the pressure") self.child.sendline('char-write-req 0x0011 0100 -listen') self.child.expect('Characteristic value was written successfully') self.child.sendline('char-write-cmd 0x000e A00300') self.child.expect('Notification handle = 0x0010 value: 0b .*') rval = self.child.after.split() pressure = "" + rval[6] + rval[7] print("pressure: " + str(int(pressure, 16))) return int(pressure, 16) def exit(self): self.child.sendline('exit'); return def main(): sensortag=Sensortag(ble_addr) while True: tmpIR=sensortag.getTemperature() prsIR=sensortag.getPressure() time.sleep(3) sensortag.exit(); #time.sleep(10) if __name__ == "__main__": main()