Vous êtes sur la page 1sur 4

Étudiant: Dhai Eddine Zebbiche (SIQ3) Enseignant: Mr.

Abdenour Sehad
TP: Système IoT complet avec utilisation d’une plateforme IoT Module: SCI

1 Partie théorique
a Introduction aux différentes plateformes IoT:
Une plateforme IoT sert de médiateur entre le monde des objets physiques et le monde des informations
exploitables. Combinant de nombreux outils et fonctionnalités, les plates-formes Internet des objets
permettent de créer des produits matériels et logiciels uniques pour collecter, stocker, analyser et gérer
la pléthore de données générées par des appareils connectés.
Il y a plusieurs plateforme IoT dans le marchée: Google Cloud IoT, Cisco IoT Cloud Connect,
Salesforce IoT Cloud, IRI Voracity, Particle, IBM Watson IoT, ThingWorx, Amazon AWS IoT Core,
Microsoft Azure IoT Hub, Oracle IoT, Blynk, ... etc.

b Etude théorique de la plateforme Blynk:


Blynk est une suite complète de logiciels pour construite, prototyepr, déployer et gérer à distance des
appareils électroniques connectés (connected edges devices) à n’importe quelle échelle: des projets IoT
personnels à des millions de produits connectés. Avec Blynk, on peut connecter son matériel au cloud
et créer des applications sans code pour analyser les données en temps réel et historiques provenant
d’appareils, les contrôler à distance, recevoir des notifications importantes, ... etc.
Il y a trois composants majeurs dans la plateforme:

• Application Blynk: vous permet de créer des interfaces pour vos projets en utilisant différents
widgets que nous fournissons.

• Serveur Blynk: responsable de toute les communications entre le smartphone et le hardware. On


peut utiliser le Cloud Blynk ou faire tourner un Serveur privé Blynk localement. C’est open-source.

• Bibliothèque Blynk: pour toutes les plateformes hardware populaires - active la communication
avec le serveur et traite toutes les commandes entrantes et sortantes.

2 Partie pratique
a Installation d’une plateforme IoT BLYNK en standalone
On suit la documentation de Blynk sur Github pour l’installer localement sur Raspberry Pi: Quick local
server setup. Pour accomplir les taches suivantes, on a besoin de l’application mobile Blynk (legacy)

b Capter des données et les afficher sur la plateforme


A chaque qu’on veut lancer le serveur en local, on exécute la commande suivant dans la racine du
répertoire du serveur Blynk:
Dhai Eddine Zebbiche 2

$ java -jar blynk-server.jar -dataFolder .

Ensuite, on crée une connexion personnalisée sur l’application Blynk (legacy), en utilisant l’email:
admin@blynk.cc et le mot de passe: admin, et on spécifie l’adresse IP du serveur, et le port (9443
par défaut).
Puis, on crée un nouveau projet dans l’application, on spécifie les widgets et leurs paramètres
correspondantes (virtual pins, etc)
Pour connecter un composant au serveur, il faut spécifier dans le programme chargé sur ce
composant, un identifiant unique BLYNK_AUTH_TOKEN, qu’on peut récupérer en allant a
https://adresse_ip_server:port/admin/ avec un navigateur web, on accède avec l’email et le mot
de passe précédemment cités, puis on accède au Users, puis admin@blynk.cc et on cherche le nom
du nouveau projet crée sur l’application, et on trouve son identifiant.

Dans cet partie on récupère les donnes de la lumière, et on les envoie au serveur Blynk:
Le circuit réalisée:

Le programme:
1 #include <SPI.h>
2 #include <WiFiNINA.h>

Système IoT complet avec utilisation d’une plateforme IoT


Dhai Eddine Zebbiche 3

3 #include <BlynkSimpleWiFiNINA.h>
4 #define BLYNK_AUTH_TOKEN "TOKEN"
5 #define BLYNK_PRINT Serial
6
7 char auth[] = BLYNK_AUTH_TOKEN;
8 char ssid[] = "NOM_SSID_WIFI";
9 char pass[] = "MOT_DE_PASSE_WIFI";
10
11 const int ldrPin = A1;
12 int ldrStatus;
13
14 BLYNK_WRITE(V0)
15 {
16 int value = param.asInt();
17 Blynk.virtualWrite(V1, value);
18 }
19
20 void myTimerEvent()
21 {
22 Blynk.virtualWrite(V1, ldrStatus);
23 }
24
25 void setup()
26 {
27 Serial.begin(115200);
28 Blynk.begin(auth, ssid, pass, IPAddress(192,168,43,21), 8080);
29 pinMode(ldrPin, INPUT);
30 }
31
32 void loop()
33 {
34 Blynk.run();
35 ldrStatus = analogRead(ldrPin);
36 delay(2000);
37 }
38

Dans cet partie, on contrôle une LED avec Blynk, et on envoie la durée du connexion du Raspberry
Pi au serveur Blynk:
Le circuit réalisée:

Le programme:
1 import BlynkLib

Système IoT complet avec utilisation d’une plateforme IoT


Dhai Eddine Zebbiche 4

2 import time
3 import RPi.GPIO as GPIO
4
5 PIN = 11
6 GPIO.setmode(GPIO.BOARD)
7 GPIO.setup(PIN, GPIO.OUT)
8
9 # Initialize Blynk
10 blynk = BlynkLib.Blynk("TOKEN_ICI", server="192.168.43.21", port=8080)
11
12 now = time.time()
13
14 @blynk.VIRTUAL_WRITE(1)
15 def my_write_handler(value):
16 print(f'Current V1 value: {value[0]}')
17 if int(value[0]):
18 GPIO.output(PIN, GPIO.HIGH)
19 else:
20 GPIO.output(PIN, GPIO.LOW)
21
22 def send_up_time():
23 # this widget will show some time in seconds..
24 blynk.virtual_write(2, int(time.time() - now))
25
26 try:
27 while True:
28 blynk.run()
29 time.sleep(0.3)
30 send_up_time()
31
32 except KeyboardInterrupt:
33 GPIO.cleanup()
34 exit(1)
35

c Visualisation et accès aux données via une application mobile de BLYNK


Demo de la première partie: TP SCI Blynk - Capter la lumière et afficher les données sur la plateforme
Blynk.
Demo de la deuxième partie:

1. TP SCI Blynk - Contrôler une LED avec Raspberry Pi et Blynk (1)

2. TP SCI Blynk - Contrôler une LED avec Raspberry Pi et Blynk (2)

Système IoT complet avec utilisation d’une plateforme IoT

Vous aimerez peut-être aussi