Jump to content
PLC Forum


_angelo_

micropython

Recommended Posts

_angelo_

Per chi fosse interessato, oggi ho provato une schedina "micropython" che avevo qui da molto tempo.

 

image.thumb.png.d52f3d55c18d357ebfd810e0f4d497c8.png

 

Sembra molto comoda per testare dispositivi usando i vari gpio, ovviamente per gli amanti di python, altrimenti ci sono altri sistemi.

 

Alla connessione del cavo usb, su un qualsiasi terminale seriale, esce il prompt

 

MicroPython v1.10-182-gd43a2d351 on 2019-01-30; PYBD_SF2 with STM32F722IEK
Type ".()" for more information.
>>> 

e si puo gia programmare facilmente

>>> import pyb
>>> pyb.LED(1).on()

 

Piu comodo ancora, si crea il sorgente sul pc host e con un unico comando si manda in esecuzione:

╭─angelo at dfj in ~/dev-sysam/micropython using ‹› 19-11-30 - 11:13:00
╰─○ python pyboard.py test.py

Poi si fa di tutto in poche righe, accesso al wifi compreso.

 

Pro:

- il sistema e' "bare metal", non c'e' Linux e sue complicazioni per chi non le gradisce

- comodo si plugga il cavo usb e funziona

 

Contro

- forse costi, in questa schedina micro e' un STM32F722IEK, e non e' economica perche' come vedere ha di tutto, wifi, bluetooth etc, se non ricordo male ho speso soprea i 50E. Altre varianti sono piu economiche. EDITATO (ci sono versioni che partono da 12E basate su esp8266 con wifi)

 

Saluti a tutti !

 

 

Edited by _angelo_

Share this post


Link to post
Share on other sites

_angelo_

Ti diverti a correggermi costantemente ad ogni post, vedo. Dai che ci sono giochi piu divertenti  :)

 

Un altro vantaggio e' che questo codice e' script interpretato, cioe non si compila nulla, tutto sommato per 12E di scheda base secondo me e' da provare.

Share this post


Link to post
Share on other sites
gabri-z
10 minuti fa, _angelo_ ha scritto:

Ti diverti a correggermi costantemente ad ogni post, vedo.

Dobbiamo pure sorridere , a me dispiace trovarmi leggere miei post , trovare errori , ma nessuno che me l'abbia segnalato , una presa in giro costruttiva /educativa è sempre ben venuta , almeno per me .

Share this post


Link to post
Share on other sites
_angelo_

Ma ti e' piaciuto poi il post ? :)

Questo micropython lo trovo comodissimo per qualsiasi applicazione veloce che poi magari smonti e ricicli. Devi solo "inserire" il cavo usb e aprire il terminale.

 

Ora vedo che ce ne sono di tutti prezzi.

 

https://www.ebay.it/itm/MicroPython-PyBoard-v1-1-Python-programming-development-board-/222441505656

Share this post


Link to post
Share on other sites
dott.cicala

Carina.

Io sono un po' a corto di idee ultimamente.

Mi faccio allettare da queste schedine con l'intento di farci qualcosa, le provo come hai fatto tu...

e poi rimangono lì. Forse è perché ci si può far di tutto che non decido mai cosa farci. Ho esaurito la mia vena creativa.

Tu perché l'hai comprata? Cosa volevi farci?

Share this post


Link to post
Share on other sites
_angelo_

Mah, l'ho presa l'altr'anno a Fosdem, mi piaceva il fatto di agire sui gpio dal pc host usando python, nel mio caso e' stata in scansia un anno. Era piu' per provarla e non aver buttato del tutto i soldi. comunque e' comodissima e puo' tornarte utile. Si in genere le schedine per cose semplici me le progetto al volo per il loro utilizzo, che c'e' piu gusto.

Edited by _angelo_

Share this post


Link to post
Share on other sites
dott.cicala
12 minuti fa, _angelo_ ha scritto:

per cose semplici me le progetto al volo per il loro utilizzo

E' quello il problema.

Penso sempre: "No per quello no,è sprecata, per quell'altro anche, è sprecata..." e rimangono lì.

Quando ormai sono vecchie e obsolete finiscono in un progetto a svolgere compiti semplici per i quali da nuove le avevamo scartate :superlol:

 

L'unico modo per usarle è in progetti semplici che poi man mano si sviluppano e diventano complessi

Share this post


Link to post
Share on other sites
Livio Orsini
49 minuti fa, dott.cicala ha scritto:

Mi faccio allettare da queste schedine con l'intento di farci qualcosa, le provo come hai fatto tu...

e poi rimangono lì.

 

Era una "mania" che avevo anch'io, nei contenitori sugli scaffali ho Rabbit, Topas (micro Toshiba 16 bits), schede con micro cortex TI, più un'altra che fa da PLC e dui al momento non ricordo il nome (effetti della vecchiaia).

