Sono stato alcuni giorni alla ricerca di un comodo simulatore di Raspberry PI per programmarlo in linguaggio Python.
Dopo alcuni tentativi e vane ricerche mi sono imbattuto in questo simulatore online Wyliodrin Studio.
Mettiamolo dunque alla prova e documentiamo il tutto con questo articolo.
Con un moderno web browser digitiamo l'indirizzo web: https://beta.wyliodrin.studio/
Creiamo una nuova applicazione:
Creiamo il progetto Blink del Led in linguaggio Python
Entriamo dentro il progetto appena creato
Clicchiamo sul pulsante "Connect" in alto a destra, selezioniamo il simulatore Raspberry PI
Si prova il classico codice
from gpiozero import LED
from time import sleep
red = LED(17)
while True:
red.on()
sleep(1)
red.off()
sleep(1)
Purtroppo la versione Beta di questo simulatore ancora non supporta questo linguaggio.
Dovrei scriverlo in Node.js
var Gpio = require("onoff").Gpio;
var led = new Gpio(4, "out");
var button = new Gpio(22, "in");
sleep(2000);
led.writeSync(1);
sleep(2000);
led.writeSync(0);
while(button.readSync() === 0) {
sleep(1000);
}
console.log("onoff.Gpio tutorial finished!");
In Node.js la simulazione funziona bene.
E' prevista l'integrazione e l'import degli Schematics con Fritzing ed è quello che scoprirò in seguito e descriverò in una prossima puntata.
Attendiamo impazienti il supporto di questo promettente simulatore per il linguaggio Python, che è purtroppo non ancora supportato. Mi auguro che lo sarà a breve!
PS: un'altra possibilità sembra essere quanto scritto in questo sito:
https://blog.withcode.uk/2016/10/rpi-gpio-python-simulator/
e la pagina web per raggiungere il simulatore è https://create.withcode.uk/python/A3
Il codice è modificabile e si può fare qualche simulazione. Non è ancora supportata la libreria gpiozero ma solo RPi.GPIO
Inoltre continuando le ricerche si trova un simulatore per Raspberry PI Pico e MicroPython si arriva a provare con successo il sito web
https://wokwi.com/projects/new/micropython-pi-pico sul sito Wokwi.com
e a fare il blink del led in MicroPython.
E' possibile aggiungere componenti, collegarli, programmare e vederli funzionare nella simulazione.
Enjoy!