« WemosTTGO » : différence entre les versions
mAucun résumé des modifications |
Aucun résumé des modifications |
||
(3 versions intermédiaires par un autre utilisateur non affichées) | |||
Ligne 23 : | Ligne 23 : | ||
#define CFG_sx1276_radio 1 | #define CFG_sx1276_radio 1 | ||
et avec ce [https://github.com/FablabLannion/LoRaWemos/blob/master/LoraAPB.ino code] on voit des paquets arriver | et avec ce [https://github.com/FablabLannion/LoRaWemos/blob/master/LoraAPB.ino code] ou ce [https://github.com/FablabLannion/LoRaWemos/tree/master/TTGOLoRaOledGps code] on voit des paquets arriver | ||
* dans [https://console.thethingsnetwork.org/applications/wemostangi/data Data] | * dans [https://console.thethingsnetwork.org/applications/wemostangi/data Data] | ||
* via mqtt | * via mqtt | ||
Ligne 30 : | Ligne 30 : | ||
wemostangi/devices/wemos1/up {"app_id":"wemostangi","dev_id":"wemos1","hardware_serial":"003FF0004014FF87","port":1,"counter":26,"payload_raw":"SGVsbG8sIHdvcmxkIQ==","payload_fields":{"message":"Hello, world!"},"metadata":{"time":"2018-11-19T17:41:34.533665527Z","frequency":867.7,"modulation":"LORA","data_rate":"SF7BW125","airtime":61696000,"coding_rate":"4/5","gateways":[{"gtw_id":"eui-fcc23dfffe106153","timestamp":2881267900,"time":"2018-11-19T17:41:34.521945Z","channel":6,"rssi":-103,"snr":7.5,"rf_chain":0,"latitude":48.XXX,"longitude":-3.XXX,"altitude":43}]}} | wemostangi/devices/wemos1/up {"app_id":"wemostangi","dev_id":"wemos1","hardware_serial":"003FF0004014FF87","port":1,"counter":26,"payload_raw":"SGVsbG8sIHdvcmxkIQ==","payload_fields":{"message":"Hello, world!"},"metadata":{"time":"2018-11-19T17:41:34.533665527Z","frequency":867.7,"modulation":"LORA","data_rate":"SF7BW125","airtime":61696000,"coding_rate":"4/5","gateways":[{"gtw_id":"eui-fcc23dfffe106153","timestamp":2881267900,"time":"2018-11-19T17:41:34.521945Z","channel":6,"rssi":-103,"snr":7.5,"rf_chain":0,"latitude":48.XXX,"longitude":-3.XXX,"altitude":43}]}} | ||
* via [https://github.com/FablabLannion/LoRaWemos/blob/master/TTGO.py mqtt en python] | |||
=Émission= | =Émission= | ||
Ligne 52 : | Ligne 53 : | ||
=Ajout GPS= | =Ajout GPS= | ||
[[File:ttgo_gps.jpg|400px|droite]] | [[File:ttgo_gps.jpg|400px|droite]] | ||
Pour créer une balise GPS/LoRa et mapper la couverture sur [[CouvertureLora|TTN Mapper]]. ie: comme le projet [[WemosTTGO GPS]] | |||
== hardware == | == hardware == | ||
Connexion d'un GPS NEO-M8 en liaison série. l'ESP32 récupère les données GPS via le protocole NMEA. | Connexion d'un GPS NEO-M8 en liaison série. l'ESP32 récupère les données GPS via le protocole NMEA. | ||
Ligne 79 : | Ligne 81 : | ||
* Configuration des [https://quadmeup.com/arduino-esp32-and-3-hardware-serial-ports/ ports série supplémentaires] | * Configuration des [https://quadmeup.com/arduino-esp32-and-3-hardware-serial-ports/ ports série supplémentaires] | ||
* Bibliothèque de décodage [https://github.com/kosma/minmea NMEA légère] | * Bibliothèque de décodage [https://github.com/kosma/minmea NMEA légère] | ||
* Boitier [https://www.thingiverse.com/thing:3160706] | |||
=doc= | =doc= |
Version actuelle datée du 6 mars 2019 à 23:09
Terminal Lora
Cette page concerne le TTGO ESP32 T3 v1. Voir les autres cartes ici : TTGO
C'est un terminal basé sur une puce SX1276
Utilisation
Connexion au terminal via USB via un câble court
Installation des cartes ESP32, au choix :
- en direct
- via le board manager de l'IDE Arduino
Bibliothèques nécessaires (à installer via Manage Libraries) :
- MCCI LoRaWAN LMIC library v2.2.2
- U8g2 v2.24.3
Configuration :
- On choisit le type de carte : "TTGO-LoRa32-OLED V1"
- Moniteur série à 115200 bauds
- Attention : changer la configuration radio pour l'Europe dans ~/Arduino/libraries/MCCI_LoRaWAN_LMIC_library/project_config/lmic_project_config.h, on doit avoir les lignes :
#define CFG_eu868 1 #define CFG_sx1276_radio 1
et avec ce code ou ce code on voit des paquets arriver
- dans Data
- via mqtt
$ APP_ACCESS_KEY=ttn-account-v2.XXXXXX # récupérée dans l'interface TTN/Applications/wemostangi $ mosquitto_sub -h eu.thethings.network -t '+/devices/+/up' -u 'wemostangi' -P "$APP_ACCESS_KEY" -v --cafile ~/sources/LoRa/mqtt-ca.pem -p 8883 wemostangi/devices/wemos1/up {"app_id":"wemostangi","dev_id":"wemos1","hardware_serial":"003FF0004014FF87","port":1,"counter":26,"payload_raw":"SGVsbG8sIHdvcmxkIQ==","payload_fields":{"message":"Hello, world!"},"metadata":{"time":"2018-11-19T17:41:34.533665527Z","frequency":867.7,"modulation":"LORA","data_rate":"SF7BW125","airtime":61696000,"coding_rate":"4/5","gateways":[{"gtw_id":"eui-fcc23dfffe106153","timestamp":2881267900,"time":"2018-11-19T17:41:34.521945Z","channel":6,"rssi":-103,"snr":7.5,"rf_chain":0,"latitude":48.XXX,"longitude":-3.XXX,"altitude":43}]}}
- via mqtt en python
Émission
On peut également descendre des données vers le terminal.
Pour cela, soit :!
- aller dans la partie device et remplir la partie Downlink->PayLoad
- via mqtt :
$ APP_ACCESS_KEY=ttn-account-v2.XXXXX $ mosquitto_pub -h eu.thethings.network -t 'wemostangi/devices/wemos1/down' -u 'wemostangi' -P "$APP_ACCESS_KEY" --cafile ~/sources/LoRa/mqtt-ca.pem -p 8883 -m '{"payload_raw": "AQ=="}'
Note: le champ payload_raw est encodé en base64, vous pouvez le (de)coder en bash ainsi :
# encode la valeur 1 (ie: le nombre 1, pas le caractère 1) $ echo -ne "\x1"| base64 AQ== # décode une payload et l'affiche sous forme lisible (nombre et caractère correspondant si affichable) $ echo "AQ=="|base64 -d|hexdump -C 00000000 01 |.| 00000001
Ajout GPS
Pour créer une balise GPS/LoRa et mapper la couverture sur TTN Mapper. ie: comme le projet WemosTTGO GPS
hardware
Connexion d'un GPS NEO-M8 en liaison série. l'ESP32 récupère les données GPS via le protocole NMEA.
Note: on est obligés d'utiliser d'autres broches pour connecter au gps, car la broche 15 (gps_rx sur le T-Beam) est utilisée par l'écran oled sur cette carte
software
Un exemple de lecture des données GPS est disponible ici : TTGOGps. Il est basé sur la bibliothèque mininmea. Note: ce n'est pas cette bibliothèque que l'on utilisera pour faire la balise GPS
Pour une balise GPS avec écran :
Utilisation du code commun avec WemosTTGO GPS disponible ici : LoraWemosGPS. Bien penser à modifier le fichier hw.h pour choisir la bonne carte :
/** for TTGO LoRa32 v1 **/ // with connections as defined here : https://wiki.fablab-lannion.org/index.php?title=WemosTTGO#Ajout_GPS #define GPS_TX 23 #define GPS_RX 22 // has an oled screen #define OLED 1
Liens utiles
- ESP32 et gps
- datasheet composant GPS NEO-M8
- Configuration des ports série supplémentaires
- Bibliothèque de décodage NMEA légère
- Boitier [1]
doc
pinout TTGO ESP32 v1
Bibliographie
https://www.ebay.fr/itm/273133909852?ViewItem=&item=273133909852
https://ictoblog.nl/2018/01/13/my-chinese-esp32-sx1276-board-dht11-connected-to-the-things-network-1
https://github.com/osresearch/esp32-ttgo
https://www.youtube.com/watch?v=2Q4O88hmjzE
https://hackaday.io/project/27791-esp32-lora-oled-module
https://github.com/CaptIgmu/Arduino/tree/master/esp32/TTGO_LoRa32_OLED
https://github.com/matthijskooijman/arduino-lmic
https://www.hackster.io/Amedee/the-things-network-node-for-ttnmapper-org-a8bcd4