« WemosTTGO » : différence entre les versions
m (→Émission) |
Aucun résumé des modifications |
||
(14 versions intermédiaires par un autre utilisateur non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
[[File:ttgo_box.jpg|400px|droite]] | |||
=Terminal Lora= | =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 | C'est un terminal basé sur une puce SX1276 | ||
Ligne 9 : | Ligne 12 : | ||
* via le [https://github.com/espressif/arduino-esp32/blob/master/docs/arduino-ide/boards_manager.md board manager] de l'IDE Arduino | * via le [https://github.com/espressif/arduino-esp32/blob/master/docs/arduino-ide/boards_manager.md board manager] de l'IDE Arduino | ||
Bibliothèques nécessaires (à installer via ''Manage Libraries'') : | |||
* [https://github.com/mcci-catena/arduino-lmic MCCI LoRaWAN LMIC] library v2.2.2 | |||
* [https://github.com/olikraus/u8g2 U8g2] v2.24.3 | |||
Moniteur série à 115200 bauds | 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 [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 20 : | 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 41 : | Ligne 52 : | ||
=Ajout GPS= | =Ajout GPS= | ||
[[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 == | |||
Connexion d'un GPS NEO-M8 en liaison série. l'ESP32 récupère les données GPS via le protocole NMEA. | |||
[[File:ttgoLoRa32_GPS_conn.jpg|400px]] | |||
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 : [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 | |||
http://www.lucadentella.it/en/2017/11/13/esp32-27-gps/ | == Liens utiles == | ||
* [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] | |||
* 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] | |||
* Boitier [https://www.thingiverse.com/thing:3160706] | |||
=doc= | =doc= | ||
pinout | pinout TTGO ESP32 v1 | ||
[ | |||
[[File:TTGO-LORA32-868-915Mhz-SX1276-ESP32-Oled.jpg|400px]] | |||
=Bibliographie= | =Bibliographie= |
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