Table des matières:
- Étape 1: Démonstration
- Étape 2: Assemblage
- Étape 3: Assemblage - Tableau
- Étape 4: Ubidots
- Étape 5: Bibliothèque SimpleDHT
- Étape 6: Bibliothèque PubSubClient
- Étape 7: Bibliothèque TinyGSM
- Étape 8: Bibliothèque TFT_eSPI
- Étape 9: Bibliothèque TFT_eSPI
- Étape 10: Ubidots
- Étape 11: Modification des données en.ino
- Étape 12: GPRS_ESP32_DHT.ino - Déclarations et variables
- Étape 13: Épingler
- Étape 14: configuration
- Étape 15: Configurer l'affichage
- Étape 16: Configurer le GSM
- Étape 17: ConnectMQTTServer
- Étape 18: Boucler
- Étape 19: Lire DHT
- Étape 20: Publiez MQTT
- Étape 21: Créer une chaîne Json
- Étape 22: Afficher les données sur l'affichage
- Étape 23: Fichiers
Vidéo: IOT avec réseau cellulaire avec ESP32 : 23 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:08
Aujourd'hui, nous allons parler du modem GPRS, ou plutôt de l'ESP32 et de son utilisation avec le réseau de téléphonie cellulaire. C'est quelque chose qui fonctionne très bien. En utilisant le protocole MQTT, nous enverrons ensuite les données au tableau de bord Ubidots. Utilisez dans cet assemblage un affichage pour le retour du circuit, en plus du SIM800L et d'une puce de téléphone portable. Avec ce projet, nous enverrons donc des données de température et d'humidité via GPRS et MQTT, et visualiserons les données dans un graphique linéaire.
Étape 1: Démonstration
Étape 2: Assemblage
Étape 3: Assemblage - Tableau
Étape 4: Ubidots
Étape 5: Bibliothèque SimpleDHT
Dans l'IDE Arduino, allez dans Sketch-> Inclure la bibliothèque-> Gérer les bibliothèques…
Installer SimpleDHT
Étape 6: Bibliothèque PubSubClient
Dans l'IDE Arduino, allez dans Sketch-> Inclure la bibliothèque-> Gérer les bibliothèques…
Installer PubSubClient
Étape 7: Bibliothèque TinyGSM
Dans l'IDE Arduino, allez dans Sketch-> Inclure la bibliothèque-> Gérer les bibliothèques…
Installer TinyGSM
Étape 8: Bibliothèque TFT_eSPI
Dans l'IDE Arduino, allez dans Sketch-> Inclure la bibliothèque-> Gérer les bibliothèques…
Installer TFT_eSPI
Étape 9: Bibliothèque TFT_eSPI
Modifiez les broches d'affichage dans le dossier lib.
L'épinglage est dans le fichier User_Setup.h dans
C:\Utilisateurs\Documents\Arduino\bibliothèques\TFT_eSPI
Remplacez ces valeurs par défaut par les valeurs suivantes dans l'image.
Étape 10: Ubidots
Connectez-vous à Ubidots avec votre compte et cliquez sur Appareils
Cliquez sur le bouton "+" dans le coin supérieur droit
Cliquez sur vide
Saisissez le nom de l'appareil. Notez le "label de périphérique", car il sera utilisé dans le "sujet" que nous utiliserons dans.ino
Dans la liste des appareils, l'appareil que vous venez de créer apparaîtra. Clique dessus.
Sur l'écran qui apparaît, cliquez sur "Ajouter une variable". Une fenêtre contextuelle apparaîtra. Cliquez sur "Raw".
Cliquez sur la zone de texte et entrez le nom de la propriété.
Ce doit être exactement ce que nous enverrons dans le json du.ino. Répétez cette opération pour l'autre propriété.
Retournez au tableau de bord en cliquant sur le logo Ubidots.
Dans le tableau de bord, cliquez sur "Ajouter un nouveau widget"
Dans la liste des Widgets, choisissez "Double axe"
Étape 11: Modification des données en.ino
Étape 12: GPRS_ESP32_DHT.ino - Déclarations et variables
#define TINY_GSM_MODEM_SIM800 //Tipo de modem que estamos usando#include #include #include #include #include //Token de usuário que pegamos no Ubidots #define TOKEN "BBFF-abcdefghijklmnopqrstuvwxyz0123" //Tópico onde de vamos vamos (esp32_gprs é o nome do dispositivo no Ubidots) #define TOPIC "/v1.6/devices/esp32_gprs" //id do dispositivo que pegamos no painel do Ubidots #define DEVICE_ID "5c01234567890abc12345678" //URL do MQTT Server_ER_define mqtt://things.ubidots.com" //Porta padrão do MQTT #define MQTT_PORT 1883 //Pino onde está o DHT22 #define DHT_PIN 27
Étape 13: Épingler
//Pinagem em User_Setup.h dans les pâtes de la bibliothèqueTFT_eSPI display = TFT_eSPI(); //Intervalo entre os envios e refresh da tela #define INTERVAL 10000 //Canal serial que vamos usar para comunicarmos com o modem. Utiliser semper 1 HardwareSerial SerialGSM (1); Modem TinyGsmGSM(SerialGSM); TinyGsmClient gsmClient(modemGSM); //Client MQTT, passamos une url do server, un porta //e o cliente GSM PubSubClient client(MQTT_SERVER, MQTT_PORT, gsmClient); //Tempo em que o último envio/refresh foi feito uint32_t lastTime = 0; flotteur humidité; //Variável onde iremos armazenar o valor da umidade float temperature; //Variável onde iremos armazenar o valor da temperatura SimpleDHT22 dht; //Objeto que realizará a leitura da umidade e temperatura
Étape 14: configuration
void setup() { Serial.begin(115200); setupAffichage(); //Inicialize e configura o display setupGSM(); //Inicialize e configura o modem GSM connectMQTTServer(); //Conectamos sur le serveur mqtt //Espera 2 segundos e limpamos o display delay (2000); display.fillScreen(TFT_BLUE); display.setCursor(0, 0); }
Étape 15: Configurer l'affichage
void setupDisplay(){ display.init(); display.setRotation(1); display.fillScreen(TFT_BLUE); //Limpa o display com a cor azul display.setTextColor(TFT_WHITE, TFT_BLUE); //Coloca o texto como branco com fundo azul display.setTextWrap(true, true);//Ativa quebra de linha display.setTextSize(1); display.setCursor(0, 0, 2); //Posicção x, y e fonte do texto display.println("Setup Display Complete"); }
Étape 16: Configurer le GSM
void setupGSM(){ display.println("Configuration GSM…"); //Inicializamos a serial onde está o modem SerialGSM.begin (9600, SERIAL_8N1, 4, 2, false); retard(3000); //Plus d'informations sur le modem Serial.println(modemGSM.getModemInfo()); //Inicializa o modem if (!modemGSM.restart()) { display.println("Le redémarrage du modem GSM a échoué"); retard (10000); ESP.restart(); revenir; } // Espera pela rede if (!modemGSM.waitForNetwork()) { display.println("Échec de la connexion au réseau"); retard (10000); ESP.restart(); revenir; } // Connexion à rede gprs (APN, usuário, senha) if (!modemGSM.gprsConnect("", "", "")) { display.println("Échec de la connexion GPRS"); retard (10000); ESP.restart(); revenir; } display.println("Configuration réussie du GSM"); }
Étape 17: ConnectMQTTServer
void connectMQTTServer() { display.println("Connexion au serveur MQTT…"); //Se connecter à un périphérique que definimos if (client.connect(DEVICE_ID, TOKEN, "")) { //Se connecter à un tel résultat display.println("Connected"); } else { //Se ocorreu algum erro display.print("error = "); display.println(client.state()); retard (10000); ESP.restart(); } }
Étape 18: Boucler
void loop() { //Faire une lecture de la température et de la température readDHT(); //Se desconectou do server MQTT if(!client.connected()) { //Mandamos conectar connectMQTTServer(); } //Tempo decorrido desde o boot em milissegundos unsigned long now = millis(); //Se passe à l'intervalle de l'environnement if(now - lastTime > INTERVAL) { //Publicamos para o server mqtt publishMQTT(); //Mostramos os dados no display showDataOnDisplay(); //Atualizamos o tempo em que fo feito o último envio lastTime = now; } }
Étape 19: Lire DHT
void readDHT(){ float t, h; //Faz a leitura da umidade e temperatura e apenas atualiza as variáveis se foi bem successedido if (dht.read2(DHT_PIN, &t, &h, NULL) == SimpleDHTErrSuccess) { temperature = t; humidité = h; } }
Étape 20: Publiez MQTT
void publishMQTT(){ //Cria o json que iremos enviar para o server MQTT String msg = createJsonString(); Serial.print("Publier le message: "); Serial.println(msg); //Publicamos no topico int status = client.publish(TOPIC, msg.c_str()); Serial.println("Status: " + String(status));//Status 1 se sucesso ou 0 se deu erro }
Étape 21: Créer une chaîne Json
String createJsonString() { String data = "{"; if(!isnan(humidité) && !isnan(température)) { data+="\"humidité\":"; data+=String(humidité, 2); données+=", "; data+="\"température\":"; data+=String(température, 2); } données+="}"; renvoyer des données; }
Étape 22: Afficher les données sur l'affichage
void showDataOnDisplay(){ //Réinitialiser la position du curseur et la plupart des températures et des températures display.setCursor(0, 0, 2); display.println("Humidity: " + String(humidité, 2)); display.println("Température: " + String(température, 2)); }
Étape 23: Fichiers
Télécharger les fichiers
INO
Conseillé:
Lampe cellulaire WiFi RGB utilisant l'ESP8266 : 6 étapes
Lampe cellulaire RVB WiFi à l'aide de l'ESP8266 : Dans cet article, nous construisons une belle lampe cellulaire RVB qui peut être contrôlée via le Wi-Fi. La page de contrôle se compose d'une roue chromatique qui vous permet de changer rapidement les couleurs et vous pouvez également spécifier les valeurs RVB directement pour créer un total de plus de
COMMENT CONVERTIR UN ANCIEN TÉLÉPHONE CELLULAIRE (NOKIA 6600) EN UN SUPERGADGET-MICRO-ORDINATEUR : 37 étapes
COMMENT CONVERTIR UN ANCIEN TÉLÉPHONE CELLULAIRE (NOKIA 6600) EN UN SUPERGADGET-MICRO-ORDINATEUR : http://www.internetsecretbook.com https://www.youtube.com/thebibleformulaAu milieu de la difficulté se trouve l'opportunité. - Albert Einstein Le téléphone Nokia 6600 est doté de nouvelles fonctions d'imagerie avancées, notamment un écran TFT lumineux de 65 536 couleurs et un ca
DÉTECTEUR DE TÉLÉPHONE CELLULAIRE : 3 étapes (avec photos)
DÉTECTEUR DE TÉLÉPHONE CELLULAIRE: En pensant au brouilleur de téléphone portable, j'ai eu l'idée de faire un circuit capable de détecter l'appel et le message du téléphone. il peut être entrant ou sortant Le projet réalisé est un détecteur de téléphone portable capable de détecter les 2g,3g,4g
Contrôleur de réseau IoT. Partie 9 : IoT, domotique : 10 étapes (avec photos)
Contrôleur de réseau IoT. Partie 9 : IoT, domotique : avis de non-responsabilitéLIRE CECI EN PREMIERCe document détaille un projet qui utilise l'alimentation secteur (dans ce cas UK 240VAC RMS), tandis que toutes les précautions ont été prises pour utiliser des pratiques sûres et de bons principes de conception, il y a toujours un risque potentiellement mortel élire
Horloge ESP32 utilisant WiFi, ESP-NOW et cellulaire : 4 étapes
Horloge ESP32 utilisant le WiFi, ESP-NOW et cellulaire : il s'agit d'une horloge wifi basée sur ESP32 que j'ai conçue pour le concours sans fil. J'ai décidé de rendre cette horloge trop sans fil afin qu'elle utilise trois formes différentes de communication sans fil (WiFi, ESP-NOW, & Cellular). Le téléphone est connecté à une tour cellulaire et