[Risolto] led per stato wi fi

Linguaggi di programmazione: php, perl, python, C, bash, ecc.

[Risolto] led per stato wi fi

Messaggioda Montanaro » mercoledì 19 dicembre 2018, 10:42

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: 84
Iscrizione: aprile 2018
Desktop: ubuntu
Distribuzione: linux embedded 3.10.17
Sesso: Maschile

Re: led per stato wi fi

Messaggioda Montanaro » mercoledì 19 dicembre 2018, 10:43

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]
Montanaro
Prode Principiante
 
Messaggi: 84
Iscrizione: aprile 2018
Desktop: ubuntu
Distribuzione: linux embedded 3.10.17
Sesso: Maschile

Re: led per stato wi fi

Messaggioda giulux » mercoledì 19 dicembre 2018, 11:05

Sposto in programmazione.
Leggete per favore la descrizione delle varie sezioni prima di postare, grazie.
con l'aiuto della comunità le cose si mettono quasi sempre a posto (e non apposto), a parte (e non apparte) qualche caso ...
Avatar utente
giulux
Amministratore
Amministratore
 
Messaggi: 22484
Iscrizione: gennaio 2010
Località: Roma
Desktop: xubuntu - ubuntu 18.04
Distribuzione: Ubuntu+Xubuntu 18.04.2 LTS x86_64
Sesso: Maschile

Re: led per stato wi fi

Messaggioda Montanaro » mercoledì 19 dicembre 2018, 11:18

giulux Immagine 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.
Montanaro
Prode Principiante
 
Messaggi: 84
Iscrizione: aprile 2018
Desktop: ubuntu
Distribuzione: linux embedded 3.10.17
Sesso: Maschile

Re: led per stato wi fi

Messaggioda DoctorStrange » mercoledì 19 dicembre 2018, 12:03

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.
Avatar utente
DoctorStrange
Entusiasta Emergente
Entusiasta Emergente
 
Messaggi: 1513
Iscrizione: ottobre 2015
Località: Roma, Italia
Desktop: Unity
Distribuzione: Ubuntu 16.04.03 Xenial Xerus
Sesso: Maschile

Re: led per stato wi fi

Messaggioda Montanaro » mercoledì 19 dicembre 2018, 14:13

DoctorStrange Immagine 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: 84
Iscrizione: aprile 2018
Desktop: ubuntu
Distribuzione: linux embedded 3.10.17
Sesso: Maschile

Re: led per stato wi fi

Messaggioda Montanaro » mercoledì 19 dicembre 2018, 16:45

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: 84
Iscrizione: aprile 2018
Desktop: ubuntu
Distribuzione: linux embedded 3.10.17
Sesso: Maschile

Re: led per stato wi fi

Messaggioda Montanaro » lunedì 14 gennaio 2019, 11:27

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.
Montanaro
Prode Principiante
 
Messaggi: 84
Iscrizione: aprile 2018
Desktop: ubuntu
Distribuzione: linux embedded 3.10.17
Sesso: Maschile


Torna a Programmazione

Chi c’è in linea

Visualizzano questa sezione: 0 utenti registrati e 1 ospite