Kite Payload Release

Il piccolo progetto ha come scopo rilasciare un carico quando l’aquilone raggiunge una determinata altezza.

Per il progetto usiamo i seguenti componenti:

ESP8266, microcontrollore

BME280 per la misura dell’altitudine

EFLA405 servo motore per il rilascio di carichi

Il progetto lo puoi trovare su GitHub a questo link https://github.com/hellosarobotics/KitePayloadRelease

Avvio del sistema

  1. Accensione ESP8266
    • Si inizializza la connessione Wi-Fi in modalità Access Point (KiteRelease).
    • Si inizializza il sensore BME280 (se presente).
    • Si imposta il servomotore in posizione “chiuso”.
    • Si legge la pressione di riferimento salvata nella memoria EEPROM.
    • Si prende come riferimento l’altitudine attuale (altitudine relativa = 0).

Funzionamento principale (loop)

  1. Lettura dati sensore
    • Temperatura, umidità, pressione atmosferica.
    • Calcolo dell’altitudine assoluta e relativa.
    • Aggiornamento dell’altitudine massima raggiunta.
  2. Controllo automatico di sgancio
    • Se è impostata una quota di sgancio (>0) e il carico non è stato ancora rilasciato:
      • Se l’altitudine relativa è maggiore o uguale alla quota di sgancio:
        Comando di sgancio (servo in posizione di rilascio → poi ritorna chiuso).
        → Stato Carico rilasciato = true.
  3. Gestione webserver
    • L’ESP8266 risponde alle pagine richieste dal browser all’indirizzo 192.168.4.1
      • Pagina principale: mostra i dati del sensore e lo stato del rilascio (verde da rilasciare / rosso rilasciato).
      • Endpoint dati: restituisce i valori in formato JSON per aggiornare dinamicamente la pagina.
      • Form pressione livello mare: salva un nuovo valore di riferimento in EEPROM.
      • Form quota di sgancio: imposta la quota per il rilascio automatico e resetta lo stato.
      • Pulsante “RILASCIA”: sgancio manuale immediato.
      • Pulsante “Reset Altitudine”: azzera l’altitudine relativa, l’altitudine massima e lo stato di rilascio.

Cosa vede l’utente sulla pagina

  • Temperatura, umidità, pressione, altitudine assoluta e relativa, altitudine massima.
  • Un indicatore colorato:
    • Verde = carico non ancora rilasciato.
    • Rosso = carico già rilasciato.
  • Pulsanti e form per modificare la pressione di riferimento, la quota di sgancio, azzerare l’altitudine e rilasciare manualmente il carico.

Auto Power Off Circuit

Finalmente e’ tra noi. Un piccolo circuito pensato per il dispositivo WeMos D1 Mini per simulare quello fa il dash button di Amazon.
Con questo circuito potete accendere il vostro device per il tempo necessario ad effettuare le operazioni e quindi spegnere di nuovo tutto.

NON E’ DEEP SLEEP. Quindi quando il device e’ spento, non c’e’ consumo di corrente. Un’ottima soluzione per risparmiare batteria.

Foto circuito 30 mm X 30 mm
Esempio di collegamento

Su GitHub potete recuperare il codice per testare il circuito e fare le vostre espansioni: https://github.com/hellosarobotics/Simple-PowerOff-Program-Using-BLIP-and-WeMosD1Mini

Il circuito puo’ essere acquistato su Ebay

Eclipse, cancellare la lista dei workspace

Capita molto spesso che la lista dei workspace diventa obsoleta ed e’ comodo cancellare qualche riga. In Eclipse Neon il file da editare e’:

{pathToEclipse}/configuration/.settings/org.eclipse.ui.ide.prefs
MAX_RECENT_WORKSPACES=10
RECENT_WORKSPACES=/home/andrea/Documents/ProgettiEasyCloud/Ing/inbound\n/home/andrea/Documents/ProgettiEasyCloud/WebContainer/2018WorkspaceMaven\n/home/andrea/Documents/ProgettiEasyCloud/FerrovieNord/Progetto RINF 2020/eclipseworkspace\n/home/andrea/Documents/ProgettiEasyCloud/Maffei/EclipseWorkspace\n/home/andrea/Documents/ProgettiEasyCloud/Raccolta MRN/letturaMrnDaPortale
RECENT_WORKSPACES_PROTOCOL=3
SHOW_RECENT_WORKSPACES=true
SHOW_WORKSPACE_SELECTION_DIALOG=true
eclipse.preferences.version=1

Quindi cancellando i paths che non servono dalla variabile RECENT_WORKSPACE otterremo una lista pulita all’apertura di Eclipse.

mysqli_real_connect(): (HY000/1045): Access denied for user ‘admin’@’localhost’ (using password: YES)

Con le ultime versioni di mysql-server-8 l’utente root non ha più i permessi per loggarsi in phpmyadmin.

Per risolvere questo problema, dobbiamo creare un nuovo utente e assegnare tutti i permessi.

mysql> CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';
mysql> GRANT ALL PRIVILEGES ON * . * TO 'newuser'@'localhost';

Cambiare lo splash screen su Raspberry pi

Cambiare lo splash screen e’ molto semplice.
Bisogna sostituire il seguente file con il vostro.

/usr/share/plymouth/themes/pix/splash.png

ed il gioco e’ fatto. BUON DIVERTIMENTO!

Possiamo aggiungere altre opzioni alla nostra raspberry pi per rendere tutto piu’ carino:
Aggiungendo la linea seguente al file /boot/cmdline.txt

splash quiet plymouth.ignore-serial-consoles logo.nologo vt.global_cursor_default=0

DOVE

splash: abilita splash image
quiet: diabilita i messaggi testuali di boot
plymouth.ignore-serial-consoles: e’ necessario agguingerlo
logo.nologo: Nascondiamo i logo raspberry pi in alto a sinistra.
vt.global_cursor_default=0: togliamo il cursore lampeggiante.

Possiamo anche togliere l’arcobaleno all’inizio semplicemente editando il file /boot/config.txt e aggiungendo all fine la seguente riga

disable_splash=1

Ma non e’ finita! Togliamo anche le scritte che compaiono sotto lo splash screen editando il file /usr/share/plymouth/themes/pix/pix.script e commentando le seguenti linee:

message_sprite = Sprite();
message_sprite.SetPosition(screen_width * 0.1, screen_height * 0.9, 10000);
my_image = Image.Text(text, 1, 1, 1);
message_sprite.SetImage(my_image);

TADAAAAAA!

GRUB Ubuntu 18.04 – Cambiamo il sistema operativo di default

Dopo aver installato Ubuntu 18.04 insieme ad altri sistemi operativi, il pc parte in automatico con la distribuzione di ubuntu. Alcuni utenti pero’ preferiscono che il proprio PC parta in automatico con un altro sistema operativo all’avvio. Vediamo come fare…

Editiamo il seguente file:

 sudo nano /etc/default/grub 

Quindi in corrispondenza della riga

GRUB_DEFAULT=0

modifichiamo lo 0 con il valore della riga che vorremmo come default. (0 e’ la prima riga)

Dopo eseguiamo il comando ‘update-grub’ per aggiornare il grub con la modifica appena effettuata.