Pycom est une jeune société qui produit des modules intelligents compatibles avec de nombreuses topologies de réseau. Partiellement financée par quelques campagnes sur Kickstarter, elle est maintenant en pleine activité. Le but de ces produits est de permettre un accès facile à l'Internet des objets (Internet of Things ou IoT). Pour atteindre cet objectif, autant de technologies de réseau sans fil que possible ont été logées dans quelques petits modules programmables en MicroPython.

Cartes

Tous les modules ont un brochage compatible et sont basés sur un ESP32 powerhouse d'Espressif Systems (Shanghaï). Actuellement, trois modules sont livrables : Sont annoncés :
  • GPy – Wi-Fi, Bluetooth, LTE CAT M1/NB1
  • FiPy – Wi-Fi, Bluetooth, LoRa, Sigfox et LTE-M double (CAT M1 ET NBIoT).

Cartes d'extension pour WiPy, LoPy, SiPy, GPy et FiPy

Dans ce qui suit, j'ai utilisé les modules sur une carte d'extension qui fournit un port série USB. Vous pouvez vous passer de carte d'extension si vous avez un convertisseur série-USB.

Mise à jour du microprogramme

Assurez-vous de toujours disposer du microprogramme le plus récent. À cet effet, utilisez l'outil Pycom Firmware Update. Pour mettre le microprogramme à jour, il faut court-circuiter la broche G23 à la masse (GND) et réinitialiser la carte.

Ouvrez un terminal série (par ex Tera Term, 115200n81) et actionnez le petit bouton de réinitialisation de la carte. Une liste de messages sybillins défile jusqu'à l'invite MicroPython ('>>>'). Entrez alors les deux lignes ci-dessous pour vérifier que vous avez bien le dernier microprogramme :
import os
os.uname().release
Dans mon cas, la réponse fut '1.6.13.b1' ce qui ressemblait au numéro de version apparu pendant la mise à jour, mais j'avais omis de le noter.

Amusez-vous dans le REPL avec WiPy

À partir de là, il est possible de saisir des commandes Python en mode REPL (acronyme anglais de : Read–Evaluate–Print Loop, c-à-d. boucle lire-évaluer-imprimer) sur le terminal et de jouer un peu avec la LED RVB WS2812 embarquée :
import time
import pycom

pycom.heartbeat(False)

r = 0
g = 0
b = 0
pycom.rgbled(0)

while True:
	if r<255:
		r = r + 1
	elif g<255:
		g = g + 1
	elif b<255:
		b = b + 1
	else:
		break
	pycom.rgbled((r<<16)+(g<<8)+b)
	time.sleep(0.01)
pycom.rgbled(0)

Accès au système des WiPy/LoPy/SiPy/GPy/FiPy

C'est bien, mais le but du jeu, c'est bien sûr d'exécuter de véritables programmes sans recourir au REPL. Pour cela, il faut accéder au système de fichiers de façon à pouvoir modifier les fichiers boot.py et main.py (voir aussi notre banc d'essai MicroPython et pyboard) et ajouter vos propres fichiers. Malheureusement, c'est un peu compliqué car la carte n'apparaît que comme port série et non pas comme disque externe.

À ce jour, il y a deux manières d'accéder au système de fichiers :
  1. Télécharger et installer l'éditeur de texte Atom (https://atom.io/) et lui ajouter le plungin Pymakr.
  2. Utiliser un client FTP.
À cet égard, le site Pycom n'est pas très clair (Pycom a promis d'améliorer ce point dans le temps où je rédigeais cet article). Avant de pouvoir accéder au système de fichiers, il faut d'abord établir une connexion Wi-Fi avec la carte. La carte déclare s'appeler wipy-wlan-xxxx ou sipy-wlan-xxxx ou autre, xxxx étant quatre chiffres hexadécimaux. Le mot de passe pour tous les réseaux est www.pycom.io. Sur Windows 10 j'ai dû décocher Connecter automatiquement avant de pouvoir établir la connexion. Une fois connecté, vous accédez en FTP au système de fichiers de la carte à l'adresse IP 192.168.4.1 avec votre client FTP favori (j'utilise Total Commander, de loin le meilleur outil sous Windows).



Si vous souhaitez essayer Atom, vous aurez peut-être un problème car si (comme moi) vous ne disposez sur votre PC que d’une connexion réseau, vous n'avez alors plus d'accès à l'Internet. Donc déconnectez-vous de la carte wi/si/lo py, connectez-vous à Internet et téléchargez puis installez Atom. Lorsque c'est fait, cliquez Install a Package (page Welcome Guide). Tapez Pymakr dans la boîte de recherche, appuyez sur Entrée et attendez jusqu'à ce que la liste apparaisse. Faites défiler la liste jusqu'à Pymakr et cliquez le bouton Install. Quand la console Pycom s'ouvre, et que le message Connection error: Error: Login timed out apparaît, le plugin est prêt. Reconnectez-vous au réseau Wi-Fi de la carte pour que l'invite (Micro)Python apparaisse sur la console d'Atom. Il est possible que vous ayez besoin de fermer Atom et de le redémarrer, voire d'attendre quelques minutes (ce fut mon cas) avant que cela ne fonctionne.