2013-08-12 1 views
0

En utilisant l'API ifaddrs, j'ai pu détecter différentes interfaces comme eth0 (pour Ethernet)/wlan0 (Wi-Fi)/ppp0 (pour cellulaire).détecter le type de connexion réseau cellulaire (2G/EDGE/3G/HSPA/HSPDA/LTE) dans unix

J'ai lu cette discussion pour Android: Detect network connection type on Android

Que ce soit semblable à ces choses disponibles dans la programmation C/unix? c'est-à-dire que je peux différencier différentes interfaces cellulaires en utilisant le programme c dans unix?

Répondre

0

Ce type d'opération va dépendre à 100% du système, et la gestion des périphériques réseau est notoirement variable et ad hoc sur les systèmes Unix (par exemple, ils sont parfois en /dev, parfois non). Il ne semble pas exister de bibliothèque standard multi-plateforme pour gérer le problème. Si vous allez être en cours d'exécution sous Linux, vous pourrez peut-être demander des informations NetworkManager interface.

Voir aussi Detect network connection type in Linux

+0

est-il une API/bibliothèque disponible pour communiquer et récupérer les informations de ConnectionManager/NetworkManager? – prashant

+0

Une API DBUS est disponible pour parler. Je n'ai pas joué avec moi-même. – chrylis

0

Si vous utilisez un modem cellulaire, vous pouvez interroger directement en l'envoyant AT-commandes via le port série (Tx, Rx, Grnd). La référence du modem cellulaire doit avoir la commande dont vous avez besoin pour détecter le type de connexion en cours (par exemple si son modem cellulaire SIM900D, rechercher SIM900D AU GUIDE DE RÉFÉRENCE). Vous devez connaître le niveau de fonctionnement du modem cellulaire, par ex. niveau de tension TTL, et acheter la puce d'interface série à droite (par exemple ici est USB vers série https://www.sparkfun.com/products/9019) pour envoyer les commandes AT et à recevoir la sortie.

Questions connexes