Forum des Objets Communicants et Solutions pour les Libérer...


 
AccueilAccueil  GalerieGalerie  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  Connexion  

Partagez | 
 

 [DANGER, irréversible] Retirer la dépendance à la connexion au réseau

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Vincent14
Lapin nain
Lapin nain


Localisation : Caen
Nbr de messages : 23
Carottes : 378

MessageSujet: [DANGER, irréversible] Retirer la dépendance à la connexion au réseau   Jeu 14 Avr 2016 - 22:50

Si vous avez réalisé un programme embarqué sur la bête qui ne nécessite aucune connexion à Internet, ceci peut vous intéresser.

Dans le fichier /karotz/OkSetup/yaffs_start.sh, ligne 41 on peut lire :
Citation :
/usr/bin/python /usr/scripts/wait_until_connected.py

J'ai été très surpris de voir le contenu du script wait_until_connected.py, car l'API HTTP peut être appelée depuis le lapin lui même via des scripts en Python. Le lapin peut être parfaitement autonome et finir sa vie bloqué si vous l'emportez dans un autre batiment (!) loin de votre wifi.

J'ai rendu ce script non-bloquant en modifiant cette section comme il suit :
Citation :
# Tout en haut
import threading

# ...
# ...
# ...

#main

def retry_connexion():
   if len(sys.argv) > 1 and sys.argv[1] == "--quiet":
        wait_until_connected(False)
    else:
        wait_until_connected(True)

connexion_thread = threading.Thread(None, retry_connexion)
connexion_thread.start()
connexion_thread._Thread__stop()

Mon Karotz s'allume désormais quoi qu'il arrive yellownabzsmile MAIS même dans des conditions normales je ne parviens plus à m'y connecter (je ne trouve plus son ip sur le réseau).

Avez vous une idée pour rendre la connexion au réseau facultative sans toutefois la perdre ?
Revenir en haut Aller en bas
DutchRabbits
Lapin nain
Lapin nain


Localisation : Netherlands
Nbr de messages : 41
Carottes : 476

MessageSujet: Re: [DANGER, irréversible] Retirer la dépendance à la connexion au réseau   Dim 17 Avr 2016 - 14:50

Vincent,

The networking code from Karotz is a real mess. I'm not sure why threading doesn't work, but you can change the "wait_until_connected.py" to give up after a short amount of time.

On line 55, add a retry-counter.
On line 56, check for the counter for a number of retries (for example 3)
On line 60, lower the timeout (it is in seconds).
On line 61, increment the counter.

Current code:

Code:


    while 1:
        os.system("logger -s \"[START] loading wifi config\"")
        if not ethernet and wifi:
            config.load_wifi()
            if not network.wait_wifi_status(300):
                continue
        
        if ethernet: config.load_ip("eth0")
        if wifi: config.load_ip("wlan0")
    
        os.system("logger -s \"[START] asking for ip\"")
        if not network.wait_ip(300):
            continue
        os.system("logger -s \"[START] network is ready to go\"")
        break


New code:

Code:


    retrycount=0
    while retrycount < 3:
        os.system("logger -s \"[START] loading wifi config\"")
        if not ethernet and wifi:
            config.load_wifi()
            if not network.wait_wifi_status(10):
                retrycount+=1
                continue
        
        if ethernet: config.load_ip("eth0")
        if wifi: config.load_ip("wlan0")
    
        os.system("logger -s \"[START] asking for ip\"")
        if not network.wait_ip(300):
            continue
        os.system("logger -s \"[START] network is ready to go\"")
        break

Revenir en haut Aller en bas
http://www.freerabbits.nl
 
[DANGER, irréversible] Retirer la dépendance à la connexion au réseau
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Lorsque la colère prend le dessus , il y a des dégâts irréversible | Katsya & Anaé
» pb connexion le réseau nabaztagXX est invisible
» [résolu] Problème de connexion au réseau sans fil Nabaztag
» Saint Gapour: Ville en danger?
» Pb de connexion à Ma nablife

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Forum des Objets Communicants et Solutions pour les Libérer... :: II. Nabaztag, Karotz, mir:ror, Dal:Dal (Violet Object Operating System) :: Le monde de Karotz-
Sauter vers: