Domanda

Devo sviluppare software per una bilancia USB che, quando si preme un pulsante su di esso, invia comunicazioni seriali su USB. Riesco a vedere i valori in HyperTerminal.

Userò le classi .NET per la comunicazione seriale per intercettare i dati.

Il problema è che non ho la scala. La bilancia è collegata a un computer remoto in cui posso eseguire il RDP. Quando voglio testare, posso chiedere al cliente di premere il pulsante sulla bilancia.

Non posso chiedere al cliente di premere il pulsante 100 volte al giorno, ho bisogno di un modo per sviluppare con un'idea abbastanza ragionevole di ciò che la bilancia riporterà e testare solo quando penso di avere una soluzione.

Sto cercando qualcosa a livello locale, che può imitare la scala e inviare alle mie classi seriali .NET, lo stesso output della scala. Idealmente, se potessi registrare i dati della bilancia e quindi riprodurli su un'altra macchina, sarebbe perfetto.

Come lo farei?

È stato utile?

Soluzione

1) Estrarre il codice di comunicazione. In modalità test, alimentare la funzione logica da un flusso di file di dati anziché dal flusso seriale.

o

2) Se hai 2 porte seriali (o due pezzi), imposta un'app di emulazione di scala che comunica attraverso una porta e collegala all'altra porta su cui è in esecuzione il tuo software.

Altri suggerimenti

Se segui il percorso di emulazione della porta seriale, dai un'occhiata a com0com . Lo uso sempre per simulare comunicazioni con strumenti di laboratorio e funziona bene. Molto utile quando il tuo laptop non ha porte seriali.

Hai due problemi:

  1. Testa le tue classi seriali .NET per verificare che possano gestire la ricezione dei dati (qualsiasi dato) attraverso una porta seriale
  2. Testa l'applicazione per verificare che sia in grado di gestire il tipo specifico di dati che ottieni dalla bilancia

Puoi provare 1. collegando qualsiasi cosa in grado di generare dati (ad esempio un altro PC con Hyperterminal) alla porta seriale locale del tuo PC.

Puoi testare 2. sostituendo (a scopo di test) le tue classi seriali con un software che funge da oggetto "fittizio" per la combinazione di "classi seriali + scala" (ovvero quale feed nel programma, utilizzando l'API utilizzata dalle classi seriali, i dati che prevedi di ricevere dalla bilancia).

Puoi anche testare 1 e 2, tramite:

  • Scrivere un programma, che finge di essere la bilancia inviando il tipo di dati che la bilancia invierebbe
  • Esecuzione di questo programma per inviare dati fuori da una porta seriale
  • Utilizzo di un modem null per connettere le due porte seriali back-to-back (in modo che i dati inviati da una porta vengano ricevuti da un'altra nel tuo software).
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top