L’Internet des Objets
6.5 reste à intégrer
le capteur LSM6DSL avec https://github.com/Vjmorrison/micropython_B_L475E_IOT01A/blob/master/lib.py init() test_LSM6DSL_sensor(10,0.2) le capteur VL53L0X avec https://github.com/Vjmorrison/micropython_B_L475E_IOT01A/blob/master/lib.py >>> from machine import I2C >>> vl=VL53L0X(I2C(2)) >>> vl.read()
6.5.1 Les phares BLE
Le scan utilise le support beacontols. Le code pour scanner est relativement simple. La durée du scan est spécifiée dans la fonction sleep. Il faut installer le support :
pip3 install beacontools
import time
from beacontools import BeaconScanner, EddystoneTLMFrame, EddystoneFilter, BluetoothAddressType
def callback(bt_addr, rssi, packet, additional_info):
print("<%s, %d> %s %s" % (bt_addr, rssi, packet, additional_info))
# scan for all TLM frames of beacons in the namespace "12345678901234678901"
scanner = BeaconScanner(callback,
# remove the following line to see packets from all beacons
#device_filter=EddystoneFilter(namespace="12345678901234678901"),
#packet_filter=EddystoneTLMFrame
scan_parameters={"address_type": BluetoothAddressType.PUBLIC}
)
scanner.start()
time.sleep(600)
scanner.stop()
En laissant tourner pendant 10 minutes (600 secondes), nous obtenons 7 valeurs de réception : de -49 à -55dB. La puissance d’émission est calibrée à -22dB. Les valeurs ne sont pas distribuées sur une gaussienne.
=> for i in {49..55} ; do grep ' -'$i'>' foobar2| (echo -n $i ; wc)
done
49 4
50 98
51 6
52 95
53 14
54 94
55 5
En regardant la démonstration d’une société qui propose un kit de localisation pour les aveugles, la localisation semble précise à quelques mètres près. Cela permet d’indique à un aveugle qu’un magasin se trouve à sa gauche ou à sa droite. La base de données pouvant fournir des renseignements sur le magasin.