Prima che comparisse arduino, assieme ad 2 amici del forum, mettemmo in cantiere il prgetto "Pizza micro" basato sui PICs. C'è una scheda che può ospitare integrati 16, 24 e 40 pin, sia PIC che DSPic; poi tutta una serie di periferiche come le shields di arduino. Tutte con collegamento con morsetti a vite.

Volevamo lanciarla come strumento di sviluppo software e prototipazione rapida; purtroppo non avevamo la struttura per abbassarne i costi a livello di produzione di massa, così ne abbiamo forese prodotte una decina di serie. Io ne uso ancora una serie quando mi metto a giocare con i PIC, cosa che oramai non faccio quasi più.

Nonostante non mi abbia mai entusiasmato sto usando arduino, così non devo sbattermi a fare circuiti stampati, assemblo solo e sviluppo il software.

Sono perfettamente conscio che progettando di volta in volta la soluzione ottimale i risultati sarebbero migliori, ma chissenefrega!:smile:

 

Magari fra un po provo ad usare una di queste micropython

 

Ho iniziato con processori come F8,SC/M e 8008 per passare poi a 8085, Z80, 8051, 8019 e , in crescendo sino allo 80386ex, giocare ancora con lo ASM e qaulche micro nuovo è ancora divertente.

Edited by Livio Orsini

Share this post


Link to post
Share on other sites
gabri-z
26 minuti fa, Livio Orsini ha scritto:

Ho iniziato con processori come F8,SC/M e 8008 per passare poi a 8085, Z80, 8051, 8019 e , in crescendo sino allo 80386ex, giocare ancora con lo ASM e qaulche micro nuovo è ancora divertente.

Io mi sono fermato alla metà del 8080 , alla fine degli anni...80 , ho cambiato mestiere,:( .

Share this post


Link to post
Share on other sites
Livio Orsini
In questo momento, gabri-z ha scritto:

ho cambiato mestiere,

 

Almeno per te l'elettronica è ancora solo passione.;)

Mettiamola così; certo che nella vita non si può sempre fare ciò che ci piace. Io mi ritengo molto fortunato perchè ho (quasi) sempre potuto fare un lavoro che mi piaceva. Ho dovuto faticare un poco per poter lavorare in progettazione ma, quando una cosa lavoglio veramente, prima o poi , se la riuscita dipende da me, riesco ad ottenerla.

Share this post


Link to post
Share on other sites
gabri-z

Guarda che la scelta è stata mia , anche se la paga era più del doppio della paga media , per me era poco , sono nato...spendaccione .

Edited by gabri-z

Share this post


Link to post
Share on other sites
Nino1001-b

Bellissima!...ma a cosa serve?

Ma sono l'unico che va all'indietro? Nessuno che si interessa alle valvole termoioniche, ai telegrafi in cui il nastro di carta scorre con un meccansimo a molla, alle schede perforate, ai telefoni da campo della 1a GM... ma anche agli IC TTL e CMOS...quelli grossi, niente SMD...

Share this post


Link to post
Share on other sites
ilguargua

Anche io ho fatto qualche piccola esperienza con micropython, e devo dire che per il poco che ho provato funziona egregiamente, e l'idea di poter programmare una MCU in python mi piace assai (considero python il mio linguaggio d'elezione, è quello con cui mi trovo meglio). Non ricordo se ho provato su una wemos o qualcosa del genere (ormai anche io non ricordo più quante schede ho... :superlol:), volevo provarlo anche su una st (nucleo144 F767ZI), poi mi è venuto fuori un altro progetto con quella e per ora ho desistito.

Progetto comunque molto interessante (micropython), penso che mi ci riavvicinerò in futuro.

 

 

Ciao, Ale.

 

Share this post


Link to post
Share on other sites
_angelo_

Il mio cuore e' nel kernel linux, dove combino professione e passione, ho circa 20 modifiche e qualche driver accettati nel codice kernel ufficiale. Sia per alvoro che per passione collaboro. Ma il firmware per me e' bello tutto, dai piccoli micro ai SoC giganti e ogni giorno mi tocca e mi piace imparare cose nuove.

 

Tornando a micropython questa e' una delle poche schedine che e' interessante perche' non compili nulla, non servono compilatori ne facoltosi IDE, con un unico comando spingi il programma nel micro che lo interpreta subito.

 

Ecco il giochino del led che lampeggia:

 

import pyb

for i in range(100):
        pyb.LED(1).toggle()
        pyb.delay(100)

Poi vedo che anche le schede base da 12E hanno la SD, comoda per salvare prove varie.

 

Da quel che ho capito paralndo con gli sviluppatori per ora micropython gira solo su micro 32 bit, ma credo che ormai ne siano supportati diversi,m non dovrebbe essere tropo complicato farsi una schedina con un micro di questi e un ft232 ftdi e similari.

 

 

Edited by _angelo_

Share this post


Link to post
Share on other sites
Livio Orsini
12 ore fa, _angelo_ ha scritto:

 

Ecco il giochino del led che lampeggia:

 

Sembra l'esempio simile di arduino e della scheda Cortex TI

Share this post


Link to post
Share on other sites
_angelo_

