C incorporato: controlla la connessione a Internet


8

Esiste un modo per verificare se effettivamente il mio dispositivo incorporato ha una connessione funzionante (ovvero può raggiungere la WAN)? Il mio dispositivo non ha RTOS, quindi non posso fare affidamento su funzionalità del sistema operativo come il ping. Vedo che il DHCP fornisce un IP corretto al mio dispositivo, ma non è vero al 100% che, dato un IP corretto, posso raggiungere ad esempio www.google.com.

Ho già fatto alcune ricerche e ci sono diversi approcci:

  1. è impossibile
  2. è una domanda stupida
  3. soluzioni alternative di ogni tipo, ma mi sento sicuro rispetto a SO, quindi ci proverò.

Quindi, se questa domanda ha 1) o 2) come risposte, la rimuoverò ed è ok.


Per cosa stai usando il dispositivo? Il controllo della connessione Internet verifica che la connessione funzioni quando in qualche modo la tua funzionalità principale non funziona?
Helmar

@Helmar Devo essere sicuro che la connessione a Internet funzioni perché ho bisogno di accedere al dispositivo da Internet e scambiare dati con esso
panc_fab

1
Non sono sicuro di capire cosa stai cercando di fare. Il tuo obiettivo è quello di accedere al dispositivo in qualsiasi momento da Internet da remoto, giusto? Quindi hai già un componente attivo sotto il tuo controllo su Internet. Perché non provi a raggiungere quel componente e fai qualunque cosa tu preveda di ristabilire la connettività in caso di errore?
Helmar

Sì, presumo che ciò che stai dicendo possa essere la cosa più intelligente da fare ... a volte mi perdo in problemi che non sono problemi, sono abbastanza nuovo nell'ambiente incorporato e mi confondo facilmente. Grazie! In seguito posterò una risposta per chiudere la domanda.
panc_fab,

Risposte:


4

Grazie ragazzi per il supporto. Ho finalmente usato il metodo descritto da Helmar in cui provo solo a raggiungere l'obiettivo desiderato e vedere. Se riesco a ottenere una risposta dalla destinazione, so che la mia connessione è attiva e funzionante, altrimenti riesco a disconnettere il dispositivo e riprovare con una nuova connessione nuova.


3

Non posso fare affidamento su funzionalità del sistema operativo come il ping.

Implementa il ping da solo. Probabilmente puoi trovare un esempio per la tua piattaforma.

Oppure contatta un servizio tramite qualche altro protocollo che puoi supportare; semplicemente non dare per scontato che il servizio rimarrà disponibile per tutta la vita del dispositivo, a meno che non sia un server che gestisci.

Devo accedere al dispositivo da Internet e scambiare dati con esso

Se il tuo vero obiettivo è consentire il traffico in entrata , in genere questa è una cattiva idea e difficile per gli utenti finali consentire alle loro reti di consentire. Invece, in genere si effettua / mantiene una connessione in uscita verso un server inattivo che potrebbe tunnel o inoltrare il traffico in entrata controllato destinato al dispositivo. È possibile dotare prontamente il codice che rende / mantiene / ricollega questo tunnel con un meccanismo di output per indicarne lo stato.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.