[Risolto] led per stato wi fi

Linguaggi di programmazione: php, perl, python, C, bash e tutti gli altri.
Montanaro
Prode Principiante
Messaggi: 164
Iscrizione: lunedì 16 aprile 2018, 20:56
Desktop: ubuntu
Distribuzione: linux embedded 3.10.17
Sesso: Maschile

[Risolto] led per stato wi fi

Messaggio da Montanaro »

Ho da gestire un led che indichi lo stato del wifi.

Quindi:
1) segnali rimanendo acceso che è partitoiil wi fi (ricerca).
2) segnali blinkando lentamente che si è agganciati alla rete
3) segnali blinkando velocemente che si sta tramettendo.



Pensavo di farlo in questo modo:


1- lanciare il comando scan
2-memorizzare le reti su un file testo
3- se sono presenti 10 reti, sceglierne una e inserirmi
4- avviare la connessione con un wpa_config e udhcpc.script


Al punto 2 mi manca come memorizzare in file, i risultati della scansione. esiste qualche comando?

Al punto 4, mi servirebbe qualche flag/variabile di uhcpc.script che mi indichi che :
a) la connessione è avvenuta
b) (se esiste) che si sta trasmettendo/ricevendo il dato



Ogni suggerimento è ben accetto :sisi:
Ultima modifica di trekfan1 il lunedì 14 gennaio 2019, 20:56, modificato 2 volte in totale.
Motivazione: Il [Risolto] va messo preferibilmente ad inizio titolo evitando il tutto maiuscolo
Montanaro
Prode Principiante
Messaggi: 164
Iscrizione: lunedì 16 aprile 2018, 20:56
Desktop: ubuntu
Distribuzione: linux embedded 3.10.17
Sesso: Maschile

Re: led per stato wi fi

Messaggio da Montanaro »

il codice del mio udhcpc.script:


Codice: Seleziona tutto

[i]#!/bin/sh
# Sample udhcpc renew script

RESOLV_CONF="/etc/resolv.conf"

[ -n "$broadcast" ] && BROADCAST="broadcast $broadcast"
[ -n "$subnet" ] && NETMASK="netmask $subnet"

/sbin/ifconfig $interface $ip $BROADCAST $NETMASK

if [ -n "$router" ]
then
        echo "deleting routers"
        while /sbin/route del default gw 0.0.0.0 dev $interface
        do :
        done

        metric=0
        for i in $router
        do
                /sbin/route add default gw $i dev $interface metric $((metric++))
        done
fi

echo -n > $RESOLV_CONF
[ -n "$domain" ] && echo domain $domain >> $RESOLV_CONF
for i in $dns
do
        echo adding dns $i
        echo nameserver $i >> $RESOLV_CONF
done[/i]
Avatar utente
giulux
Amministratore
Amministratore
Messaggi: 25426
Iscrizione: domenica 10 gennaio 2010, 12:17
Desktop: ubuntu 18.04
Distribuzione: Ubuntu 18.04.3 LTS x86_64
Sesso: Maschile
Località: Roma

Re: led per stato wi fi

Messaggio da giulux »

Sposto in programmazione.
Leggete per favore la descrizione delle varie sezioni prima di postare, grazie.
"Non è una segno di buona salute l'essere ben adattato ad una società malata". (Jiddu Krishnarmurti)
Montanaro
Prode Principiante
Messaggi: 164
Iscrizione: lunedì 16 aprile 2018, 20:56
Desktop: ubuntu
Distribuzione: linux embedded 3.10.17
Sesso: Maschile

Re: led per stato wi fi

Messaggio da Montanaro »

giulux [url=https://forum.ubuntu-it.org/viewtopic.php?p=5102180#p5102180][img]https://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:Sposto in programmazione.
Leggete per favore la descrizione delle varie sezioni prima di postare, grazie.

grazie :)


aggiungo a quanto scritto sopra che il led si accende o spegni scrivendo 1/0 nella sua cartella.
quindi collegato il wifi e trovati i flag/variabili che indicano l'attivarsi della connessione e della trasmissione dati, mi basta gestirlo con degli if.
Avatar utente
DoctorStrange
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 2872
Iscrizione: mercoledì 14 ottobre 2015, 9:33
Desktop: Gnome3
Distribuzione: Ubuntu 22.04 LTS Jammy Jellyfish
Sesso: Maschile
Località: Roma, Italia

Re: led per stato wi fi

Messaggio da DoctorStrange »

Potresti migliorarlo, in maniera che si connetta alla rete con il segnale più forte nel punto in cui ti trovi, oppure creare una tua lista personale di SSID di rete e modificare lo script in maniera tale che si connetta alla rete preferita.

Metti poi un'eccezione nel file sudoers al tuo script, in maniera che venga eseguito in automatico al verificarsi di opportune condizioni, come l'acensione della connessione.
Montanaro
Prode Principiante
Messaggi: 164
Iscrizione: lunedì 16 aprile 2018, 20:56
Desktop: ubuntu
Distribuzione: linux embedded 3.10.17
Sesso: Maschile

Re: led per stato wi fi

Messaggio da Montanaro »

DoctorStrange [url=https://forum.ubuntu-it.org/viewtopic.php?p=5102202#p5102202][img]https://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:Potresti migliorarlo, in maniera che si connetta alla rete con il segnale più forte nel punto in cui ti trovi, oppure creare una tua lista personale di SSID di rete e modificare lo script in maniera tale che si connetta alla rete preferita.

Metti poi un'eccezione nel file sudoers al tuo script, in maniera che venga eseguito in automatico al verificarsi di opportune condizioni, come l'acensione della connessione.
non so discriminare quando mi dà una connessione e quando invia il segnale .
da cosa lo vedo?

questo codice e lavoro è ereditato … dovrò capirlo :muro:
ogni spiegazione è una manna per me :)
avete una guida rapida da passarmi? un link con spiegazione molte semplice ?
Montanaro
Prode Principiante
Messaggi: 164
Iscrizione: lunedì 16 aprile 2018, 20:56
Desktop: ubuntu
Distribuzione: linux embedded 3.10.17
Sesso: Maschile

Re: led per stato wi fi

Messaggio da Montanaro »

per verificare che vi sia connessione stavo pensando di considerare:

Codice: Seleziona tutto

if [ -n "$router" ]
se l'if è negativo allora un else "./blink_led" (applicazione scritta altrove)

oppure fare un ping di google
ping 8.8.8.8

memorizzare il dato su un file

Codice: Seleziona tutto

script -a ~/file_con_testo_da_conservare
poi andare a cercare qualcosa in questo file che mi indichi che il computer è connesso.

che ne dite ?
Montanaro
Prode Principiante
Messaggi: 164
Iscrizione: lunedì 16 aprile 2018, 20:56
Desktop: ubuntu
Distribuzione: linux embedded 3.10.17
Sesso: Maschile

Re: led per stato wi fi

Messaggio da Montanaro »

era molto più semplice :)

all'interno della cartella wifi,
ovvero nel percorso sys/class/net/wlan0/carrier

carrier è un flag 1 o 0 a secondo il dispositivo sia agganciato alla rete o meno.
Scrivi risposta

Ritorna a “Programmazione”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 5 ospiti