Archivi autore: Adelmo

Informazioni su Adelmo

Computer-based man, working as sys-admin, network-admin and troubles-admin.

Un disco nuovo… quasi

Nel 2015 ho acquistato un bellissimo NAS della QNAP che monta dei dischi WDC fabbricati nel gennaio 2015. Non ho MAI avuto un problema sui dischi, tutto lo S.M.A.R.T. è a posto, non ci sono errori o cali di prestazioni.

Visto che la capacità del sistema è agli sgoccioli e che i dischi hanno “girato” per 3 anni, ho deciso di rimpiazzare le unità. La strategia prevede di acquistare un disco ogni 4-6 mesi, in modo che non siano perfettamente coevi.

Ordino il disco su Amazon, da un venditore del quale non farò il nome. Arriva l’unità perfettamente imballata. La monto, faccio il rebuild dell’array e tutto va bene.

Oggi mi arriva una mail minacciosa del NAS: il disco nell’unità 1 ha un valore smart non corretto e viene marcato come anomalo. Si tratta proprio del disco “nuovo”. Poco male, impreco una buona 40ina di minuti, avvio la procedura di reso sul sito e metto il disco vecchio che (intelligentemente) avevo conservato nel cassetto.

Il disco che mi hanno venduto… è vecchio (più vecchio di quelli che ho installato).

Mai più hard disk tramite Amazon: si va in negozio e si contratta!

Please follow and like us:

Ormai… solo meteo

Pare che io riesca ad aggiornare il blog solo con note meteo ultimamente.

Interessante il calo generalizzato della temperatura, con notevole differenza tra minima e massima. Siamo passati dai comodi 18 gradi di massima ad 8 nell’arco di 8 giorni.

Le minime sono scese moltissimo in questi ultimi giorni. Siamo arrivati 2.4 gradi il giorno 30 alle ore 03:24. Le massime non hanno superato i 14 gradi. Il cielo sereno del 29 si è fatto sentire con una differenza di temperatura di 9 gradi. Se continua di questo passo rischiamo qualche brinata. E’ ora di montare la serra in giardino (sarebbe anche carino sensorizzarla ad avere un po’ di tempo…)

 

Please follow and like us:

24 settembre e la corrente fredda

Malgrado la stazione meteo sia un po’ “zoppicante”, oggi non mi ha tradito. Era previsto da qualche giorno l’arrivo di una massa di aria fredda sull’adriatico. Puntuale come una cambiale è arrivata e gli effetti sono stati molto interessanti:

 

Siamo partiti “bene” con 28 gradi e alle 22.22 ce ne sono 14! Un notevole abbassamento della temperatura che è stato spinto dal vento e dalla pioggia.

In quest figura è possibile apprezzare come alle ore 12 (locali) la temperatura sia scesa con una notevole rapidità. Per rendere bene l’idea:
ore 12.00 temperatura 28,20
ore 12.30 temperatura 21,04
ore 13.00 temperatura 19,92
ore 13.30 temperatura 19.70
ore 14.00 temperatura 18,12
ore 14.30 temperatura 17,52
ore 15.00 temperatura 16,72
in 3 ore c’è stato un gradiente di 11,3 gradi. Non male!

PS: il sensore BME è andato. Non so per quale motivo. Qualche tempo addietro ho “perso” il sensore per qualche giorno. Come se non fosse più presente sul BUS. Poi è riapparso ma la lettura della umidità è costantemente al 100%, Ho preparato un nuovo sensore (a breve ne parlerò). Devo solo trovare il tempo di montarlo.

RSS
Facebook
Google+
http://www.iz6cus.it/blog/author/adelmo">
Twitter
LinkedIn

Please follow and like us:

Un po’ umido!

Giornate davvero tremende ultimamente, che hanno messo a dura prova il sensore. Questa mattina l’auto era “asciutta” protetta dalle piante ma quelle dei vicini erano piuttosto bagnate.

Sensazione davvero spiacevole, come testimoniano anche i grafici (17 settembre 2018).

