t41_to_t41_comm/eth_tcp_sender.ino

66 lines
1.5 KiB
Arduino
Raw Permalink Normal View History

2025-02-17 06:24:35 +01:00
#include <NativeEthernet.h>
byte mac[] = { 0x04, 0xE9, 0xE5, 0x10, 0x00, 0x01 };
IPAddress ip(192, 168, 1, 100);
IPAddress serverIP(192, 168, 1, 101);
const int serverPort = 8888;
EthernetClient client;
2025-02-17 09:01:57 +01:00
#define package_size 1024
byte buffer[package_size];
2025-02-17 06:24:35 +01:00
void setup() {
2025-02-17 09:01:57 +01:00
Serial.begin(921600);
2025-02-17 06:24:35 +01:00
//while (!Serial);
Serial.println("Initializing Ethernet...");
Ethernet.begin(mac, ip);
if (Ethernet.hardwareStatus() == EthernetNoHardware) {
Serial.println("Ethernet hardware not found!");
while (true);
}
if (Ethernet.linkStatus() == LinkOFF) {
Serial.println("Ethernet cable not connected!");
}
Serial.println("Connecting to server...");
if (client.connect(serverIP, serverPort)) {
Serial.println("Connected to server!");
} else {
Serial.println("Connection failed.");
}
2025-02-17 09:01:57 +01:00
for (int i = 0; i < package_size; i++) {
2025-02-17 06:24:35 +01:00
buffer[i] = i; // Fill buffer with sample data (0-255)
}
2025-02-17 09:01:57 +01:00
send_package();
send_package();
send_package();
send_package();
send_package();
delay (3000);
send_package();
2025-02-17 06:24:35 +01:00
}
void loop() {
2025-02-17 09:01:57 +01:00
//delay(500); // Small delay to avoid overloading the receiver
}
void send_package(){
if (!client.connected()) {
2025-02-17 06:24:35 +01:00
Serial.println("Connection lost. Reconnecting...");
client.stop();
delay(1000);
client.connect(serverIP, serverPort);
return;
}
2025-02-17 09:01:57 +01:00
//Serial.println("Sending packet...");
client.write(buffer, package_size);
2025-02-17 06:24:35 +01:00
}