Table des matières:
- Étape 1: Pièces
- Étape 2: Assemblage du matériel
- Étape 3: Câblage
- Étape 4: Installation de MicroPython
- Étape 5: Configurer le réseau
- Étape 6: Installer le programme principal
- Étape 7: Améliorations futures
Vidéo: MicroPython IoT Rover basé sur WEMOS D1 (ESP-8266EX): 7 étapes (avec photos)
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:08
** Mise à jour: j'ai posté une nouvelle vidéo pour la v2 avec une lance **
J'anime des ateliers de robotique pour les jeunes enfants et je suis toujours à la recherche de plateformes économiques pour construire des projets intrigants. Bien que les clones Arduino soient bon marché, ils utilisent le langage C/C++ que les enfants ne connaissent pas. De plus, il n'a pas de WiFi intégré, ce qui est indispensable pour les projets IoT. D'un autre côté, bien que Raspberry Pi dispose du WIFI et que les enfants puissent le programmer à l'aide de Python, il s'agit toujours d'une plate-forme coûteuse pour contrôler simplement quelques ports GPIO pour allumer et éteindre les appareils. J'ai besoin de quelque chose entre les deux qui possède à la fois des capacités WIFI et Python. Il semble que j'ai trouvé ma réponse dans MicroPython sur une carte bon marché basée sur ESP8266.
Qu'est-ce que le micropython ?
Selon son site Web, MicroPython est une implémentation allégée et efficace des langages de programmation Python 3 qui comprend un petit sous-ensemble de la bibliothèque standard Python et il est optimisé pour fonctionner sur des microcontrôleurs et dans un environnement contraint (comme ESP8266). Il s'agit essentiellement d'un IDE Python sur puce. L'un des principaux avantages est que vous pouvez créer du code et le modifier à la volée à l'aide d'un client de navigateur Web appelé Webrepl. (Essayez de le faire dans Arduino.) Vous pouvez également voir les données des capteurs en temps réel sur Webrepl au lieu de vous fier à l'enregistrement des données ou à un écran LED dans Arduino.
Qu'est-ce que l'ESP8266 ?
En bref, considérez-le comme un Arduino avec une capacité réseau intégrée. Vous pouvez utiliser l'IDE Arduino pour programmer les cartes ESP8266 en C/C++ ou vous pouvez le flasher avec NodeMCU ou MicroPython. Dans ce projet, je vais flasher MicroPython sur une carte ESP8266.
J'ai décidé d'acheter un WEMOS D1 basé sur ESP8266-12EX pour ce projet simple où je vais conduire une voiture 2 roues motrices à l'aide d'un navigateur Web. Il existe d'autres cartes conçues pour MicroPython, mais je voulais quelque chose de bon marché que je pourrais jeter s'il ne répondait pas à mes critères. Comme prévu, il a répondu à toutes mes exigences et j'intégrerai très probablement WeMos et Micropython dans de futurs projets.
Étape 1: Pièces
- Wemos D1 ou toute carte basée sur ESP8266
- Bouclier moteur (j'utilise un L293D bon marché d'AliExpress)
- Supports de piles pour 4 piles AA et 9V (4 piles AA sont pour les moteurs et 9V pour la carte Wemos)
- Châssis de voiture 2 roues motrices
- Câbles Dupont
Peut avoir besoin d'un fer à souder, d'un tournevis et d'un pistolet à colle pour tout assembler.
Étape 2: Assemblage du matériel
Tout d'abord, assemblez le châssis selon les instructions.
Ensuite, collez à chaud les autres composants comme indiqué.
Les fils du moteur doivent être soudés aux bornes du moteur et utiliser de la colle chaude pour renforcer les joints des bornes.
Apposé un petit interrupteur sur le support de batterie 4AA. Cela mettra sous/hors tension le blindage du moteur.
Étape 3: Câblage
Suivez mon schéma de câblage comme indiqué.
Wemos à Motor Shield:
D1 IN2
D2 IN1 D3 IN4 **sauter D4 D5 IN3 GND -> GND
Blindage du moteur au moteur/à l'alimentation:
Une borne -> Moteur gauche
Borne B -> Moteur droit VCC ->Batterie (+) GND -> Batterie (-)
Étape 4: Installation de MicroPython
Premièrement, Wemos a une puce série/USB basée sur CH304G. C'est la même puce que l'on trouve dans les clones Arduino bon marché et vous devez installer un pilote approprié pour Mac ou PC. Suivez les instructions sur ce site pour installer le pilote.
Connectez Wemos à votre ordinateur et confirmez que votre ordinateur peut détecter Wemos. Sur Mac, exécutez la commande suivante et vous verrez un périphérique appelé /dev/tty.wchusbserial640.
$ ls -lt /dev/tty* | diriger
crw-rw-rw- 1 roue racine 17, 4 mars 2 23:31 /dev/tty.wchusbserial640
Si vous êtes sur PC, vous pouvez utiliser ce Instructable comme référence.
Ensuite, vous devrez configurer Python 2 ou 3 sur votre ordinateur car l'outil flash, esptool.py, est basé sur Python. Bien que le guide MicroPython puisse indiquer que l'outil ne fonctionne qu'avec Python 2.7, j'ai pu l'exécuter dans Python 3 sans aucun problème. Téléchargez la dernière version de Python sur https://www.python.org et suivez les instructions d'installation pour votre PC ou Mac.
Enfin, vous devrez installer MicroPython sur Wemos. Le site MicroPython propose un excellent tutoriel sur la configuration de MicroPython sur ESP8266. Suivez simplement les instructions d'installation dans Premiers pas avec MicroPython sur l'ESP8266.
Ci-dessous les commandes que j'ai utilisées:
$ esptool.py --port /dev/tty.wchusbserial640 effacer_flash
esptool.py v1.3 Connexion…. Exécution du talon de clignotant Cesanta… Effacement du flash (cela peut prendre un certain temps)… L'effacement a pris 10,5 secondes
$ esptool.py --port /dev/tty.wchusbserial640 write_flash -fm dio -fs 32m -ff 40m 0x00000 esp8266-20170108-v1.8.7.bin
esptool.py v1.3 Connexion…. Exécution du stub flasher Cesanta… Paramètres flash réglés sur 0x0240 A écrit 589824 octets à 0x0 en 50,8 secondes (92,8 kbit/s)… Laissant…
MicroPython est maintenant installé sur votre carte !
Étape 5: Configurer le réseau
Bien que MicroPython soit maintenant installé sur votre Wemos, il n'est pas encore connecté à votre réseau. Vous devrez d'abord activer le réseau. Sur Mac, exécutez la commande SCREEN pour démarrer la session de terminal série vers Wemos.
$ screen /dev/tty.wchusbserial640 115200
Lorsque vous voyez un écran vide, appuyez sur RETOUR pour voir une invite:
>>
(Remarque: pour quitter, tapez CTRL-A CTRL-)
Maintenant, activons l'accès au client Web. Tapez "import webrepl_setup" pour exécuter le programme d'installation. Entrez E pour activer WebREPL, puis définissez le mot de passe. Redémarrez pour activer les modifications.
>> importer webrepl_setup
Statut de démarrage automatique du démon WebREPL: désactivé Souhaitez-vous (E) activer ou (D) désactiver son exécution au démarrage ? (Ligne vide pour quitter) > E Pour activer WebREPL, vous devez lui définir un mot de passe Nouveau mot de passe: xxxxx Confirmer le mot de passe: xxxxx Les modifications seront activées après le redémarrage Souhaitez-vous redémarrer maintenant ? (o/n) oui
Enfin, téléchargez le client Webrepl sur votre machine. Ceci est facultatif, mais le client est livré avec d'autres outils utiles que vous voudrez peut-être utiliser plus tard. Par exemple, webrepl_cli.py est une commande pour copier des fichiers vers Wemos dans une syntaxe de type scp. Utilisez git pour télécharger le client. (Installez l'outil git si vous ne l'avez pas encore.)
git clone
Ouvrez votre navigateur Web et dans le champ URL, entrez l'emplacement de votre fichier client webrepl téléchargé, par exemple:
fichier:///Utilisateurs/xxxxx/wemos/webrepl/webrepl.html
Cela devrait afficher le client webrepl sur votre navigateur. Avant de pouvoir vous y connecter, vous devez d'abord vous connecter à son point d'accès WiFi. Si vous regardez le WIFI disponible pour votre ordinateur, vous verrez qu'un réseau commence par MicroPython-xxxx. Connectez-vous à ce réseau. (Avertissement: une fois connecté à ce réseau, vous perdrez votre accès à Internet.)
Revenez à votre client webrepl et cliquez sur Connecter. Il devrait demander un mot de passe. Entrez votre mot de passe Wemos et vous devriez vous connecter.
Bienvenue sur MicroPython !
Mot de passe: WebREPL connecté >>>
Votre Wemos fonctionne toujours en mode AccessPoint. Bien que ce soit OK, je préfère qu'il fonctionne en mode Station où il se connecte à mon WIFI domestique afin que mon ordinateur puisse y accéder via le WIFI domestique et ait toujours un accès Internet. Pour ce faire, vous devrez créer un fichier appelé boot.py avec la configuration réseau et le télécharger sur Wemos.
Voici un exemple de boot.py. Changez le ssid et le mot de passe de votre réseau WIFI domestique. De plus, je veux lui donner une adresse IP statique de 192.168.0.32. Remplacez-la par l'adresse IP disponible de votre WIFI domestique.
boot.py (vous pouvez le télécharger ci-dessous)
importer gc
import webrepl def do_connect(): import network sta_if = network. WLAN(network. STA_IF) sinon sta_if.isconnected(): print('connexion au réseau…') sta_if.active(True) sta_if.ifconfig(('192.168. 0.32', '255.255.255.0', '192.168.0.1', '192.168.0.1')) sta_if.connect('', '') sans sta_if.isconnected(): passer print('network config:', sta_if.ifconfig()) do_connect() webrepl.start() gc.collect()
Utilisez le formulaire "Envoyer un fichier" du client Webrepl pour envoyer votre fichier boot.py à votre Wemos. Appuyez sur le bouton de réinitialisation pour redémarrer. Si vous êtes toujours connecté via USB à l'aide de la commande SCREEN, vous verrez:
connexion au réseau… configuration réseau: ('192.168.0.32', '255.255.255.0', '192.168.0.1', '192.168.0.1') Le démon WebREPL a démarré sur ws://192.168.4.1:8266 Le démon WebREPL a démarré sur ws://192.168.0.32:8266 Webrepl démarré en mode normal n'a pas pu ouvrir le fichier 'main.py' pour lire MicroPython v1.8.7-7-gb5a1a20a3 le 2017-01-09; Module ESP avec ESP8266 Tapez "help()" pour plus d'informations. >>>
Cela valide que votre Wemos est connecté à votre Wi-Fi domestique à l'aide de l'adresse IP 192.168.0.32.
Vous pouvez cingler cette adresse IP pour valider.
$ ping 192.168.0.32
PING 192.168.0.32 (192.168.0.32): 56 octets de données
64 octets de 192.168.0.32: icmp_seq=0 ttl=255 temps=9.334 ms 64 octets de 192.168.0.32: icmp_seq=1 ttl=255 temps=11.071 ms..
Étape 6: Installer le programme principal
Enfin, vous devrez installer le programme principal qui continuera à s'exécuter sur votre Wemos.
Revenez à votre navigateur Web et exécutez le programme client webrepl. Remplacez l'adresse IP par l'adresse IP de votre Wemos. Dans mon cas, c'est maintenant 192.168.0.32. Entrez votre mot de passe Wemos et vous devriez maintenant être connecté à Wemos.
Téléchargeons le programme main.py ci-joint. Téléchargez le fichier joint sur votre ordinateur. Cliquez sur Choisir un fichier pour choisir le fichier main.py téléchargé et cliquez sur Envoyé à l'appareil.
Vous devrez appuyer sur le bouton Rest pour charger le programme main.py. Après avoir appuyé sur le bouton Réinitialiser, vous verrez:
connexion au réseau…
configuration réseau: ('192.168.0.32', '255.255.255.0', '192.168.0.1', '192.168.0.1')
Le démon WebREPL a démarré sur ws://192.168.4.1:8266 Le démon WebREPL a démarré sur ws://192.168.0.32:8266 Webrepl démarré en mode normal Écoute, connectez votre navigateur à …
Cela signifie que votre programme main.py est activé et listé sur le port 80.
Pour tester, ouvrez votre navigateur Web et entrez
Cela devrait afficher l'écran de contrôle de la voiture comme indiqué dans la vidéo. Si vos fils sont correctement connectés, les boutons de commande enverront les signaux appropriés à vos ports GPIO pour déplacer la voiture.
Étape 7: Améliorations futures
Les tâches suivantes sont sur ma liste v2:
- Utilisez PWM pour contrôler la vitesse du moteur
- Améliorer l'interface Web. Utilisez peut-être un framework REST. Je ne pense pas que la bibliothèque aREST soit disponible sur MicroPython pour le moment, je devra donc peut-être la pirater.
Merci d'avoir lu ce Instructable. Suivez-moi sur Facebook, Youtube et Instructables pour plus de projets à l'avenir.
Conseillé:
Générateur de musique basé sur la météo (Générateur Midi basé sur ESP8266): 4 étapes (avec images)
Générateur de musique basé sur la météo (Générateur Midi basé sur ESP8266): Bonjour, aujourd'hui, je vais vous expliquer comment créer votre propre petit générateur de musique basé sur la météo. Il est basé sur un ESP8266, qui ressemble un peu à un Arduino, et il réagit à la température, à la pluie et l'intensité lumineuse. Ne vous attendez pas à ce qu'il fasse des chansons entières ou un programme d'accords
Moniteur météorologique M5Stack M5stick C basé sur ESP32 avec DHT11 - Surveiller la température, l'humidité et l'indice de chaleur sur le M5stick-C avec DHT11 : 6 étapes
Moniteur météorologique M5Stack M5stick C basé sur ESP32 avec DHT11 | Surveiller l'indice d'humidité et de chaleur de la température sur M5stick-C avec DHT11 : Salut les gars, dans ces instructables, nous apprendrons comment interfacer le capteur de température DHT11 avec m5stick-C (une carte de développement par m5stack) et l'afficher sur l'écran de m5stick-C. Donc, dans ce tutoriel, nous allons lire la température, l'humidité & chauffer je
Premiers pas avec Esp 8266 Esp-01 avec Arduino IDE - Installation de cartes Esp dans Arduino Ide et programmation Esp: 4 étapes
Premiers pas avec Esp 8266 Esp-01 avec Arduino IDE | Installation de cartes Esp dans Arduino Ide et programmation Esp: Dans ces instructables, nous allons apprendre comment installer des cartes esp8266 dans Arduino IDE et comment programmer esp-01 et y télécharger du code. Puisque les cartes esp sont si populaires, j'ai donc pensé à redresser un instructablesfor cela et la plupart des gens sont confrontés à un problème
Comment contrôler le commutateur intelligent de base Sonoff basé sur ESP8266 avec un smartphone : 4 étapes (avec photos)
Comment contrôler le commutateur intelligent de base Sonoff basé sur ESP8266 avec un smartphone : Sonoff est une gamme d'appareils pour Smart Home développée par ITEAD. L'un des appareils les plus flexibles et les moins chers de cette gamme est le Sonoff Basic. Il s'agit d'un commutateur compatible Wi-Fi basé sur une excellente puce, ESP8266. Cet article décrit comment configurer le Cl
Comment flasher le micrologiciel MicroPython sur un commutateur intelligent Sonoff basé sur ESP8266 : 3 étapes (avec images)
Comment flasher le micrologiciel MicroPython sur un commutateur intelligent Sonoff basé sur ESP8266: What's Sonoff? Sonoff est une gamme d'appareils pour Smart Home développée par ITEAD. L'un des appareils les plus flexibles et les moins chers de cette gamme est le Sonoff Basic et le Sonoff Dual. Ce sont des commutateurs compatibles Wi-Fi basés sur une excellente puce, ESP8266. Tandis que