AirNet est un projet personnel qui mutualise intelligemment les connexions mobiles de groupes de 5 à 8 utilisateurs proches pour contourner la saturation du réseau cellulaire. Les appareils forment un réseau maillé local, compressent et chiffrent les données, puis sélectionnent dynamiquement le téléphone offrant le meilleur débit pour relayer collectivement les requêtes vers l’opérateur.
Projet : AirNet
Le but du projet :
Fichier explicatif de la solution
Structure Algorithmique
# Constantes MAX_TELEPHONES = 8 # Nombre maximum de téléphones dans le réseau mesh PROTOCOLE_LOCAL = "Bluetooth" # Protocole de connexion (Wi-Fi Direct, Bluetooth, etc.) # Initialisation du réseau mesh reseau_mesh = initialiser_reseau_mesh(PROTOCOLE_LOCAL) # Boucle principale pendant que AirNet est actif tant_que AirNet.est_actif(): # Gestion des nouveaux téléphones si un_nouveau_telephone_est_detecte(): si reseau_mesh.taille() < MAX_TELEPHONES: ajouter_telephone_au_reseau(nouveau_telephone) synchroniser_etat_reseau() sinon: rejeter_nouveau_telephone() # Réseau plein # Gestion des données à envoyer pour telephone dans reseau_mesh.telephones: si telephone.a_des_donnees_a_envoyer(): # Diviser les données en morceaux selon le nombre de téléphones morceaux = diviser_donnees(telephone.donnees, reseau_mesh.taille()) # Distribuer chaque morceau à un téléphone du réseau pour morceau, cible dans associer(morceaux, reseau_mesh.telephones): envoyer_morceau_au_telephone(morceau, cible) # Chaque téléphone relaie son morceau au réseau cellulaire si cible.a_un_morceau(): reponse = cible.envoyer_au_reseau_cellulaire(cible.morceau) cible.stocker_reponse(reponse) # Rassembler les réponses et reconstituer les données reponses = collecter_reponses_du_reseau_mesh() donnees_reconstituees = reassembler_donnees(reponses) # Renvoi des données au téléphone d'origine envoyer_au_telephone_original(donnees_reconstituees, telephone) # Gestion des départs si un_telephone_quitte_le_reseau(): retirer_telephone_du_reseau(telephone_partant) synchroniser_etat_reseau() # Maintenance périodique si temps_de_verifier_reseau(): verifier_connectivite_reseau() optimiser_chemins_routage()