sometimes some empty packets and incomplete data are received, and the most importantly the data transmission will be stuttered every once in a while,,which greatly affects the experimental data acquisition.please help me.
#include <JY901.h>
#include <ESP8266WiFi.h> // ESP8266WiFi library
/*
Test on Uno R3.
JY901 UnoR3
TX <---> 0(Rx)
*/
const char* ssid = "zzz"; // WiFi ssid
const char* password = "12345678"; // password
void setup()
{
Serial.begin(9600);
JY901.attach(Serial);
WiFi.mode(WIFI_STA); // Set the Wifi working mode to STA, and the default is AP+STA mode
WiFi.begin(ssid, password); // connect to WIFI
Serial.print("\r\nConnecting to "); // The serial monitor outputs network connection information
Serial.print(ssid); Serial.println(" ..."); //
int i = 0; //
while (WiFi.status() != WL_CONNECTED) //
{ //
delay(1000); // check WiFi.status() return value every 1 second
Serial.print("waiting for ");
Serial.print(i++); Serial.println("s...");
}
Serial.println(""); // WiFi connected successfully
Serial.println("WiFi connected!"); //
Serial.print("IP address: "); //
Serial.println(WiFi.localIP()); //
}
const char* host = "192.168.111.167";
const uint16_t port = 7788;
void loop()
{
/* create a new WiFiClient as TCP client */
JY901.receiveSerialData();
WiFiClient tcpclient;
/* Establish a TCP connection */
if (!tcpclient.connect(host, port)) {
Serial.println("connection failed"); // if connection failed,print info
return;
}
/*connect success,send data*/
if (tcpclient.connected()) {
/*send to server-----acceleration*/
Serial.println("connection succeed");
tcpclient.print("Acc:");
tcpclient.print(JY901.getAccX());
tcpclient.print(" ");
tcpclient.print(JY901.getAccY());
tcpclient.print(" ");
tcpclient.print(JY901.getAccZ());
tcpclient.print("\n");
/*send to server-----angular velocity*/
tcpclient.print("Gyro:");
tcpclient.print(JY901.getGyroX());
tcpclient.print(" ");
tcpclient.print(JY901.getGyroY());
tcpclient.print(" ");
tcpclient.print(JY901.getGyroZ());
tcpclient.print("\n");
/*send to server-----angle*/
tcpclient.print("Angle:");
tcpclient.print(JY901.getRoll());
tcpclient.print(" ");
tcpclient.print(JY901.getPitch());
tcpclient.print(" ");
tcpclient.print(JY901.getYaw());
tcpclient.print("\n");
}
}