RSS
Facebook
Google+
http://www.iz6cus.it/blog/author/adelmo">
Twitter
LinkedIn

Please follow and like us:

Transverter 76GHz non sincronizzati

Consideriamo due trasnverter 144MHz -> 76GHz. I due sono caratterizzati da un oscillatore locale PLL con riferimento interno 10MHz. L’oscillatore locale genera una frequenza di 12648MHz che viene poi moltiplicata per 6 in modo da avere in uscita un segnale a 75888MHz. A questo viene “sommato” il segnale a 144MHz in modo da ottenere l’uscita a 76032MHz e 75744MHz.

Il transverter 1 è usato in trasmissione e il suo OSC1 genera una frequenza di 12648.005MHz. Il transverter 2 è usato in ricezione ed il suo OSC2 genera una frequenza di 12648.001MHz. In trasmissione abbiamo:
F1=75888,03MHz quindi 76032.03MHz e 75744,03MHz
In ricezione il segnale viene miscelato con 75888.006MHz del secondo oscillatore:
76032,03-75888,006=144.024MHz
75744.03-75888.006=143.976MHz

La situazione è questa: abbiamo una IF, otteniamo 2 setnali a 76GHz e, quando li riconvertiamo in IF, abbiamo due segnali a 144MHz. Questi segnali originano dal fatto che i due PLL non sono sincronizzati e non hanno un riferimento in comune. Pertanto i circuiti PLL cercano di stabilizzare la frequenza di uscita ma non fanno certo miracoli. Osservando le fasi di startup dei transverter è possibile trovare il momento in cui le due IF si incrociano e si scambiano.

Un fenomeno carino, interessante e piacevole da visualizzare con un SDR. Che è spiegabile con 4 operazioni matematiche basilari.

Fornendo ai due transverter un riferimento unico per il PLL (segnale a 10MHz) questo fenomeno non si osserva e si ha una sola componente. Fantastico!

RSS
Facebook
Google+
http://www.iz6cus.it/blog/author/adelmo">
Twitter
LinkedIn

Please follow and like us:

Irrigazione a “goccia”

Stanco di vedere soccombere le piante in terrazzo ai rigori dell’estate, ed ancora più stanco di passare 20 minuti ogni sera ad annaffiare il giardino mi sono deciso: impianto di irrigazione automatica!

Si parte con il terrazzo, obbiettivo è quello di fornire acqua a 9 fioriere in plastica nelle quali sono adagiate 18 piante. Piccola consultazione del sito Claber, poi un viaggio da Maxi Garden ed una chiacchierata con il personale (competente, gentile, disponibile) e torno a casa con il primo kit:

Circa 3 ore di lavoro per forare il mobile del terrazzo, fissare il tubo al muro, realizzare gli attacchi dei tubetti capillari e montare i gocciolatori. Almeno un’altra ora è servita per ottimizzare l’impianto e tarare tutto il sistema. Ho previsto due cose utili:

  • un rubinetto di svuotamento in corrispondenza della piletta di scarico del terrazzo –
    Claber 91280;
  • un rubinetto sezionatore tra la parte soleggiata del terrazzo e quella in ombra –
    Claber 91280;

vista del tubo collettore da 16mm

particolare del gocciolatore

gocciolatore

scarico dell’impianto

sezionatore

In giardino ho una aiuola  a forma di U rovesciata, discretamente estesa. Non potendo contare sulla sola micro irrigazione (la siepe chiede parecchia acqua), ho realizzato un sistema misto. Il lavoro ha richiesto circa 4 ore.

centralina e sdoppiatore

tubo gocciolante

micro irrigatore

gocciolatori

il sistema in azione

Sarà che quest’anno sembra di avere i monsoni, ma le piante sono davvero in splendida forma!

RSS
Facebook
Google+
http://www.iz6cus.it/blog/author/adelmo">
Twitter
LinkedIn

Please follow and like us:

Impazzire con la mail

