TTGOPax
Présentation
Réalisation d'un objet connecté permettant d'estimer le nombre de personnes à proximité. Pour cela, l'objet va scanner les réseaux Wifi et Bluetooth pour découvrir les périphériques présents.
Matériel
- TTGO T3 v1
- boitier imprimé (attention il faut un TTGO T3 v1)
- alimentation USB
Logiciels
Device
Ici, on va simplement utiliser un logiciel libre existant : ESP32-Paxcounter
'Note' platformIO est nécessaire pour la compilation
La configuration est bien détaillée sur github. En résumé :
- création d'une application TTN fablablannion-pax
- y ajouter un device nommé ttgopax (générer un DEVEUI)
- configuration des sources :
- paxcounter.conf
// #define USE_OTA 1 // commenter cette ligne
- lmic_config.h
#define CFG_eu868 1 // vérifier cette ligne
- loraconf.h : remplir les lignes DEVEUI, APPEUI et APPKEY en copiant depuis la console ttn (Applications/fablablannion-pax/Devices/ttgopax)
- ota.conf simplement copié depuis ota.sample.conf
Note: depuis la version 1.7.11, le scan BLE est désactivé par défaut. Pour l'activer :
- sur un device programmé pour la 1ère fois, cahnger la valeur dans configmanager.cpp
cfg.blescan = 1; // 0=disabled, 1=enabled
- sinon, le réactiver en envoyant la payload 0E 01 sur le FPort 2 downlink
Serveur
Configuration d'un decoder et converter dans l'application TTN (Applications/fablablannion-pax/Payload Formats) à partir des js fournis sur le github
Récupération des données en mqtt :
$ APP_ACCESS_KEY="ttn-account-v2.XXXXX" # Access Key dans la console ttn (Applications/fablablannion-pax) $ mosquitto_sub -h eu.thethings.network -t '+/devices/+/up' -u 'fablablannion-pax' -P "$APP_ACCESS_KEY" -v --cafile ~/sources/LoRa/mqtt-ca.pem -p 8883 fablablannion-pax/devices/ttgopax/up {"app_id":"fablablannion-pax","dev_id":"ttgopax","hardware_serial":"003FF0004014FF87","port":1,"counter":1,"payload_raw":"AgAAAA==","payload_fields":{"ble":0,"pax":2,"wifi":2},"metadata":{"time":"2018-11-21T18:22:52.5932957Z","frequency":868.1,"modulation":"LORA","data_rate":"SF9BW125","airtime":164864000,"coding_rate":"4/5","gateways":[{"gtw_id":"eui-fcc23dfffe106153","timestamp":2065659868,"time":"2018-11-21T18:22:52.579311Z","channel":0,"rssi":-99,"snr":9,"rf_chain":1,"latitude":48.999,"longitude":-3.999,"altitude":43}]}}
On trouve les valeurs dans payload_fields :
{ "ble":0, "pax":2, "wifi":2 }
Graphiques
TODO
- mqqtt / NodeRed / Graphana ?
- TTN intégrations ?