Table des matières:
- Fournitures
- Étape 1: Comment ça marche ?
- Étape 2: Quelles sont les fonctions principales ?
- Étape 3: Construction du matériel
- Étape 4: Commençons par l'électronique sur la planche à pain
- Étape 5: Passons au logiciel
- Étape 6: Faisons la configuration
- Étape 7: Passons au côté Arduino
- Étape 8: Passons au côté serveur
- Étape 9: Il est temps de faire de la soudure
- Étape 10: Faisons le test final
- Étape 11: Vous pouvez adapter cette conception à vos propres besoins
Vidéo: Comment créer votre propre passerelle WIFI pour connecter votre Arduino au réseau IP ? : 11 étapes (avec photos)
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:05
Comme beaucoup de gens vous pensez qu'Arduino est une très bonne solution pour faire de la domotique et de la robotique
Mais en terme de communication, les Arduinos ne sont livrés qu'avec des liaisons série.
Je travaille sur un robot qui doit être connecté en permanence à un serveur qui exécute du code d'intelligence artificielle. J'ai essayé d'utiliser le réseau RF comme j'ai l'habitude de le faire pour la domotique mais ce n'est pas assez efficace. Comme le robot se déplace, je ne peux pas utiliser l'Ethernet Arduino Shield. Arduino Wifi Shield est cher et me semble être un ancien design.
J'avais besoin de quelque chose qui puisse échanger des données de manière très simple et efficace avec un serveur.
C'est pourquoi j'ai décidé de concevoir une passerelle basée sur le microcontrôleur ESP8266 très bon marché et économe en énergie
Vous trouverez ici comment construire le composant électronique et télécharger le logiciel.
J'ai utilisé cette passerelle pour la domotique et pour la robotique.
Cela fait partie d'une infrastructure domotique globale que vous pouvez consulter ici
J'ai fait un autre instructable qui utilise un blindage ESP8266 et évite de souder
Fournitures
J'ai écrit un autre instructable sur ce sujet
Étape 1: Comment ça marche ?
La passerelle est basée sur un module ESP8266
Ce module est connecté d'un côté avec la liaison série de l'autre côté au réseau IP avec le Wifi.
Il agit comme une boîte noire. Les paquets de données provenant de la liaison série sont envoyés sur un port IP/Udp et vis et versa.
Il vous suffit de paramétrer votre propre configuration (IP, WIFI…) une fois la première mise sous tension de la Gateway.
Il peut transférer soit des données brutes ASCII et binaires (pas de HTTP, JSON…)
Il est conçu pour connecter des objets avec des logiciels de serveur faits maison qui nécessitent des transferts rapides et fréquents de courts paquets de données.
Il est plus facile à utiliser avec Arduino Mega qui a plus d'un UART (Arduino Mega par exemple) mais peut également fonctionner avec un UNO.
Étape 2: Quelles sont les fonctions principales ?
Il s'agit principalement d'une boîte noire qui convertit et envoie des données série au paquet UDP dans les deux sens.
Il dispose de 3 LED qui indiquent l'état et le trafic de la passerelle.
Il fournit un GPIO qui peut être utilisé par Arduino pour attendre que la passerelle soit connectée WIFI et IP.
Il fonctionne dans 3 modes différents qui sont réglés avec des commutateurs:
- Mode passerelle qui est le mode normal
- Mode de configuration utilisé pour définir les paramètres
- Mode de débogage qui est pour le mode de débogage
La plupart des paramètres peuvent être modifiés pour s'adapter à vos besoins.
Étape 3: Construction du matériel
En plus de votre Arduino, vous aurez besoin
- 1 x module ESP8266 - Je choisis le MOD-WIFI-ESP8266-DEV d'Olimex qui coûte environ 5 euros et qui est assez simple d'utilisation.
- 1 source d'alimentation 5v
- 1 x régulateur de puissance 3.3v - j'utilise LM1086
- 1 condensateur de 100 microfarads
- 1 x module APG ULN2803 (peut être remplacé par 3 x transistors)
- 8 x résistances (3 x 1K, 1 x 2K, 1 x 2,7k, 1x 3,3K, 1x 27K, 1x 33k)
- 3 x LED (rouge, vert, bleu)
- 1 x PCB de planche à pain
- quelques fils et connecteurs
Pendant les étapes de construction seulement, vous aurez besoin
- 1 x FTDI 3.3v pour la configuration
- Fer à souder et étain
Avant de souder, il est important de configurer tous les composants sur la maquette et de vérifier que tout va bien.
Étape 4: Commençons par l'électronique sur la planche à pain
La mise en page électronique est disponible au format Fritzing
Vous pouvez le télécharger ici l'étape 1:
github.com/cuillerj/Esp8266IPSerialGateway/blob/master/GatewayElectronicStep1.fzz
Il suffit de faire comme schéma en faisant attention à la tension.
N'oubliez pas que l'ESP8266 ne prend pas en charge les tensions supérieures à 3,3 v. Le FTDI doit être réglé sur 3,3 v.
Étape 5: Passons au logiciel
Commençons par le côté Gateway
J'ai écrit le code avec Arduino IDE. Vous avez donc besoin que l'ESP8266 soit connu sous le nom de carte par l'IDE. Sélectionnez la carte appropriée avec le menu Outils / cartes.
Si vous ne voyez aucun ESP266 dans la liste, cela signifie que vous devrez peut-être installer ESP8266 Arduino Addon (vous pouvez trouver ici la procédure).
Tout le code dont vous avez besoin est disponible sur GitHub. Il est temps de le télécharger !
Le code principal de la passerelle est là:
En plus de l'Arduino standard et de l'ESP8266, le code principal a besoin de ces 2 éléments: LookFoString qui est utilisé pour manipuler les chaînes et qui est là:
ManageParamEeprom qui est utilisé pour lire et stocker les paramètres dans Eeprom et est là:
Une fois que vous avez obtenu tout le code, il est temps de le télécharger dans l'ESP8266. Connectez d'abord le FTDI à un port USB de votre ordinateur.
Je vous suggère de vérifier la connexion avant d'essayer de télécharger.
- Réglez le moniteur série Arduino sur le nouveau port USB.
- Réglez la vitesse sur 115200 les deux cr nl (vitesse par défaut pour Olimex)
- Allumez la maquette (ESP8266 est livré avec un logiciel qui gère les commandes AT)
- Envoyez "AT" avec l'outil série.
- Vous devez obtenir « OK » en retour.
Sinon, vérifiez votre connexion et regardez les spécifications de votre ESP8266.
Si vous avez "OK", vous êtes prêt à télécharger le code
- Éteignez la planche à pain, attendez quelques secondes,
- appuyez sur le micro-swith noir de l'ESP8266. Il est normal d'avoir des déchets sur le moniteur série.
- Appuyez sur l'IDE de téléchargement comme pour un Arduino.
- Une fois le téléchargement terminé, définissez la vitesse série sur 38400.
Vous verrez quelque chose comme sur la photo.
Félicitations, vous avez téléchargé le code avec succès !
Étape 6: Faisons la configuration
Le configGPIO doit être mis à 1 pour entrer en mode de configuration
Dans un premier temps scannez le WIFI en entrant la commande: ScanWifi. Vous verrez une liste du réseau détecté.
- Ensuite, définissez votre SSID en entrant "SSID1=votre réseau"
- Ensuite, définissez votre mot de passe en entrant "PSW1=votre mot de passe"
- Entrez ensuite "SSID=1" pour définir le réseau actuel
- Entrez "Redémarrer" pour connecter la passerelle à votre WIFI.
- Vous pouvez vérifier que vous avez une adresse IP en entrant "ShowWifi".
- La LED bleue s'allumera et la LED rouge clignotera.
Il est temps de définir l'adresse de votre serveur IP en saisissant les 4 sous-adresses (serveur qui exécutera le code de test Java). Par exemple:
- "IP1=192"
- "IP2=168"
- "IP3=1"
- "IP4=10"
La dernière étape requise consiste à définir le port d'écoute du serveur UDP en entrant "listenPort=xxxx".
Entrez "ShowEeprom" pour vérifier ce que vous venez de stocker dans Eeprom
Branchez maintenant le GPIO2 à la masse pour quitter le mode de configuration
Votre passerelle est prête à fonctionner
Il existe d'autres commandes que vous pouvez trouver dans la documentation.
Étape 7: Passons au côté Arduino
Connectez d'abord l'Arduino
Si vous avez un Mega, ce sera plus facile pour commencer. Néanmoins, vous pouvez utiliser un Uno.
Pour vérifier votre travail, le mieux est d'utiliser l'exemple.
Vous pouvez le télécharger ici:
Il comprend le code SerialNetwork qui se trouve ici:
Téléchargez simplement le code dans votre Arduino.
La LED verte clignote à chaque fois qu'Arduino envoie des données.
Étape 8: Passons au côté serveur
L'exemple de serveur est un programme Java que vous pouvez télécharger ici:
Exécutez-le simplement
Regardez la console Java.
Regardez le moniteur Arduino.
Arduino envoie 2 paquets différents.
- Le premier contient l'état des broches numériques 2 à 6.
- Le second contient 2 valeurs aléatoires, le niveau de tension de A0 en mV et le nombre incrémental.
Le programme Java
- imprimer les données reçues au format hexadécimal
- répondre au premier type de données avec une valeur marche/arrêt aléatoire pour activer/désactiver la LED Arduino
- répondre au deuxième type de données avec le compte reçu et une valeur aléatoire.
Étape 9: Il est temps de faire de la soudure
Cela fonctionne sur la planche à pain !
Il est temps de le rendre plus robuste en soudant des pièces sur un PCB
En plus de ce que vous avez fait avec la maquette, vous devez ajouter 3 connecteurs.
- C1 1 x broche 1 qui sera utilisée pour entrer en mode trace réseau.
- C2 3 x broches une qui sera utilisée pour basculer entre le mode d'exécution et de configuration.
- C3 6 x broches celui qui sera utilisé pour connecter la passerelle soit à un Arduino soit à un FTDI.
C1 connecté à GPIO2 doit être mis à la terre manuellement si vous souhaitez activer les traces réseau.
C2 connecté au GPIO 4 peut être réglé dans 2 positions différentes. L'un réglé à la terre pour le mode de fonctionnement normal et l'autre réglé sur 3,3 v pour entrer en mode de configuration.
Placez tous les composants sur le PCB selon le schéma et ensuite commencez à souder pour obtenir le produit final !
Étape 10: Faisons le test final
Démarrez le programme de test Java.
Connectez l'Arduino.
Mettez la passerelle sous tension.
Et regardez la console Java, le moniteur Arduino, la LED Arduino et les LED Gateway.
Étape 11: Vous pouvez adapter cette conception à vos propres besoins
Concernant le matériel
- Si vous choisissez un autre ESP8266, vous devrez vous adapter aux spécifications.
- Si vous choisissez un autre régulateur 3.3v il doit délivrer plus de 500mA et vous devrez adapter le condensateur.
- Vous pouvez modifier les résistances LED pour ajuster la luminosité.
- Vous pouvez supprimer toutes les LED mais je recommande de garder au moins le rouge allumé.
- Vous pouvez remplacer l'ULN2803 par 3 transistors (ou moins si vous choisissez de ne pas garder les 3 LED).
- J'ai fait des tests mais là ça doit fonctionner avec des cartes Arduino 3.3v. Connectez simplement Tx Rx au connecteur 3.3v.
Concernant la configuration
- Vous pouvez stocker 2 SSID différents et basculer
- Vous pouvez modifier le GPIO utilisé
Concernant le logiciel
Conseillé:
Créez votre propre système photovoltaïque hors réseau : 4 étapes (avec photos)
Fabriquez votre propre système photovoltaïque hors réseau : dans ce projet, je vais vous montrer comment j'ai combiné un panneau solaire 100W, une batterie 12V 100Ah, un contrôleur de charge solaire, un onduleur et de nombreux composants complémentaires pour reconstruire le câblage électrique à l'intérieur de mon garage et créer un hors réseau photovoltaïque
Comment créer votre propre console de jeu : 6 étapes (avec photos)
Comment faire votre propre console de jeu : Avez-vous déjà voulu faire votre propre console de jeu vidéo ? Une console pas chère, petite, puissante et qui tient même parfaitement dans votre poche ? Donc, dans ce projet, je vais vous montrer comment faire une console de jeu à l'aide d'un Raspberry Pi. Mais qu'est-ce qu'un Raspberry
CityCoaster - Construisez votre propre sous-verre de réalité augmentée pour votre entreprise (TfCD) : 6 étapes (avec photos)
CityCoaster - Construisez votre propre sous-verre de réalité augmentée pour votre entreprise (TfCD) : une ville sous votre tasse ! CityCoaster est un projet né en pensant à un produit pour l'aéroport de Rotterdam la Haye, qui pourrait exprimer l'identité de la ville, divertissant les clients du salon avec la réalité augmentée. Dans un environnement tel que
Comment rediffuser le WIFI en tant que votre propre réseau, DEPUIS VOTRE ORDINATEUR PORTABLE ! : 4 étapes
Comment rediffuser le WIFI en tant que votre propre réseau, DE VOTRE ORDINATEUR PORTABLE ! : Dans ce instructable, je vais vous montrer comment rediffuser le WIFI depuis votre ordinateur portable en tant que votre propre réseau protégé par mot de passe. Vous aurez besoin d'un ordinateur portable exécutant Windows 7, car le logiciel nécessite certaines des avancées de Windows 7 et utilisez un ordinateur portable plus récent b
Comment créer votre propre créature USB psychédélique : 16 étapes (avec photos)
Comment créer votre propre créature USB psychédélique : Alors vous vous êtes réveillé aujourd'hui ennuyé. Vraiment, vraiment ennuyé. Puis la journée passa, et pas grand chose ne changea. Ne vous inquiétez pas, cela nous arrive tout le temps. La plupart du temps en fait. Ensuite, vous avez vu cette créature étrange en ligne, ou peut-être vous souvenez-vous