Ho diversi sistemi linux-based sparsi in giro per la provincia. In tutti ho uniformato la configurazione del sistema di gestione della posta elettronica, impostando un funzionamento come “satellite” ed usando gmail per il lavoro “sporco”.

Uno dei miei sistemi, con sistema operativo Debian 9.4 si è sempre rifiutato di inviare la mail a “se stesso”. L’errore che ho sempre ottenuto è:

DNS Error: 21091730 DNS type ‘mx’ lookup of linuxade responded with code NXDOMAIN Domain name not found: linuxade

Ho controllato l’output del comando:
root@linuxade:/etc# exim4 -bP primary_hostname
primary_hostname = localhost

Ho provato un sacco di strade diverse. L’unica azione che ha risolto il problema è stata la riconfigurazione di /etc/hosts nella sezione ipv6 passando dalla prima alla seconda versione. La prima scrittura penso sia stata una configurazione temporanea per fare qualche prova.

# The following lines are desirable for IPv6 capable hosts
::1  localhost ip6-localhost ip6-loopback linuxade

# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback

Cambiato il contenuto del file, riavviato exim4, adesso il comando viene eseguito correttamente:
root@linuxade:/etc# exim4 -bP primary_hostname
primary_hostname = linuxade

Finalmente mi arrivano le email con gli errori dovuti all’esecuzione degli script!

Please follow and like us:

USB Disk Docking Adapter. Pare facile!

Come passare un paio di ore a debuggare un problema.

Disco1 e Disco2 sono due HD identici della Western DIgital da 4TB che utilizzo per fare i backup off-line. Copio i files e poi li stacco e li metto in un cassetto. Disco1 lo uso prevalentemente con una docking station USB della Sabrent, modello DS-UBLK USB3.0, collegata al desktop con sistema operativo Linux. Prendo il disco, creo la partizione (GPT) e ci metto supra un bel File System ext4. Copio i files tutto funziona bene. Succede poi che io debba usare Disco1 per fare il backup con “Clonezilla” di una macchina che non è nella mia stanza. Prendo Disco1, un adattatore SATA USB della Vultech, avvio Clonezilla e non trovo la partizione. Vabbè, ho fretta e prendo quindi Disco2 (sempre attaccato al Vultech), creo una partizione ed un FS e procedo aul backup.

Tornato in ufficio tutto funziona: Disco1 nella docking, Disco2 attaccato al Vultech e posso spostare i files come mi pare.

Per fare una prova e cercare di capire come mai sul Vultech non riesco a leggere Disco1, inverto la posizione dei dischi: Disco1 e Disco2 sono illeggibili se scambio gli adattatori (Disco2 è attaccato alla docking e visto come /dev/sdc, Disco1 è collegato alla Vultech e visto come /dev/sdd):

root@hp-ufficio:~# fdisk -l /dev/sdc
Disk /dev/sdc: 3,7 TiB, 4000787030016 bytes, 976754646 sectors
Units: sectors of 1 * 4096 = 4096 bytes
Sector size (logical/physical): 4096 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 33550336 bytes
Disklabel type: dos
Disk identifier: 0x00000000

Device Boot Start End Sectors Size Id Type
/dev/sdc1 1 4294967295 4294967295 16T ee GPT

root@hp-ufficio:~# fdisk -l /dev/sdd
GPT PMBR size mismatch (976754645 != 3519069871) will be corrected by w(rite).
Disk /dev/sdd: 3,7 TiB, 4000787030016 bytes, 7814037168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x00000000

Device Boot Start End Sectors Size Id Type
/dev/sdd1 1 976754645 976754645 465,8G ee GPT

Le dimensioni riportate da fdisk sono completamente errate e non posso accedere alle partizioni:

root@hp-ufficio:~# blockdev –getbsz /dev/sdc1
blockdev: cannot open /dev/sdc1: No such file or directory
root@hp-ufficio:~# blockdev –getbsz /dev/sdd1
blockdev: cannot open /dev/sdd1: No such file or directory
root@hp-ufficio:~#

