Galera estou fazendo um projeto em que um arduino recebe uma grande quantidade de caractere e necessita transmitir. São exatamente 13 caracteres.

Quando mando imprimir essa quantidade ele normalmente estoura a quantidade permitida e me retorna algo estranho nada a ver com o que eu queria

Exibições: 405

Responder esta

Respostas a este tópico

Flavio, bom dia!

Descreva melhor seu problema:

- Como o Arduino recebe esses caracteres? Pela serial ou por outro meio? Envie fotos ou diagramas de seus esquemas

- Onde você está imprimindo? Na Serial? No LCD

Envie seu sketch para analisarmos. Clique no link abaixo "Deseje carregar arquivos?"

Meu esquema é esse da foto acima um leitor de codigo de barras lê um codigo e passa pra um esp8266 um string de dados de 13 caracteres mas quando o leitor vai enviar para o monitor serial ele estoura e mostra um valor totalmente diferente.

#include <ESP8266WiFi.h>
#include <WiFiClient.h>


// WiFi - Coloque aqui suas configurações de WI-FI
const char ssid[] = "CEUB";
const char psw[] = "motamota";


// Site remoto - Coloque aqui os dados do site que vai receber a requisição GET
const char http_site[] = "https://DESKTOP-P1MME0R";
const int http_port = 80;

// Variáveis globais
WiFiClient client;
IPAddress server(192,168,2,101); //Endereço IP do servidor - http_site ver com ipconfig/all no IPV4 (preferencial)

void setup() {

Serial.begin(9600);
Serial.println("NodeMCU - Gravando dados no BD via GET");
Serial.println("Aguardando conexão");

// Tenta conexão com Wi-fi
WiFi.begin(ssid, psw);
while ( WiFi.status() != WL_CONNECTED ) {
delay(100);
Serial.print(".");
}
Serial.print("\nWI-FI conectado com sucesso: ");
Serial.println(ssid);

}

void loop() {

if (Serial.available()) //verifica se tem dados diponível para leitura
{
byteRead = Serial.read(); //le bytwe mais recente no buffer da serial
Serial.write(byteRead); //reenvia para o computador o dado recebido
}

Serial.println("Gravando dados no BD: ");
Serial.print(byteRead);

// Envio dos dados do sensor para o servidor via GET
/* if ( !getPage((byteRead) ) {
Serial.println("GET request failed");
}
}

// Executa o HTTP GET request no site remoto
bool getPage(byteRead) {
if ( !client.connect(server, http_port) ) {
Serial.println("Falha na conexao com o site ");
return false;
}
String param = "/?temp=" + byteRead; //Parâmetros com as leituras
Serial.println(param);
client.println("GET /weather/insert_weather.php" + param + " HTTP/1.1");
client.println("Host: ");
client.println(http_site);
Serial.println("gravado");
client.println("Connection: close");
client.println();
client.println();

// Informações de retorno do servidor para debug
while(client.available()){
String line = client.readStringUntil('\r');
Serial.println("gravado");

Serial.print(line);
}
return true;
}

Este é o codigo 

Bom dia.

Também estou com o mesmo problema.  Se conseguir resolver posta por favor.

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço