giovedì 31 ottobre 2013
USB Key Read Only
Un amico mi ha portato questa chiavetta USB pubblicitaria perche' era interessato ad utilizzarla per i propri file visto il taglio da 17 Gb. Il problema e' che l'unita' si mostrava sempre come in sola lettura e quindi sostanzialmente non usabile per scopi differenti dal vedere il filmato pubblicitario
La cosa mi e' sembrata subito strana dato che non ho mai visto a giro tagli di memoria di questo tipo (o 16 o 32 Gb per esempio)
Ho provato a smontare il dispositivo per vedere se era nascosto uno switch. Sulle prime USB era comune trovare un interruttore a slitta vicino al connettore ma dopo aver rimosso 4 viti, una cucitura ed una tonnellata di colla nessun risultato
Rimontato il tutto ho riprovato ad inserire il dispositivo nella mia Debian Box le cose si sono un po' chiarite.
Sono visibili due partizioni: la prima da 18 Mega (e non 17 Giga!!) a sola lettura ed una seconda da 944 Mega di spazio libero liberamente scrivibile. Si tratta quindi di una comunissima USB Key da 1 Giga.
A questo punto rimane il problema della partizione a sola scrittura. Non puo' trattarsi di un blocco hardware perche' un eventuale switch di blocco scrittura avrebbe agito su tutta l'unita' disco e non su una sola partizione. Non si tratta nemmeno dell'impostazione dei permessi del sistema operativo (ho provato ad usare GParted per cancellare le partizioni ma l'operazione non e' permessa)
La possibile soluzione e' che il firmware della scheda sia stato modificato in modo proprietario per far apparire le due partizioni di cui una bloccata in scrittura (qualcosa di simile e' possibile con le chiavette SANDISK..ho provato il loro tool di formattazione a basso livello launchpadremoval.exe ma senza successo). Mi sa che la riconsegno cosi' com'e'
mercoledì 30 ottobre 2013
Cambio sistema di coordinate geografiche
Ogni tanto mi ricordo di essere un geologo con un po' di esperienza in telerilevamento.
Per un studio che sto facendo nei ritagli di tempo sto usando delle immagini Landsat 7 e non avendo una licenza Envi e ArcGis mi sto adattando ad usare QGis
Caricando i dati Landsat Toscana-Emilia (TIF georiferite) direttamente in QGis queste vengono inserite nel sistema di riferimento EPSG:32632 (WGS84 UTM Zona 32 N)
Gli shapefile che invece mi servono sono tutti nel sistema di riferimento EPSG 3003 (Monte Mario Italy Zona 1)
Invece di convertire le immagini e' possibile traslare il sistema di riferimento degli shapefile usando i tools GDAL in particolare con il comando
dove
wgs.shp e' il nome dello shape risultato dell'elaborazione
boaga.shp e' il nome del file shape da convertire
-s_srs e' il sistema di riferimento di partenza
-t_srs e' il sistema di riferimento finale
ogr2ogr wgs.shp boaga.shp -s_srs EPSG:3003 -t_srs EPSG:32632
Per un studio che sto facendo nei ritagli di tempo sto usando delle immagini Landsat 7 e non avendo una licenza Envi e ArcGis mi sto adattando ad usare QGis
Caricando i dati Landsat Toscana-Emilia (TIF georiferite) direttamente in QGis queste vengono inserite nel sistema di riferimento EPSG:32632 (WGS84 UTM Zona 32 N)
![]() |
| LE71920292001046EDC01 |
Invece di convertire le immagini e' possibile traslare il sistema di riferimento degli shapefile usando i tools GDAL in particolare con il comando
dove
wgs.shp e' il nome dello shape risultato dell'elaborazione
boaga.shp e' il nome del file shape da convertire
-s_srs e' il sistema di riferimento di partenza
-t_srs e' il sistema di riferimento finale
ogr2ogr wgs.shp boaga.shp -s_srs EPSG:3003 -t_srs EPSG:32632
martedì 29 ottobre 2013
Compressione video
Il video originale dell'intervento al Linux Day 2013 e' stato ripreso con una micro camera Go Pro a risoluzione Full HD. Il risultato e' che l'intervento della durata di circa 16 minuti corrisponde ad una occupazione su disco di circa 3.7 Gb... un po' troppo per pensare di effettuare l'upload su Youtube
Ho quindi provato a comprimere il file mediante il software ffmpeg e la seguente stringa
ffmpeg -i luca.mp4 -s 720x480 -acodec copy luca.mkv
Ho quindi provato a comprimere il file mediante il software ffmpeg e la seguente stringa
ffmpeg -i luca.mp4 -s 720x480 -acodec copy luca.mkv
al termine della compressione il file e' risultato essere di circa 30 Mb con una compressione di oltre un fattore 1000. La conversione e' stata fatta su un IBM T61 dual core con 2 Giga di Ram e per ogni secondo di video erano necessari circa 3-4 secondi di calcolo
Personalizzazione di Webiopi
Il sistema di gestione Web delle porte GPIO di Raspberry presentato in questo post puo' essere anche customizzato nell'aspetto dell'interfaccia per esempio per mostrare un solo pulsante
Un esempio viene riportato al Wiki di Google Code ...peccato che sia sbagliato
Dopo un po' di ricerche ecco una pagina funzionante che accende e spenge il solo pin GPIO 25. L'aspetto fondamentale e' che prima di usare il pin questo deve essere dichiarato come output
Il file deve essere posizionato in /usr/share/webiopi/htdocs
------------------------------------------------------------------------------
Un esempio viene riportato al Wiki di Google Code ...peccato che sia sbagliato
Dopo un po' di ricerche ecco una pagina funzionante che accende e spenge il solo pin GPIO 25. L'aspetto fondamentale e' che prima di usare il pin questo deve essere dichiarato come output
Il file deve essere posizionato in /usr/share/webiopi/htdocs
------------------------------------------------------------------------------
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/ loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content = "height = device-height, width = 420, user-scalable = no" />
<title>WebIOPi | Demo</title>
<script type="text/javascript" src="/webiopi.js"></script>
<script type="text/javascript">
webiopi().ready(function() {
webiopi().setFunction(25,"out" );
var content, button;
content = $("#content");
button = webiopi().createGPIOButton(25, "SWTICH");
content.append(button); // append button to content div
webiopi().refreshGPIO(true);
});
function mousedown() {
webiopi().digitalWrite(7, 1);
}
function mouseup() {
webiopi().digitalWrite(7, 0);
}
function outputSequence() {
var sequence = "01010100110011001100101010" // S.O.S. morse code or whatever you want
// output sequence on gpio 7 with a 100ms period
webiopi().outputSequence(7, 100, sequence, sequenceCallback);
}
function sequenceCallback(gpio, data) {
alert("sequence on " + gpio + " finished with " + data);
}
function callMacro() {
var args = [1,2,3] // or whatever you want
// call myMacroWithArgs(arg)
webiopi().callMacro(" myMacroWithArgs", args, macroCallback);
}
function macroCallback(macro, args, data) {
alert(macro + " returned with " + data);
}
</script>
<style type="text/css">
button {
display: block;
margin: 5px 5px 5px 5px;
width: 160px;
height: 45px;
font-size: 24pt;
font-weight: bold;
color: black;
}
input[type="range"] {
display: block;
width: 160px;
height: 45px;
}
#gpio7.LOW {
background-color: White;
}
#gpio7.HIGH {
background-color: Red;
}
</style>
</head>
<body>
<div id="content" align="center"></div>
</body>
</html>
Video presentazione Linux Day 2013 - Nemo Rov
Il video dell'intervento al Linux Day 2013
La prima parte e' tenuta da Francesco Mugnai con la presentazione dell'esperienza sulla Costa Concordia mentre nella seconda viene spiegato con qualche dettaglio maggiore le caratteristiche del ROV
File presentazione Libreoffice
File presentazione Pdf
La prima parte e' tenuta da Francesco Mugnai con la presentazione dell'esperienza sulla Costa Concordia mentre nella seconda viene spiegato con qualche dettaglio maggiore le caratteristiche del ROV
File presentazione Libreoffice
File presentazione Pdf
lunedì 28 ottobre 2013
Importanza del cavo USB
Un amico e' mi ha chiesto su un aiuto per recuperare i dati dal suo disco esterno Lacie. Questo modello, riportato nella foto, presenta un cavo USB esterno sempre attaccato al case in alluminio che ovviamente si era tranciato nel punto di maggiore tensione
Il primo istinto e' stato quello di trovare un set di chiavi torx per aprire il case quando e' stato notato che il cavo esterno era facilmente rimuovibile e sotto il connettore grigio si nascondeva una rassicurante mini Usb.
E' stato quindi recuperato quindi il primo cavo mini Usb presente in ufficio .. un cavo retrattile come quello riportato come esempio nella foto sottostante
Una volta connesso il cavo al disco ed al computer il disco fisso ha iniziato a girare emettendo dei tipici ticchettii spesso indicatori di disco fisicamente rotto.
Visto che era improbabile anche la rottura del disco ho suggerito di sostituire il cavo retraibile con un normale cavo mini USB (caratterizzato da una sezione maggiore)
Force Gauge SM-1000N
Un piccolo riassunto sulle caratteristiche sul Force Gauge SM-1000N da accoppiare ad Arduino Due
Prima di tutto come funziona un Force Gauge
Sulla barra sono montati quattro Strain Gauge; quando si ha una flessione a causa di una forza verso il basso si ha che i sensori superiori si estendono (seppur di poco) mentre quelli inferiori si comprimono
i quattro Strain Gauge sono montati con una configurazioni a ponte di Wheatstone in cui a due estremi opposti (A-C) viene inserita l'eccitazione (l'alimentazione) mentre agli altri due capi opposti (B-D) si effettua la misura
La resistenza interna e' piuttosto modesta (attorno a 350 Ohm)
Per il taglio anulare sono necessari due Force Gauge
Per i carichi di esercizio della prova di taglio anulare (da 0 a 20 Kg) si osserva che la tensione in uscita dal sensore e' molto modesta. con valori massimi inferiori ai 10 mV
Prima di tutto come funziona un Force Gauge
Sulla barra sono montati quattro Strain Gauge; quando si ha una flessione a causa di una forza verso il basso si ha che i sensori superiori si estendono (seppur di poco) mentre quelli inferiori si comprimono
i quattro Strain Gauge sono montati con una configurazioni a ponte di Wheatstone in cui a due estremi opposti (A-C) viene inserita l'eccitazione (l'alimentazione) mentre agli altri due capi opposti (B-D) si effettua la misura
La resistenza interna e' piuttosto modesta (attorno a 350 Ohm)
Per il taglio anulare sono necessari due Force Gauge
Per i carichi di esercizio della prova di taglio anulare (da 0 a 20 Kg) si osserva che la tensione in uscita dal sensore e' molto modesta. con valori massimi inferiori ai 10 mV
![]() |
| Curve di calibrazione sperimentali |
Un altro aspetto di interesse e' la presenza di tensioni negative per il primo tratto di curva di taratura del sensore 2. Visto che Arduino non registra tensioni negative sugli ingressi analogici si deve creare un offset sulla tensione in modo da registrare sempre tensioni positive.
Iscriviti a:
Post (Atom)
HF WSPR Protocol
Il protocollo WSPR ( che ricorda Whisper ma in realta' significa Weak Signal Propagation Reporter) e' adatto ad inviare Callsign, G...
-
Aggiornamento questo e' la risposta degli sviluppatori First of all, almost all operating systems on both mobile and laptop/desktop n...
-
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...
-
Questo post e' a seguito di quanto gia' visto nella precedente prova Lo scopo e' sempre il solito: creare un sistema che permet...