Su sistemi Linux, raspberry pi, orange pi, beaglebone black e "compagnia cantante",  puoi anche installare micropython nel filesystem, anche se in quel caso hai anche python, diventa un secondo interprete per fare test e esercitarsi con micropython, magari ti agevola un pochino gestione gpio rispetto a python.

 

Su Arduino (8 bit), dove micropython non gira, puoi far lampeggiare un led con le stesse poche righe. Ma devi installare il compilatore, compilare e programmare la flash ogni volta che hai fatto un errore anche banale. Quindoi avere alimentazione e programmatore collegati alla scheda, programmare, etc.

 

Micropython interpreta il codice al volo, quindi prima lo provi in velocita' digitandolo su teraterm, poi per inviare uno script piu complesso (si parla di script, perche e' roba interpretata) sul tuo pc di lavoro basta avere python + pyboard.py per inviare il codice tramite usb. Colleghi un unico cavo alla porta USB, niente alimentatori etc. E' comodo. Esecuzioune e' immediata, immagino carichi lo script in sram (sarebbe interessante vedere coma fa). Ovviamente poi puoi salvarlo nelal flash e impostarlo come programam da eseguire al boot.

 

Per 12E a mio avviso certamente da provare. Si puo' chiederlo a babbo natale. (non ho amici in micrpython eh :))

 

https://www.logicaprogrammabile.it/micropython-embedded-python/

 

EDITATO: anzi, tornando indietro forse mi farei una schedina micropython generica con stm32, con tutti i gpio e intrfacce varie portate su connettori.

 

 

 

 

Edited by _angelo_

Share this post


Link to post
Share on other sites
Livio Orsini
2 ore fa, _angelo_ ha scritto:

Quindoi avere alimentazione e programmatore collegati alla scheda, programmare, etc.

 

No! Ti basta il collegamento alla porta USB per alimentare la scheda; il compilatore è compreso nell'IDE, così come il programamtore; il LED lo hai sulla scheda.

In sostanza apri l'IDE, colleghi il cavo USB, scrivi le 2 righe e le carichi nella sceda, il LED lampeggia.

Questo è il classico programma di test che ti fanno fare come primo programma in tutti i corsi e tutoriasl.

 

Idem per le schede Cortex di TI. Necessario solo IDE (completamente gratuito), cavo USB e scheda.

 

A me i programmi interpretati non è che piacciano molto, preferisco una sana compilazione con il micro che segue solo iol suo bravo codice macchina.

 

Poi ognuno ha le sue preferenze ed idiosincrasie.

 

Il python lo uso quando gioco con Raspberry, ma non ne sono particolarmente entusiasta.

 

Forse sarà per l'età, ma per me il miglior linguaggio ad altro livello per micro è ancora il PL/M di Intel, oramai morto e sepolto perchè Intel smise di supportarlo a metà degli anni 90, preferendo far convergere tutti i suoi clienti sul "C" ( ma il suo "C" era un sovra assieme del "C" standard).

 

Share this post


Link to post
Share on other sites
_angelo_
2 ore fa, Livio Orsini ha scritto:

A me i programmi interpretati non è che piacciano molto, preferisco una sana compilazione con il micro che segue solo iol suo bravo codice macchina.

neanche a me, amo il C . Ma ripeto, per cose da fare al volo questo micropython e' carino

 

  • non e' sempre detto che tu possa alimentare la scheda target tutto tramite porta usb -> programmatore -> scheda. Alle volte devi anche alimentarla (un cavo in piu).
  • per il programmino fai dei passaggi in piu. 
    • Apri l'IDE, e scrivi i codice
    • compili, e magari ti di da qualche errore che sistemi, ri-salvi e compili creando un binario eseguibile
    • programmi, cioe' scrivi generalmente la flash del micro, operazione che richede qualche secondo

Con questo micropython e' immediato. Perche poui fare anche un copia-incolla sul termianle, hai sempre un cavo solo, non scrivi la flash per tutti i test, ma sono eseguiti da ram in una frazione di seocndo. Cioe digiti "

python pyboard.py test.py

invio, e il programma e' gia eseguito, meno di un secondo. E' carino. Poi hai tante librerie incluse, anche tutta la parte http!

 

Ovvio che poi e' roba interpretata quindi per massime prestazioni e sfruttare al massimo la potenza dell' mcu (ove serva), rimane il C / asm.

 

Edited by _angelo_

Share this post


Link to post
Share on other sites
Livio Orsini
1 ora fa, _angelo_ ha scritto:

invio, e il programma e' gia eseguito, meno di un secondo

 

ma a questo punto, se lo metti solo in RAM deve essere sempre connesso al PC-terminale.

1 ora fa, _angelo_ ha scritto:

non e' sempre detto che tu possa alimentare la scheda target tutto tramite porta usb -> programmatore -> scheda. Alle volte devi anche alimentarla (un cavo in piu).

Quando sviluppi ti basta solo questo, una volta messo a punto allora la scheda lavora stand alone e necessita di una sua alimentazione.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...