Table des matières:

Communication Arduino vers Laravel : 4 étapes
Communication Arduino vers Laravel : 4 étapes

Vidéo: Communication Arduino vers Laravel : 4 étapes

Vidéo: Communication Arduino vers Laravel : 4 étapes
Vidéo: Arduino to Laravel Communication - Send data from NodeMCU to Laravel 2024, Juillet
Anonim
Image
Image
Arduino à Laravel Communication
Arduino à Laravel Communication

Salut à tous, Dans ce Instructable, je vais vous montrer comment vous pouvez envoyer des données d'un Arduino à une application Laravel.

Étape 1: Présentation

introduction
introduction
introduction
introduction

Chaque fois que nous avons un projet qui nécessite un affichage et une journalisation des données, il est généralement nécessaire que les données soient disponibles sur le Web. De cette façon, nous pouvons éventuellement surveiller l'état d'un objet à distance ou même contrôler nos appareils de n'importe où dans le monde.

Pour ce projet, nous utiliserons une carte NodeMCU v1.0 qui intègre un module ESP8266 12e. De plus, nous devrons utiliser un ordinateur sur lequel nous pourrons héberger notre application Laravel. Si vous voulez savoir comment configurer un tel environnement, regardez ma vidéo à ce sujet.

Étape 2: préparer l'application Laravel

Préparer l'application Laravel
Préparer l'application Laravel
Préparer l'application Laravel
Préparer l'application Laravel

Notre première étape consiste à installer Laravel via Composer. Je n'entrerai pas dans les détails sur la façon dont vous pouvez le faire car la documentation l'explique en détail et vous pouvez le trouver ici.

Pour garder cette démo simple, dans Laravel, nous enregistrerons les informations envoyées depuis l'Arduino dans un fichier texte afin que nous puissions les examiner plus tard. Pour cela nous allons d'abord créer une nouvelle route POST dans le fichier " api.php ". Dans le rappel, nous injecterons les détails de la demande afin de pouvoir récupérer ultérieurement les paramètres envoyés.

Pour écrire dans un fichier, j'utilise la façade de stockage de Laravel avec sa méthode d'ajout pratique. Lorsqu'elle est appelée, cette méthode reçoit un nom de fichier et des données de chaîne où elle ajoute ces données au fichier spécifié. Si le fichier n'est pas présent, il est créé lors du premier appel.

Les données que nous écrivons dans chaque ligne sont constituées de la date et de l'heure actuelles, suivies des valeurs de demande pour la température et l'humidité. Si vous avez plusieurs de ces valeurs, vous pouvez répéter le même processus de récupération pour toutes.

Étape 3: préparer l'expéditeur Arduino

Préparer l'expéditeur Arduino
Préparer l'expéditeur Arduino
Préparer l'expéditeur Arduino
Préparer l'expéditeur Arduino

Regardons maintenant le code Arduino et l'envoi de données.

Pour que la carte NodeMCU puisse se connecter à notre WiFi et envoyer une requête, nous devons d'abord inclure plusieurs bibliothèques en haut. Ensuite, nous devons spécifier le SSID du réseau auquel nous nous connectons et son mot de passe. Si vous utilisez un Uno avec un blindage Ethernet, votre processus sera différent.

Aussi, nous enregistrons ici l'URL racine du serveur Laravel que nous venons de créer. Dans mon cas, il s'agit de l'adresse IP de mon ordinateur local, mais vous pouvez ajouter n'importe quelle URL hôte où le code est accessible.

Dans la fonction de configuration, nous démarrons la communication série afin de pouvoir surveiller ce qui se passe. De plus, nous devons configurer la carte NodeMCU afin qu'elle puisse se connecter correctement au WiFi. Une fois cela fait, nous pouvons initier la connexion et attendre de recevoir une adresse IP du routeur.

Pour cet exemple, je n'ai en fait aucun capteur connecté à la carte. Au lieu de cela, je génère simplement des données aléatoires à l'aide de la fonction aléatoire et je les envoie.

Ces données doivent être préparées sous la forme d'une chaîne de requête et après le démarrage de la requête HTTP, nous devons l'envoyer en utilisant la méthode POST sur le client HTTP. L'en-tête que nous avons ajouté précédemment est là pour informer le serveur qu'il y a des données dans la requête qu'il doit collecter.

En conséquence, nous obtenons d'abord le code d'état HTTP, puis la charge utile de la réponse. Si tout s'est bien passé, nous devrions obtenir 200 comme code et puisque nous n'avons rien renvoyé de notre application Laravel, la charge utile sera vide.

Si, pour une raison quelconque, le code d'état n'est pas 200, la charge utile contiendra généralement le message d'erreur de ce qui s'est passé.

A la fin, il faut s'assurer de fermer la requête et attendre un certain temps, 5 secondes dans notre exemple pour refaire le même processus.

Le résultat est que nous obtenons ces valeurs enregistrées dans le fichier texte à chaque itération afin que nous puissions plus tard l'utiliser pour l'afficher ou le mapper sur un graphique.

Étape 4: Étapes supplémentaires

Prochaines étapes
Prochaines étapes

Comme vous pouvez le voir, le processus est assez simple et peut être facilement étendu pour lire les valeurs de différents capteurs et peut-être les écrire dans une base de données. Le résultat de ce que vous pouvez construire avec cela est juste limité par votre imagination. Pour vous aider à démarrer, vous trouverez ci-dessous un lien vers le code source complet utilisé dans l'exemple.

github.com/bkolicoski/arduino-laravel-comm…

J'espère que vous avez réussi à apprendre quelque chose de nouveau à partir de cet Instructable et si vous l'avez fait, veuillez me le faire savoir dans les commentaires, suivez-moi sur Instructables et n'oubliez pas de vous abonner à ma chaîne YouTube.

Merci!

Conseillé: