Inviare un file attraverso seriale
Avevo necessità di inviare un file attraverso seriale, ed ho scoperto serio. Avevo già provato ad inviare un file con metodi alternativi:
-
sz: non sono però mai riuscito ad impiegarlo, nonostante picocom lo impieghi di default per l’invio dei file;
-
Convertire un file in base64, copiarlo e incollarlo.
Sono quindi incappato in questo script Python che lato end-device ha un solo requisito: echo deve avere il supporto a questi due flag: -e
e -n
.
Modifiche necessarie
Quello linkato è già un fork del progetto principale, con un branch dedicato al porting da Python 2 a Python3 (branch: python3). Sarà plausibilmente necessario modificare l’hashbang da #!/usr/bin/env python a #!/usr/bin/env python3.
Installazione
L’installazione richiede unicamente il clone del repository (o banalmente scaricarsi il file serio.py):
$ git clone -b python3 https://github.com/mattmart3/serio
Richiederà inoltre di installare come dipendenza pyserial
: consiglio dunque l’uso di un virtualenv apposito se non si vuole sporcare il sistema:
$ cd serio; python3 -m virtualenv serio_env && . ./serio_env/bin/activate
$ pip3 install pyserial
Utilizzo
./serio.py -s <file-da-inviare> -d <percorso-di-destinazione>
Importante: il percorso di destinazione deve includere il nome del file stesso.