Primi passi con Arduino e oscilloscopio

Usiamo un oscilloscopio per studiare le uscite di Arduino usando le funzioni digitalWrite() e analogWrite().

Lo sketch blink

Carichiamo sull’Arduino il classico sketch del LED lampeggiante:

void setup() {
  pinMode(LED_BUILTIN, OUTPUT);
}
void loop() {
  digitalWrite(LED_BUILTIN, HIGH);
  delay(1000); 
  digitalWrite(LED_BUILTIN, LOW);
  delay(1000);                       
}

Il LED sarà acceso per 1 secondo (quando l’uscita è a 5 volt rispetto a GND) e spento per 1 secondo (quando l’uscita è a 0 volt rispetto a GND), avrà quindi un periodo di 2 secondi, che equivale a una frequenza di 0,5 Hz (500 mHz, dove mHz sta per millihertz) e un ciclo di lavoro (duty cycle) del 50%.

Questo è solo un programma di esempio perché l’attesa attiva con la funzione delay() non permette di eseguire altre istruzioni, questo programma non può fare altro.

Verifica con l’oscilloscopio

Su Arduino Uno e Mega il LED è collegato sul pin 13 quindi la sonda dell’oscilloscopio deve essere collegata con il morsetto a coccodrillo su GND e il puntale di misura sul pin 13.

Leggi tutto Primi passi con Arduino e oscilloscopio

Perchè abbiamo bisogno di una VPN ?

Ogni provider che fornisce un collegamento ad internet offre o richiede un modem/router che ci permette di accedere e navigare in rete ma che allo stesso tempo impedisce a chiunque dall’esterno di arrivare alle risorse dei nostri PC. E’ un’efficace protezione, ma impedisce  una qualsiasi pubblicazione di servizi o risorse. Se vogliamo condividere una cartella con dei files, un nostro sito web, un programma che comunica in rete, non possiamo perchè il modem/router impedisce l’accesso dall’esterno.

Una soluzione al problema è quella di creare una rete VPN dove i client si collegano ad un nostro server di rete impiegando WireGuard. I client (due o più computer) aprono delle connessioni verso il server di rete e questo fa da “ponte” (bridging) permettendo la comunicazione fra i client. Al termine della configurazione oltre alla nostra rete di casa, es: 192.168.1.x avremo un’altra rete es: 10.1.2.x con la quale comunicheremo con gli altri PC connessi.

Non ci dobbiamo preoccupare dei numeri di rete, il server avrà un servizio DNS che ci permetterà di accedere con i classici nomi di dominio, es: clientA.famigliarossi.vpn, clientB.famigliarossi.vpn, etc…

Nei prossimi articoli vedremo in dettaglio come configurare la nostra rete VPN personale.

Pubblicato in Vari

Configurazione di una VPN con WireGuard (server)

La configurazione del server può essere fatta in vari modi, qui vengono indicati i punti principali (configurazione di wireguard, di iptables, del forwarding e di dnsmasq).

Per la configurazione di wireguard, è necessario generare una coppia di chiavi pubblica/privata per il server come descritto nel paragrafo precedente «Generazione delle chiavi».

È necessario creare un file con lo stesso nome dell’interfaccia di rete che si vuole creare (es. /etc/wireguard/wg0.conf) contente la chiave privata del server, la chiave pubblica di ciascun client e gli indirizzi IP statici di ciascuna macchina (per la sintassi vedere man wg).

Leggi tutto Configurazione di una VPN con WireGuard (server)
Pubblicato in Vari