« WemosTTGO » : différence entre les versions

De Kernel Fablab Lannion
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


On choisit le type de carte : "TTGO-LoRa32-OLED V1"
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
[https://raw.githubusercontent.com/osresearch/esp32-ttgo/master/images/esp32-pinout.jpg]
 
[[File:TTGO-LORA32-868-915Mhz-SX1276-ESP32-Oled.jpg|400px]]


=Bibliographie=
=Bibliographie=

Version actuelle datée du 6 mars 2019 à 23:09

Ttgo box.jpg

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 :

Bibliothèques nécessaires (à installer via Manage Libraries) :

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

$ 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

Ttgo gps.jpg

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.

TtgoLoRa32 GPS conn.jpg

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

doc

pinout TTGO ESP32 v1

TTGO-LORA32-868-915Mhz-SX1276-ESP32-Oled.jpg

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://primalcortex.wordpress.com/2017/11/24/the-esp32-oled-lora-ttgo-lora32-board-and-connecting-it-to-ttn/

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

https://robotzero.one/heltec-wifi-lora-32/