Les deux révisions précédentesRévision précédente | |
issue186:micro-ci [2022/11/02 07:41] – auntiee | issue186:micro-ci [2022/11/03 12:03] (Version actuelle) – andre_domenech |
---|
Je sais aussi que j'avais promis il y a longtemps que nous terminerions l'application de boussole et j'ai toujours l'intention de le faire, mais tant de choses ont changé dans le monde des microcontrôleurs que j'ai senti que je devais présenter certaines des nouveautés. Et, avec un peu de chance, le prochain article de « Micro-ci micro-là » finira cela. | Je sais aussi que j'avais promis il y a longtemps que nous terminerions l'application de boussole et j'ai toujours l'intention de le faire, mais tant de choses ont changé dans le monde des microcontrôleurs que j'ai senti que je devais présenter certaines des nouveautés. Et, avec un peu de chance, le prochain article de « Micro-ci micro-là » finira cela. |
| |
Ce mois-ci, nous allons parler de la nouvelle carte Raspberry Pi Pico, la Pico-W. Vous pouvez trouver un bon nombre d'informations sur https://www.raspberrypi.com/documentation/microcontrollers/raspberry-pi-pico.html. Cette page Web couvre toute la famille RPi Pico, la carte originale, la Pico-H et la Pico-W. Nous allons ignorer la Pico-H pour l'instant, sauf pour dire que la Pico-H est à peu près la même carte que la Pico originale, mais qu'elle a une prise à trois broches avec verrouillage pour les connexions de débogage de la liaison série. Voici le brochage du Pico-W (à gauche). | Ce mois-ci, nous allons parler de la nouvelle carte Raspberry Pi Pico, la Pico-W. Vous pouvez trouver un bon nombre d'informations sur https://www.raspberrypi.com/documentation/microcontrollers/raspberry-pi-pico.html. Cette page Web couvre toute la famille RPi Pico, la carte originale, la Pico-H et la Pico-W. Nous allons ignorer la Pico-H pour l'instant, sauf pour dire qu'elle est à peu près la même carte que la Pico originale, mais qu'elle a une prise à trois broches avec verrouillage pour les connexions de débogage de la liaison série. Voici le brochage du Pico-W (à gauche). |
| |
| |
Vous pouvez voir que le brochage est à peu près le même que celui de la Pico originale ; ainsi, dans l'ensemble, vous pouvez utiliser les logiciels que vous avez déjà développés, mais vous devez obtenir la dernière version de MicroPython qui est conçue pour supporter la Pico-W. Vous pouvez l'obtenir sur le site Web ci-dessus ou sur le site MicroPython.org. Le processus de flashage de la carte est le même que pour la carte originale et je ne vous ennuierai pas avec ça. | Vous pouvez voir que le brochage est à peu près le même que celui de la Pico originale ; ainsi, dans l'ensemble, vous pouvez utiliser les logiciels que vous avez déjà développés, mais vous devez obtenir la dernière version de MicroPython qui est conçue pour supporter la Pico-W. Vous pouvez l'obtenir sur le site Web ci-dessus ou sur le site MicroPython.org. Le processus de flashage de la carte est le même que pour la carte originale et je ne vous ennuierai pas avec ça. |
| |
L'une des nouveautés du Pico-W est que le contact de la LED intégrée n'est pas connectée à un picot GPIO de la carte, mais à une broche GPIO du module sans-fil (et la version de MicroPython a été modifiée pour le gérer). Il est donc beaucoup plus facile d'y accéder dans votre code. Voici un programme de démonstration rapide qui montre comment faire. | L'une des nouveautés du Pico-W est que le contact de la LED intégrée n'est pas connecté à un picot GPIO de la carte, mais à une broche GPIO du module sans fil (et la version de MicroPython a été modifiée pour le gérer). Il est donc beaucoup plus facile d'y accéder dans votre code. Voici un programme de démonstration rapide qui montre comment faire : |
| |
import machine | import machine |
Since there are now three RPi Pico boards, how can you tell which device you are working with (other than looking at it)?** | Since there are now three RPi Pico boards, how can you tell which device you are working with (other than looking at it)?** |
| |
Comme vous pouvez le voir, c'est très simple. Nous définissons l'objet led, puis nous appelons simplement les méthodes led.on() et led.off() pour allumer et éteindre la LED. Vous pouvez l'utiliser pour fournir une indication visuelle que vous avez une connexion sans-fil. | Comme vous pouvez le voir, c'est très simple. Nous définissons l'objet led, puis nous appelons simplement les méthodes led.on() et led.off() pour allumer et éteindre la LED. Vous pouvez l'utiliser pour fournir une indication visuelle que vous avez une connexion sans fil. |
| |
Puisque le brochage de la Pico-W est à peu près le même que celui de l'originale, nous pouvons utiliser notre programme i2cscan original pour sonder le bus i2c et fournir l'adresse de tous les périphériques i2c connectés à notre Pico-W (voir page précédente, en haut à droite). | Puisque le brochage de la Pico-W est à peu près le même que celui de l'original, nous pouvons utiliser notre programme i2cscan original pour sonder le bus i2c et fournir l'adresse de tous les périphériques i2c connectés à notre Pico-W (voir page précédente, en haut à droite). |
| |
Comme je le fais habituellement, j'ai connecté la ligne sda (data) à la broche physique 8 et la ligne scl (clock) à la broche physique 9. Lorsque j'ai lancé le programme, j'ai obtenu la sortie suivante. | Comme je le fais habituellement, j'ai connecté la ligne sda (data) à la broche physique 8 et la ligne scl (clock) à la broche physique 9. Lorsque j'ai lancé le programme, j'ai obtenu la sortie suivante : |
| |
0x19 25 | 0x19 25 |
0x40 64 | 0x40 64 |
| |
L'adresse 0x19 est l'accéléromètre lsm303 et 0x1e est le magnétomètre lsm303. L'adresse 0x40 est le capteur de température/humidité SI7021. (Vous voyez, je vais finir le projet de la boussole !). | L'adresse 0x19 est l'accéléromètre lsm303 et 0x1e est le magnétomètre lsm303. L'adresse 0x40 est le capteur de température/humidité SI7021. (Vous voyez, je vais finir le projet de la boussole !) |
| |
Puisqu'il y a maintenant trois cartes RPi Pico, comment pouvez-vous savoir avec quel périphérique vous travaillez (autrement qu'en le regardant) ? | Puisqu'il y a maintenant trois cartes RPi Pico, comment pouvez-vous savoir avec quel périphérique vous travaillez (autrement qu'en le regardant) ? |
Les versions de Micropython pour les cartes Pico supportent maintenant dans sys une méthode nommée implementation (montrée en haut à droite). Bien sûr, vous devez d'abord importer le module sys. J'ai créé un programme simple qui montre comment accéder à l'information. | Les versions de Micropython pour les cartes Pico supportent maintenant dans sys une méthode nommée implementation (montrée en haut à droite). Bien sûr, vous devez d'abord importer le module sys. J'ai créé un programme simple qui montre comment accéder à l'information. |
| |
Lorsque vous exécutez le programme, voici ce qu'il retourne. | Lorsque vous exécutez le programme, voici ce qu'il retourne : |
| |
(name='micropython', version=(1, 19, 1), _machine='Raspberry Pi Pico W with RP2040', _mpy=4102) | (name='micropython', version=(1, 19, 1), _machine='Raspberry Pi Pico W with RP2040', _mpy=4102) |
Et on obtient un True. J'ai enregistré cette fonction sous le nom de WhichPico2.py. | Et on obtient un True. J'ai enregistré cette fonction sous le nom de WhichPico2.py. |
| |
Maintenant, regardons comment travailler avec la partie sans-fil du Pico-W. C'est très similaire à ce que nous avons fait avec les microcontrôleurs ESP-32 et ESP-8266. | Maintenant, regardons comment travailler avec la partie sans fil du Pico-W. C'est très similaire à ce que nous avons fait avec les microcontrôleurs ESP-32 et ESP-8266. |
| |
Au minimum, vous devez importer le réseau, l'heure et un fichier spécial nommé secret.py. | Au minimum, vous devez importer le réseau, l'heure et un fichier spécial nommé secret.py. |
PASSWORD = "" | PASSWORD = "" |
| |
De cette façon, vous pouvez garder secrets le point d'accès sans-fil et votre mot de passe et n'avoir à fournir que cet exemple de fichier à toute personne avec qui vous partagez votre code. Veillez à modifier les deux valeurs sur votre Pico-W avant d'essayer d'exécuter le programme. | De cette façon, vous pouvez garder secrets le point d'accès sans fil et votre mot de passe et n'avoir à fournir que cet exemple de fichier à toute personne avec qui vous partagez votre code. Veillez à modifier les deux valeurs sur votre Pico-W avant d'essayer d'exécuter le programme. |
| |
Une fois la section des importations terminée, il ne vous reste plus qu'à ajouter le code suivant (page précédente, au milieu à droite). | Une fois la section des importations terminée, il ne vous reste plus qu'à ajouter le code suivant (page précédente, au milieu à droite). |
Nous créons l'objet wlan et mettons la méthode active à True afin de nous connecter. Ensuite, nous lisons les valeurs SSID et PASSWORD du fichier secrets.py et les passons à la méthode connect. Nous devons ensuite attendre jusqu'à ce que nous obtenions une valeur True de la méthode isconnected et un statut supérieur à 0. Cela peut parfois prendre quelques secondes, alors soyez patient. Une fois connectés, nous imprimons l'état et les informations de ifconfig, et nous pouvons poursuivre ce que nous avons à faire. | Nous créons l'objet wlan et mettons la méthode active à True afin de nous connecter. Ensuite, nous lisons les valeurs SSID et PASSWORD du fichier secrets.py et les passons à la méthode connect. Nous devons ensuite attendre jusqu'à ce que nous obtenions une valeur True de la méthode isconnected et un statut supérieur à 0. Cela peut parfois prendre quelques secondes, alors soyez patient. Une fois connectés, nous imprimons l'état et les informations de ifconfig, et nous pouvons poursuivre ce que nous avons à faire. |
| |
Voici le résultat du programme | Voici le résultat du programme : |
| |
3 | 3 |
Check that the board is a Pico-W with wireless support (previous page, top right). ** | Check that the board is a Pico-W with wireless support (previous page, top right). ** |
| |
La valeur d'état 3 signifie que nous sommes correctement connectés au réseau sans-fil. Les informations d'ifconfig sont (de gauche à droite) l'adresse IP, le masque de réseau, la passerelle, le DNS. Voici toutes les valeurs possibles pour la méthode status. | La valeur d'état 3 signifie que nous sommes correctement connectés au réseau sans fil. Les informations d'ifconfig sont (de gauche à droite) l'adresse IP, le masque de réseau, la passerelle, le DNS. Voici toutes les valeurs possibles pour la méthode status : |
| |
<nowiki> // Valeur retournée par cyw43_wifi_link_status </nowiki> | <nowiki> // Valeur retournée par cyw43_wifi_link_status </nowiki> |
Dans le cas où la carte n'est pas une Pico-W, indiquez que nous ne pouvons pas gérer le sans-fil sur cette carte et terminez le programme (en haut à droite). | Dans le cas où la carte n'est pas une Pico-W, indiquez que nous ne pouvons pas gérer le sans-fil sur cette carte et terminez le programme (en haut à droite). |
| |
Voilà donc en quelques mots comment utiliser le réseau de la RPi Pico-W. Le site que j'ai mentionné précédemment contient un très bon PDF sur l'utilisation de la partie sans-fil de la Pico-W à https://datasheets.raspberrypi.com/picow/connecting-to-the-internet-with-pico-w.pdf, ainsi que d'autres informations importantes sur la carte. | Voilà donc en quelques mots comment utiliser le réseau de la RPi Pico-W. Le site que j'ai mentionné précédemment contient un très bon PDF sur l'utilisation de la partie sans fil de la Pico-W à https://datasheets.raspberrypi.com/picow/connecting-to-the-internet-with-pico-w.pdf, ainsi que d'autres informations importantes sur la carte. |
| |
J'ai mis en place un dépôt github pour le code que nous avons utilisé ce mois-ci. Vous pouvez le trouver à https://github.com/gregwa1953/FCM-185_MicroThisMicroThat. | J'ai mis en place un dépôt github pour le code que nous avons utilisé ce mois-ci. Vous pouvez le trouver à https://github.com/gregwa1953/FCM-185_MicroThisMicroThat. |
//p 35, en haut :// | //p 35, en haut :// |
**If the board actually is a Pico-W, we can try to connect to the wireless network:** | **If the board actually is a Pico-W, we can try to connect to the wireless network:** |
Si la carte est vraiment une Pico-W, nous pouvons essayer de nous connecter au résau sans-fil : | Si la carte est vraiment une Pico-W, nous pouvons essayer de nous connecter au résau sans fil : |
| |
//p 53, en bas :// | //p 53, en bas :// |