Tuttavia la dimensione dei dischi viene correttamente rilevata con i comandi a basso livello:

root@hp-ufficio:~# sg_readcap –16 /dev/sdc
Read Capacity results:
Protection: prot_en=0, p_type=0, p_i_exponent=0
Logical block provisioning: lbpme=0, lbprz=0
Last logical block address=976754645 (0x3a3817d5), Number of logical blocks=976754646
Logical block length=4096 bytes
Logical blocks per physical block exponent=0
Lowest aligned logical block address=0
Hence:
Device size: 4000787030016 bytes, 3815447.8 MiB, 4000.79 GB
root@hp-ufficio:~# sg_readcap –16 /dev/sdd
Read Capacity results:
Protection: prot_en=0, p_type=0, p_i_exponent=0
Logical block provisioning: lbpme=0, lbprz=0
Last logical block address=7814037167 (0x1d1c0beaf), Number of logical blocks=7814037168
Logical block length=512 bytes
Logical blocks per physical block exponent=0
Lowest aligned logical block address=0
Hence:
Device size: 4000787030016 bytes, 3815447.8 MiB, 4000.79 GB
root@hp-ufficio:~#

Mi gratto la testa ed inizio a cercare qualche notizia in rete. Incappo in un paio di post in cui si parla di problemi analoghi e di questo problema. Decido quindi di aggiornare il firmware della docking, seguendo le istruzioni trovate in questo sito. L’aggiornamento è fattibile solo in ambiente windows. Il firmware originale del dispositivo (acquistato a febbraio 2018) è davvero vecchio. Installo la versione 124. Dopo l’aggiornamento la situazione è questa:

Disco2, creato con Vultech e messo nella docking station funziona perfettamente.
Disco1, creato con la docking prima dell’aggiornamento, collegato alla Vultech non viene visto, se collegato alla docking idem. Problema risolto? Provo a ricreare una partizione ed un file system su Disco1 nella docking. Adesso funziona tutto, il Vultech vede il disco e la partizione e li usa correttamente!

RSS
Facebook
Google+
http://www.iz6cus.it/blog/author/adelmo">
Twitter
LinkedIn

Please follow and like us:

Esp8266 ed http, che fatica!

Operazioni di restauro della stazione meteo, allagata e poi ripristinata con un nuovo circuito stampato, qualche sensore nuovo, connettori stagni e fori di sfogo dell’umido. Una persona ragionevole pensa “il più è fatto” e “basta rimettere il software vecchio e tutto funzionerà come prima”. Nemmeno per sogno. Il software vecchio funziona, ma non carica i dati sul server.

Il caricamento dei dati sul server avviene attraverso un banalissimo script PHP che viene invocato da un GET HTTP, con tutta una serie di parametri, una cosa di questo tipo:
http://192.168.x.y/meteo/add.php?temperatura=19.48&umidita=77.29&pressione=995.74&dewpoint=15.40&direzione=234.45&velocita=7.22&pioggia=0&sensore=tetto

Sul server la cosa funziona così:
192.168.x.r – – [20/May/2018:19:38:36 +0200] “GET /meteo/add.php?temperatura=22.68&umidita=52.19&pressione=99696.80&dewpoint=12.38&direzione=234.45&velocita=1.03&pioggia=0&sensore=tetto HTTP/1.1” 400 0 “-” “-“

Tutto finisce con un “400, bad request”. Se la chiamata viene inviata da un browser (copia ed incolla della STESSA stringa), tutto funziona:
192.168.x.k – – [20/May/2018:19:38:43 +0200] “GET /meteo/add.php?temperatura=23.22&umidita=50.15&pressione=99699.11&dewpoint=12.27&direzione=165.76&velocita=6.91&pioggia=0&sensore=tetto HTTP/1.1” 200 453 “-” “Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.181 Safari/537.36”

Ho cercato informazioni in rete ed ho visto che il protocollo HTTP, con il metodo GET, richiede che siano passati una serie di parametri al server:
GET
Host
User-Agent
Connection

