« WemosTTGO » : différence entre les versions
Ligne 52 : | Ligne 52 : | ||
=Ajout GPS= | =Ajout GPS= | ||
[[File:ttgo_gps.jpg|400px|droite]] | [[File:ttgo_gps.jpg|400px|droite]] | ||
== hardware == | |||
Connexion d'un GPS NEO-M8 en liaison série. l'ESP32 récupère les données GPS via le protocole NMEA. | |||
== software == | |||
Un exemple de lecture des données GPS est disponible ici : [https://github.com/FablabLannion/LoRaWemos TTGOGps]. Il est basé sur la bibliothèque [https://github.com/kosma/minmea 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 : [https://github.com/FablabLannion/LoraWemosGPS 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 == | |||
* [http://www.lucadentella.it/en/2017/11/13/esp32-27-gps/ ESP32 et gps] | * [http://www.lucadentella.it/en/2017/11/13/esp32-27-gps/ ESP32 et gps] | ||
* datasheet composant GPS [https://www.u-blox.com/en/product/neo-m8-series#tab-documentation-resources NEO-M8] | * datasheet composant GPS [https://www.u-blox.com/en/product/neo-m8-series#tab-documentation-resources NEO-M8] |
Version du 2 décembre 2018 à 15:51
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 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}]}}
É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
hardware
Connexion d'un GPS NEO-M8 en liaison série. l'ESP32 récupère les données GPS via le protocole NMEA.
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
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