-
Notifications
You must be signed in to change notification settings - Fork 0
/
thingsboard.py
38 lines (32 loc) · 1.21 KB
/
thingsboard.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# thingsboard.py
import time
import json
from tb_device_mqtt import TBDeviceMqttClient, TBPublishInfo
# Configuration des identifiants et du serveur de ThingsBoard
THINGSBOARD_HOST = '192.168.2.99:8765' # Remplacez par l'adresse de votre serveur ThingsBoard
ACCESS_TOKEN = 'your-access-token' # Remplacez par le jeton d'accès de votre appareil
client = TBDeviceMqttClient(THINGSBOARD_HOST, ACCESS_TOKEN)
client.connect()
def send_telemetry(data):
result = client.send_telemetry(json.dumps(data))
success = result.get() == TBPublishInfo.TB_ERR_SUCCESS
if success:
print(f"Télémetrie envoyée: {data}")
else:
print(f"Erreur lors de l'envoi de la télémetrie: {data}")
def thingsboard_loop():
try:
while True:
# Exemple de données à envoyer à ThingsBoard
data = {
"temperature_E": 23.5,
"temperature_A": 24.0,
"temperature_S": 22.8,
"light": 350
}
send_telemetry(data)
time.sleep(5) # Attendre 5 secondes avant d'envoyer les prochaines données
except KeyboardInterrupt:
client.disconnect()
if __name__ == "__main__":
thingsboard_loop()