Ottime informazioni si trovano su questo link. In pratica RFC che descrive il protocollo. Una prima versione del mio firmware inviava una stringa senza “user-agent”. Aggiunto questo parametro l’errore è rimasto. Il debug del problema lo ho effettuato con tcpdump sotto linux, impostando l’opzione “-vvv”, che analizza completamente il protocollo. Analizzando bene il traffico, ho notato che il campo host era valorizzato in modo errato. Come si evince dal RFC, la mancata valorizzazione del campo comporta un “bad request” da parte del serve. Ho modificato il codice impostando il campo “host” a “localhost” e tutto ha iniziato a funzionare. Vabbè, ho perso 3 giorni di tempo, sono stato due ore sul tetto ma ho imparato un sacco di cose! Di seguito l’analisi del protocollo fatta con tcpdump.

GET /meteo/add.php?temperatura=19.54&umidita=72.92&pressione=99537.58&dewpoint=14.55&direzione=94.69&velocita=0.00&pioggia=0&sensore=tetto HTTP/1.1
Host: localhost
User-Agent: wget/1.12
Connection: close

Questo invece il codice in ESP8266:

void http_client(){
Serial.println(“HTTP CLIENT: ———————————————————————–“);
Serial.print(“Host: “);
Serial.println(host);
Serial.print(“Port: “);
Serial.println(httpPort);
if (!WFclient.connect(host, httpPort)) {
Serial.println(“connection failed”);
++wrong;
error_flag=1;
return;
}
String agent = “wget/1.12”;
String hosth = “localhost”;
delay(100);
String url = “/meteo/add.php?”;
url += “temperatura=”;
url += temp;
url += “&umidita=”;
url += humi;
url += “&pressione=”;
url += pres;
url += “&dewpoint=”;
url += dewp;
url += “&direzione=”;
url += wdirection;
url += “&velocita=”;
url += wspeed;
url += “&pioggia=”;
url += pioggias;
url += “&sensore=”;
url += sensore;

Serial.print(“Requesting URL: “);
Serial.println(url);

WFclient.print(String(“GET “) + url + ” HTTP/1.1\r\n” + “Host: ” + hosth + “\r\n” + “User-Agent: ” + agent + “\r\n” + “Connection: close\r\n\r\n”);

unsigned long timeout = millis();
while (WFclient.available() == 0) {
if (millis() – timeout > 10000) {
Serial.println(“>>> Client Timeout !”);
WFclient.stop();
return;
}
}

E per adesso… funziona.

RSS
Facebook
Google+
http://www.iz6cus.it/blog/author/adelmo">
Twitter
LinkedIn

Please follow and like us:

Lavori e sensori

In soffitta è presente un sensore BME280 che monitòra temperatura, umidità e pressione. Fino ad oggi ha fornito dati molto interessanti, che mi hanno fatto capire come il sottotetto della mia abitazione sia davvero coibentato in modo “povero”.

Nella speranza di migliorare il comfort termico di casa, ho iniziato dei lavori di coibentazione, utilizzando polisterene estruso da 50mm (LAPE XDUR 300W). I pannelli li incollo con Mapetherm Ar1 gg del quale sono riuscito a capire la corretta miscelazione solo ieri (dopo 25kg). Una volta incollati i pannelli, applico un sottile strato di Rasacote 5, la rete e quindi nuovamente l’intonaco. Questo è a base gesso e rilascia tantissima acqua. Tutta questa acqua satura il sottotetto, come evidenziato dall’andamento di temperatura ed umidità.

Il calo drastico dell’umidità nel grafico è dato dalla apertura della finestra, che ha fatto “defluire” l’aria calda ed umida presente nell’ambiente. Spero di finire in fretta i lavori per potere avere un riscontro sul “caldo” nel sottotetto.

RSS
Facebook
Google+
http://www.iz6cus.it/blog/author/adelmo">
Twitter
LinkedIn

Please follow and like us: