olha já vi isso na comunicação com o java, e ele utilizava sim um carácter separador para identificar quando trocava de dados.
package arduinosupervisorio.serial;
public class Protocolo {
private String tipoMensagem;
private String temperatura;
private String umidade;
private String distancia;
private String alarme;
private String servo;
private String mensagem;
private String potenciometro;
public String getMensagem() {
return mensagem;
}
public void setMensagem(String mensagem) {
System.out.println("Setando mensagem..." + mensagem);
this.mensagem = mensagem;
interpretaMensagem();
}
private void interpretaMensagem(){
System.out.println("Interpretacao...");
String[] vetorMensagem = mensagem.split(",");
tipoMensagem = vetorMensagem[0];
temperatura = vetorMensagem[1];
umidade = vetorMensagem[2];
potenciometro = vetorMensagem[3];
alarme = vetorMensagem[4];
distancia = vetorMensagem[5];
vai ser algo parecido porém em C