Hack-wipy-introduction
Micro Python et WiPy ?
Micro Python est une version rapide, optimisée et allégée du langage de programmation Python 3 (Python.org) pour système embarqué. Micro Python fût initialement développé pour la carte PyBoard de Damien Goerges. Aujourd'hui, Micro Python fonctionne sur de nombreuses plateformes comme le "WiPy".
WiPy est une carte Micro Python est une petite carte électronique qui exécute Micro Python en bare metal et vous offre un système d'exploitation Python bas niveau permettant de contrôler toute sorte de projets électroniques. WiPy est une carte Micro Python capable de se connecter sur un Reseau WiFi.
A propos de Micro Python
Micro Python est un projet logiciel open-source (sous licence MIT) que vous pouvez utiliser dans vos propres projets.
Crédit: MicroPython micropython.org
Python est une langage de scripting vraiment très facile à apprendre, très expressif, vraiment très puissant et disposant d'une gigantesque communauté. En fonctionnant sur un microcontroleur, Micro Python permet de faire clignoter des LEDs sans aucun effort, lire des tensions, établir des communications sans fils (avec un module complémentaire) et devenir ce cerveau que votre robot attend désespérément. Il y a tant d'autres d'opportunité accessible à WiPy et MicroPyhton.... c'est un choix parfait pour votre prochain projet!
Lors de la conception d'un projet électronique, tel qu'un détecteur d'intrusion or a robot intelligent, le microcontroleur est utilisé en tant que "cerveau" et prend toutes les décisions d'action et de vérifications. Un microcontroleur a typiquement besoin de faire deux choses: (1) il doit être capable d'agir au niveau matériel (dit "low level") pour commander des lumières, écran LCD, moteurs, être très réactif, etc, (2) ainsi que des opération de haut niveau (dit "high level") comme comme lire et écrire des données, images, communiquer sans fil ou disposer d'une "intelligence artificiel".
Micro Python à ceci d'extraordinaire qu'il permet le contrôle low-level et high-level.
La carte WiPy en détails
Wypi est une carte Internet des Objets programmable en python et étant peu encombrante, basse énergie, abordable. La carte est programmable en MicroPython (support de la syntaxe Python 3), une version de python spécialement optimisé pour accroître les performances et diminuer l'empreinte mémoire. MicroPython est capable de fonctionner sur des microcontrôleur ayant atteint une certaine puissance. Pas besoin de compilateur sur un PC, avec MicroPython, c'est votre microcontrôleur qui interprète directement votre fichier script. Parce qu'il utilise Python, il fonctionne comme vous en avez l'habitude sur votre ordinateur, la courbe d'apprentissage est minimale... si l'on peut considérer qu'il y en a une! Le module est complètement OpenSource (et Open Hardware pour le matériel).
Avant de commencer votre session de hacking, vous aurez besoin d'une source d'alimentation (entre 3.6 et 5.5v) et d'une connexion WiFi. Vous pouvez utiliser la carte d'extension WiPy pour prendre plus facilement en charge les besoins d'alimentation.
WiPy est autonome et n'a pas besoin de service Cloud, Pas besoin de compiler et accumuler le code de bibliothèques pour exécuter vos programmes, la plateforme interprète et exécute directement vos scripts écrit en Python.
Ce que WiPy vous offre:
- Vous pouvez utiliser votre éditeur de code favori, il suffit d'envoyer votre fichier python sur la carte.
- Vous pouvez facilement déboger votre code en utilisant le shell interactif de la carte (REPL) accessible via le port série ou via Telnet.
- Téléversez vos scripts (et autres fichiers) sur WiPy via le serveur FTP
- Vous pouvez réinitialiser votre WiPy localement (via le bouton Reset) ou à distance à l'aide de Telnet.
WiPy fonctionne grâce à un MCU Cortex-M4 incluant le support WiFi, c'est le module CC3200 (chip-level WiFi certification). Le module CC3200 supporte SSL et TLS de quoi permettre au WiPy de se connecter de façon fiable et sécurisée sur Internet (ou une infrastructure Cloud).
WiPy dispose d'un mode basse énergie permettant de maintenir une connexion WiFi active en consommant 850µA. Le WiPy peut revenir en mode "actif" lorsqu'il réceptionne des données ou qu'il reçoit une connexion depuis un client. Cela signifie qu'il est possible de réaliser un "serveur" très basse énergie.
Un périphérique WiPy alimenté avec un accu peut revenir du mode "veille" en 5 ms, envoyer une série de paquet sur le Net, puis retourner en mode veille immédiatement, le tout en une seconde. Un projet fortement axé sur l'optimisation et la régulation des communications peut fonctionner pendant des longs mois (voire année) avec un accu.
Détails techniques
- Taille: 25mm x 45mm
- MCU: Cortex-M4 @ 80MHz (TI CC3200)
- WiFi: 802.11b/g/n 16Mbps (AP en point d'accès, STA en client/station et WiFi-Direct)
- Sécurité: support SSL/TLS, WPA
- RAM: 256 KBytes
- Flash: 2 MBytes
- Jusqu'à 25 entrées/sorties (25)
- Interfaces:
- 2 x UART (port série),
- Bus SPI,
- Bus I2C,
- Bus I2S
- Carte SD (support pour interface matériel, le connecteur n'es pas présent)
- Canaux analogiques: 3× convertisseur Analogique/Digital - résolution 12 bits
- Timers: 4× timers à résolution 16 bit (avec PWM et submit capture)
- RTC: Une horloge temps réel
- Moteurs d'encryption et hash: SHA, MD5, DES, AES
- DMA: Direct Access Memory
- Sortie 3.3V: Capable de délivrer jusqu'à 250mA
- Antenne intégrée
- Connecteur µFl pour connecter une antenne externe
- A l'aide d'un convertisseur µFL vers SMA + adaptateur SMA vers RP-SMA et d'une antenne WiFi SMA
- WiPy utilise un module CC3200 comme coeur
Prendre soin de votre WiPy
Prendre soin de votre WiPy et carte d'extension WiPy.
Il est important de manipuler la carte WiPy et sa carte d'extension avec soin car elles ne disposent pas de boîtier:
- Soyez doux lorsque vous branchez et débranchez la prise USB de votre WiPy. Même si le connecteur est soudé (et relativement solide), il vous sera extrêmement difficile de le remplacer si vous le cassez.
- Les décharges électrostatiques peuvent détruire les composants du WiPy. Si votre environnement est nourri d'électricité statique (ex: par temps sec ou très froids) alors prenez des mesures de sécurité complémentaires pour ne pas envoyez de décharge électrostatique sur le WiPy. Si votre WiPy à été livré dans un sac ESD (protection électrostatique) alors ce sac représente la meilleure option pour stocker et transporter votre WiPy (il y sera protégé des décharges électrostatiques).
Tout devrait bien se passer aussi longtemps que vous prenez soin du matériel. Il est presqu'impossible de détruire le WiPy de façon logiciel, vous pouvez donc écrire et tester toutes sortes de code. Sachez qu'il est possible de réinitialiser le système de fichier si ce dernier venait à être corrompu (voyez ci-dessous).
Dans le pire des cas, vous pourriez avoir besoin de faire un safe boot (démarrage sans échec) tel qu'expliquer en détails ici.
Brancher la carte d'extension et mise sous tension
La carte d'extension peut alimenter le WiPy par l'intermédiaire de la prise USB. Le WiPy est équipé d'un marquage auto-collant qui identifie toutes les broches. Lorsque le WiPy est branché sur la carte d'extension, l'antenne du WiPy doit se trouver au dessus du connecteur de la carte SD (de la carte d'extension).
Guide du la carte d'extension
Il y a un document détaillant le matériel de la carte d'extension, vous trouverez le document pdf ici (anglais).
Alimentation externe
Le WiPy peut être alimenté à l'aide d'une source de tension externe (ou à l'aide de pile).
Faites bien attention à connecter la source positive sur VIN et la masse sur GND. Il n'y a pas de protection contre l'inversion de polarité sur le WiPy, vous devez donc être très prudent lorsque vous connectez quelque-chose sur VIN. |
- Lorsqu'il est alimenté via VIN: La tension d'alimentation doit être entre 3.6V et5.5V.
- Lorsqu'il est alimenté via 3V3: La tension d'alimentation doit être très exactement à 3V3, dans bruit. L'alimentation doit être capable d'offrir un courant d'au moins 300mA
Mise-à-jour du Firmware
Pour plus de détail concernant la mise-à-jour via la connexion WiFi (Over The Air), vous pouvez consulter notre section mise-à-jour OTA (Over The Air).
Tutoriel WiPy tutorials and examples & general information about WiPy sous copyright de Damien George et contributeurs en ce qui concerne MicroPython et/ou PyCom en ce qui concerne les informations relatives a WiPy et LoPy.
Tutoriel traduit par Meurisse D. pour MCHobby.be
Traduit avec l'autorisation de micropython.org - Translated with the authorisation of micropython.org également avec l'accord de Daniel Compara (créateur de WiPy).
Toute référence, mention ou extrait de cette traduction doit être explicitement accompagné du texte suivant : « Traduction par MCHobby (www.MCHobby.be) - Vente de kit et composants » avec un lien vers la source (donc cette page) et ce quelque soit le média utilisé.
L'utilisation commercial de la traduction (texte) et/ou réalisation, même partielle, pourrait être soumis à redevance. Dans tous les cas de figures, vous devez également obtenir l'accord du(des) détenteur initial des droits. Celui de MC Hobby s'arrêtant au travail de traduction proprement dit.