In preparazione per il Linux Day 2013 a Pistoia. L'intervento sara' dalle 11.30 alle 12.00 ma spero di esserci sia prima che dopo per fare due chiacchere
martedì 22 ottobre 2013
Problemi su Mediacom 850i
Ieri sera il bambino stava guardando un film su tablet Mediacom 850i quando si sono esaurite le batterie.
Ho messo in carica il tablet ed il led di ricarica ha funzionato in modo corretto
Il giorno successsivo, con ricarica completa, ho provato a riaccendere il dispositivo. Niente da fare, completamente morto.
Stavo gia' pensando di ricomprare un tablet quando per puro divertimento ho provato a ripetere la procedura per flashare la ROM gia' presentata in questo precedente post
Curiosamente, con lo schermo completamente oscurato, il tablet era gia' in modalita' di recovery e quindi e' stato facile rimontare la ROM e riavviare il sistema. Certo che non si tratta di un tablet per principianti
lunedì 21 ottobre 2013
Lettura valori analogici su Arduino Uno ed Arduino Due
Un amico mi ha chiesto la possibilita' di monitorare uno strumento da laboratorio per taglio anulare (si tratta di una strumentazione geotecnica) mediante Arduino
Lo strumento e' sostanzialmente un Force Gauge SM 1000-N capace di misurare carichi fino a 1000 N.
I collegamenti sono piuttosto semplici. Vi e' una alimentazione da 15 Vcc e due cavi di misura
Il problema e' il tipo di uscita dello strumento che risulta essere di pochi milliVolt (al massimo di qualche decina di milliVolt) al contrario dello strumento visto in questo post
Lo strumento e' sostanzialmente un Force Gauge SM 1000-N capace di misurare carichi fino a 1000 N.
I collegamenti sono piuttosto semplici. Vi e' una alimentazione da 15 Vcc e due cavi di misura
Il problema e' il tipo di uscita dello strumento che risulta essere di pochi milliVolt (al massimo di qualche decina di milliVolt) al contrario dello strumento visto in questo post
Per questo motivo avevo escluso a priori l'utilizzo dell'Arduino Uno perche' ha una sensibilita' (nel migliore delle ipotesi) di 5 mV
Arduino Due invece dovrebbe avere una sensibilita' nettamente superiore perche' monta un convertitore analogico digitale da 12 bit (4096 livelli al contrario dell'ADC a bit 10 e 1024 livelli della Uno) ed ha un fondo scala a 3.3 V (5.0 V Arduino Uno). Per questo motivo, con un rapido conto, la minima lettura dell'Arduino Due doveva essere 3.3V/4095 = 0.8 mV...perfettamente in linea con le tensioni che avevo bisogno di misurare
Una volta connessa l'Arduino Due al Force Gauge ed un multimetro per riferimento e' stato chiaro che qualcosa non tornava. Per tensioni misurate di circa 7 mV la risposta della Arduino Due era compresa tra 3-4 (in linea teorica doveva essere circa il doppio ovvero tra 8 e 9)
Frugando su Internet ho trovato questo interessante post che entra nel dettaglio dell'ADC di Arduino Due mostrando come l'offset possa essere anche molto alto (20 mV) rendendo difficoltose le misure di tensioni molto basse. Fra le altre cose e' interessante l'influenza di avere una tensione di riferimento stabile anche per l'Arduino oltre che per lo strumento di misura
venerdì 18 ottobre 2013
Controllo remoto di rele' mediante Raspberry
Recentemente un amico mi ha chiesto un metodo per poter gestire in remoto (dove per remoto si deve intendere accendere una caldaia negli USA stando in Italia) usando una Raspberry.
La cosa e' piuttosto semplice da fare con Php ma visto che la ruota e' gia' stata inventata, e funziona bene, ho preferito usare questo strada
Prima di tutto la parte collegamenti
La Raspberry, con montata una Raspbian, e' stata collegata al rele' alla porta GPIO #23 (porta S del rele') e i classici +5V e GND
Per la parte software ho impiegato WEBIOPI , uno script in Python che crea un piccolo webserver interfacciato con le GPIO
Prima prima cosa di sscaricare il file
wget http://webiopi.googlecode.com/files/WebIOPi-0.6.0.tar.gz
La cosa e' piuttosto semplice da fare con Php ma visto che la ruota e' gia' stata inventata, e funziona bene, ho preferito usare questo strada
Prima di tutto la parte collegamenti
La Raspberry, con montata una Raspbian, e' stata collegata al rele' alla porta GPIO #23 (porta S del rele') e i classici +5V e GND
Per la parte software ho impiegato WEBIOPI , uno script in Python che crea un piccolo webserver interfacciato con le GPIO
Prima prima cosa di sscaricare il file
wget http://webiopi.googlecode.com/files/WebIOPi-0.6.0.tar.gz
e lo si scompatta
A questo punto da utente root si digita
./setup.sh
(attenzione, durante questa fase la Raspberry deve essere connessa ad internet perche' vengono scaricate eventuali librerie non gia' presenti nel sistema...l'operazione dura qualche minuto)
al termine si puo' digitare (sempre da root)
/etc/init.d/webiopi start
a questo punto collegandosi all'indirizzo della macchina sulla porta 8000 (od in localhost:8000) si accede ad una interfaccia di questo tipo
La username di default e' "webiopi" e la password "raspberry"
All'inizio tutte le porte sono di Input. Quindi si deve cliccare sulla casellina grigia accanto alla porta di interesse (nel mio caso #23) e porta in modalita' output (OUT). Fatto cio' cliccando sul numero della porta si interagisce con il rele' aprendo e chiudendo il contatto
Nel video si osserva il led luminoso del rele' che si accende quando si apre il contatto via web
Per rendere il sistema sempre avviato all'accensione del sistema si deve digitare
update-rc.d webiopi defaults
mercoledì 16 ottobre 2013
Google Chrome, Proxy Server e Debian
Questo riepilogo non è disponibile.
Fai clic qui per visualizzare il post.
Problemi con Google Chrome per Linux su Debian
Cercando di installare Google Chrome su una macchina virtuale Debian con la procedura che ha sempre funzionato oggi sono comparsi alcuni errori
di fatto l'installazione con dpkg si blocca a causa di alcune dipendenze non risotel
-----------------------------------------------
google-chrome-stable : Dipende: lib32gcc1 (>= 1:4.1.1) ma non è installabile
Dipende: lib32stdc++6 (>= 4.6) ma non è installabile
Dipende: libc6-i386 (>= 2.11) ma non è installabile
di fatto l'installazione con dpkg si blocca a causa di alcune dipendenze non risotel
-----------------------------------------------
google-chrome-stable : Dipende: lib32gcc1 (>= 1:4.1.1) ma non è installabile
Dipende: lib32stdc++6 (>= 4.6) ma non è installabile
Dipende: libc6-i386 (>= 2.11) ma non è installabile
-----------------------------------------------
La versione beta 31.0.1650.16-1 funziona invece correttamente.
lunedì 14 ottobre 2013
Configurazione Debian minimale su IBM X20
In questo post viene mostrato come ho configurato in modo minimale (ma abbastanza completo) l'IBM X20 visto in questo post in modo da avere un compromesso tra la modesta potenza della macchina e la necessita' di renderla comunque operativa
Per prima cosa sono partito dal primo CD di installazione di Debian togliendo le opzioni Ambiente Desktop e Server di Stampa ed impostando Server SSH.
Al successivo riavvio si ha la sola shell senza ambiente grafico
Si procede quindi con l'installazione di alcuni programmi a linea di comando
apt-get install alpine sqlite3 lynx mc imagemagick
apt-get install moc (player musicale basato su ncurses che si lancia con il comando mocp)
e di alcuni tool di sviluppo che di solito uso
apt-get install build-essential codeblocks codeblocks-contrib openjdk-7-jdk ant subversion git
a questo punto si installa X Windows in configurazione minimale
apt-get install x-window-system-core
seguito dall'installazione di Openbox minimale
apt-get install openbox obconf obmenu
apt.get install conky tint2
per attivare conky e tint due si deve procedere come segue
touch ~/.config/openbox/autostart.sh
chmod 700 ~/.config/openbox/autostart.sh
il contenuto del file autostart e' il seguente
----------------------------------------------------
# Run the system-wide support stuff
.
$GLOBALAUTOSTART
(sleep 1 && tint2) &
(sleep 1 && conky) &
------------------------------------------------------
di default conky si aggiorna una volta al secondo ma non e' di interesse e ruba abbastanza cicli alla CPU cosi' ho modificato il valore update_interval in /etc/conky/conky.conf portandolo a 15.0
con questa configurazione ed Openbox in esecuzione si ha una occupazione della RAM di 46 MB (aprendo una shell di XTerminal si passa a circa 51 Mb con una occupazione di spazio disco di circa 1.5 Gb).
Tramite OBConf ho impostato una sola finestra di desktop
Per gestire la reti wireless in modo umano ho montato come network manager wicd
apt-get install wicd
che deve essere attivato con il comando
wicd-client
(attenzione: se non e' presente deve essere inserita a mano la scheda wlan0 all'interno della configurazione)
Un paio di programmi di comune utilizzo su X (un leggero browser ed editor di testo)
apt-get install midori
apt-get install leafpad
apt-get install mupdf (visualizzatore pdf)
Per effettuare degli screenshot ho installato scrot
apt-get install scrot
che si usa con la seguente sintassi
scrot -d 5 (salva lo schermo con un ritardo di 5 secondi)
Data che X non sara' sempre usato, per massimizzare lo schermo della consolle testuale, si puo' modificare GRUB in modo che in partenza la shell sia in modalita' 1024x768 editando il file /etc/default/grub, togliendo il commento a GRUB_GFXMODE=640x480 e portandolo a 1024x768.
Si deve poi aggiungere la linea
GRUB_GFXPAYLOAD_LINUX=keep
per rendere le modifiche operative si lancia poi
update-grub2
A questo punto si possono togliere un po' di demoni che non servono. Visto che la batteria non e' funzionante e che il BIOS non accetta la modalita' Speedstep si puo' rimuovere ACPI
apt-get remove acpi
Visto che non e' previsto di utilizzare dischi di rete mappati NFS via anche questo servizio
apt-get --purge remove nfs-common rpcbind
Il sistema non ha un modulo Bluetooth e potrei disinstallare il demone ma visto mi potrebbe servire per un dongle USB Bluetooth lo disattivo semplicemente dal boot modificando /etc/default/bluetooth ed editando
BLUETOOTH_ENABLED=0
Via anche il client di CUPS (di solito non stampo)
apt-get remove cups
Per il demone Avahi ho preferito disattivarlo piuttosto che disinstallarlo perche' puo' sempre tornare utile. Si digita quindi il file
sudo update-rc.d -f avahi-daemon remove
Iscriviti a:
Post (Atom)
Debugger integrato ESP32S3
Aggiornamento In realta' il Jtag USB funziona anche sui moduli cinesi Il problema risiede nell'ID USB della porta Jtag. Nel modulo...
-
In questo post viene indicato come creare uno scatterplot dinamico basato da dati ripresi da un file csv (nel dettaglio il file csv e' c...
-
Questo post e' a seguito di quanto gia' visto nella precedente prova Lo scopo e' sempre il solito: creare un sistema che permet...
-
La scheda ESP32-2432S028R monta un Esp Dev Module con uno schermo TFT a driver ILI9341 di 320x240 pixels 16 bit colore.Il sito di riferiment...