Pycom is een beginnend bedrijf dat kleine modules maakt die verschillende netwerktopologieën ondersteunen. Ze zijn deels gefinancierd uit een paar Kickstarter-campagnes en komen nu op gang. Het doel van hun producten is gemakkelijke toegang tot het Internet of Things (IoT) mogelijk te maken. Om dat te bereiken hebben ze zoveel mogelijk draadloze netwerktechnologie in een paar kleine modules gepropt en die programmeerbaar gemaakt met MicroPython.

Boards

Alle modules zijn pen-compatibel en zijn gebaseerd op de ESP 32 van Espressif Systems uit Sjanghai. Er zijn op dit moment drie modules:
  • WiPy – WiFi, Bluetooth
  • SiPy – Sigfox, WiFi, Bluetooth
  • LoPy – LoRa, WiFi, Bluetooth
Aangekondigd zijn:
  • GPy – WiFi, Bluetooth, LTE CAT M1/NB1
  • FiPy – WiFi, Bluetooth, LoRa, Sigfox en dual LTE-M ( CAT M1 en NBIoT).

Uitbreidingskaarten voor WiPy, LoPy, SiPy, GPy & FiPy

Ik gebruik de modules hier op een uitbreidingskaart met een USB/seriële poort. U kunt zonder uitbreidingskaart als u een serieel-naar-USB-converter hebt.

Update de firmware

Let er op dat u de meest recente firmware gebruikt. Gebruik daarvoor het Pycom Firmware Update-tool. Verbind pen G23 met GND en reset de kaart om in firmware update-modus te komen.

Open een seriële terminal (Tera Term bijvoorbeeld, 115200n81) en druk op het minuscule resetknopje op de kaart. Er verschijnt dan een lijst van cryptische meldingen, die eindigt met een MicroPython-prompt (‘>>>‘). Voer achter de prompt de volgende twee commando’s in om te zien of u de nieuwste firmware hebt:
import os
os.uname().release
Ik kreeg als resultaat ‘1.6.13.b1’. Dat leek sterk op het versienummer dat ik had gezien tijdens het update-proces maar vergeten was op te schrijven.

Spelen met WiPy in de REPL

Nu kunnen we Python commando’s invoeren in de terminal, de REPL en een beetje spelen met de WS2812 RGB LED op de kaart:
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)

Toegang tot het WiPy/LoPy/SiPy/GPy/FiPy-systeem

Dat is leuk, maar het is natuurlijk de bedoeling om echte programma’s te draaien, die de REPL niet nodig hebben. Om dat te kunnen doen, hebt u toegang tot het bestandssysteem nodig om de files boot.py en main.py aan te passen (zie ook onze pyboard & MicroPython-review) en uw eigen files toe te voegen. Dat is helaas nogal ingewikkeld, omdat de kaart alleen wordt gezien als een seriële poort en niet als een externe schijf.

Er zijn op dit moment twee manieren om toegang te krijgen tot het bestandssysteem:
  1. Download en installeer de Atom teksteditor (https://atom.io/) en voeg de Pymakr-plugin eraan toe
  2. Gebruik een FTP-client
De Pycom website is hier niet erg helder over (op het moment dat we dit schrijven, heeft Pycom beloofd dit te gaan verbeteren), maar voordat u toegang tot het bestandssysteem van een kaart kunt krijgen, moet u er eerst een WiFi-verbinding mee maken. De kaart maakt zich zichzelf bekend als ‘wipy-wlan-xxxx’ of ‘sipy-wlan-xxxx’ of iets dergelijks, waarbij op de plaats van de ‘xxxx’ vier hexadecimale digits staan. Het wachtwoord voor al deze netwerken is ‘www.pycom.io’. Op Windows 10 moest ik het vinkje ‘Connect automatically’ verwijderen voordat ik verbinding kon maken met de kaart. Als u eenmaal verbinding hebt, kunt u met FTP het bestandssysteem van de kaart benaderen op IP-adres 192.168.4.1 met behulp van uw favoriete FTP-client (ik gebruik Total Commander, met afstand het beste gereedschap dat ooit voor Windows is geschreven).



Als u nu Atom wilt uitproberen, hebt u een probleem, want als uw PC (net als de mijne) maar één netwerkverbinding heeft, bent u niet langer verbonden met het Internet. Verbreek dus de verbinding met het wi/si/lo py-board, maak weer verbinding met het Internet en download en installeer Atom. Klik daarna op ‘Install a Package’ in de ‘Welcome Guide’. Voer ‘Pymakr’ in in het zoekveld, druk op Enter en wacht tot de lijst is ingevuld. Scrol door de lijst naar Pymakr en klik op ‘Install’. Als het Pycom-console opent met het bericht ‘Connection error: Error: Login timed out’ is de plugin klaar. Maak nu opnieuw verbinding met het WiFi-netwerk van de kaart om de (Micro)Python-prompt in het Atom-venster te krijgen. Het kan nodig zijn om Atom te sluiten en opnieuw te starten, voordat het werkt. Misschien moet u zelfs een paar minuten wachten met herstarten (dat was bij mij het geval).