Carte basée sur Arduino pour un capteur atmosphérique BME280 LORAWAN NODE. Le nœud LORA mesure la pression barométrique, l'humidité et la température toutes les 5 min. Après les mesures, l'Attiny85 passe en mode veille et est éveillé par la minuterie de chien de garde. Le module RFM envoie les valeurs au backend TTN avec activation par personnalisation (ABP) un facteur de propagation fixe et l'un des quatre canaux aléatoires. Ce projet est basé sur le projet Tinylora-BME280 [1].
| Référence | Valeur | Description |
|---|---|---|
| Bt1 | 3034 | Support de cellule de batterie |
| Bt1 | CR2032 | Cell de batterie CR2032 (210 - 230 mAh) |
| U1 | BME280 | Sparkfun BME280 |
| U2 | Attiny85-20su | Microcontrôleur ATMEL 8 bits |
| U3 | RFM95W-868S2 | Module d'émetteur-récepteur à longue portée à faible puissance |
| - | Fil | Fil pour l'antenne, 8,6 cm |
Le microprocesseur ATMEGA a besoin d'un chargeur de démarrage Arduino. Pour brûler un chargeur de démarrage sur la puce vide, voir [2]
| Attiny85 | RFM95 | BME280 |
|---|---|---|
| PB3 | CS (Select d'esclaves) | |
| PB4 | NSS (Select d'esclaves) | |
| Pb2 | SCK | SCK |
| PB1 (do) | Mosi | SDI |
| PB0 (DI) | Miso | Sdo |
L'IDE Arduino doit être correctement installé.
Ajoutez les bibliothèques à vous:
Installez le gestionnaire d'attiny Baord
Plusieurs managers peuvent être séparés avec une virgule.
Installer Tinylora-BME280 V1.1
Exemples ouverts> tinylora-bme280_v1.1-master> attiny_lora_bme280
Brûlez l'esquisse à la puce à l'aide d'un Arduino Uno [2]
La charge utile est codée sous forme de tableau d'octets.
| octet | contenu |
|---|---|
| 0..1 | Température (* 100) |
| 2..3 | Humidité (* 100) |
| 4..8 | pression barométrique |
Pour décoder les valeurs, ajoutez ce code dans la console TTM en tant que décodeur sous des formats PALOAD.
function Decoder(bytes, port) {
temp = ((bytes[0]) << 8)
+ ((bytes[1]));
hum = ((bytes[2]) << 8)
+ ((bytes[3]));
pres = ((bytes[4]) << 24)
+ ((bytes[5]) << 16)
+ ((bytes[6]) << 8)
+ ((bytes[7]));
return {
pressure: ( pres / 100 ),
temperature: ( temp / 100 ),
humidity: ( hum / 100 )
};
}
Licence CC par 4.0 - Attribution 4.0 International