0
UDP를 통해 센서 데이터를 보내도록 스케치를 썼습니다. 나는 패키지 당 1 바이트의 간단한 전송을 얻고있다. 어떻게해야합니까 define
내 package
lenght
, buffer
이 필요합니까?UDP 패킷 크기 정의 (Arduino)
감사합니다. 아래
코드 :
//Version 1.05
//necessary libraries
#include <SPI.h>
#include <Ethernet2.h>
#include <EthernetUdp2.h>
//Pin settings
#define CTD 19
//Network Settings
byte mac[] = { 0x90, 0xA2, 0xDA, 0x10, 0xEC, 0xAB }; //set MAC Address Ethernet Shield (Backside)
byte ip[] = { XXX, XXX, X, X }; //set IP-Address
byte gateway[] = { XXX, XXX, X, X }; //set Gateway
byte subnet[] = { 255, 255, 255, 0 }; //set Subnetmask
//local UDP port to listen on
unsigned int localPort = 5568;
//Recipient IP
IPAddress RecipientIP(XXX, XXX, X, X);
//Recipient UDP port
unsigned int RecipientPort = 8888;
//Buffer for sending data
char packetBuffer[UDP_TX_PACKET_MAX_SIZE];
//EthernetUDP instance
EthernetUDP Udp;
//CTD data
int incomingData = 0;
void setup()
{
//Start Ethernet
Ethernet.begin(mac, ip);
//Start UDP
Udp.begin(localPort);
//for debug only
Serial.begin(9600);
//Serial baud rate for CTD
Serial1.begin(1200);
//Version 1.05
Serial.print("Version 1.05");
//CTD
pinMode(CTD, INPUT);
}
void loop()
{
//If CTD is sending
if (Serial1.available())
{
//read incoming data
incomingData = Serial1.read();
//for debug only
Serial.print("Data: ");
Serial.println(incomingData, BIN);
}
//Send UDP packets
//Debug only
Serial.print("Packet");
// send to the IP address and port
Udp.beginPacket(RecipientIP, RecipientPort);
Udp.write(incomingData);
Udp.endPacket();
}
을 나는 당신이 할 수있는 생각 참조 용으로 사용하십시오. – Billa
시도했지만 버퍼를 사용할 때 데이터가 없습니다. 내 데이터를 parsePacket 또는 packetSize에 어떻게 가져 옵니까? – TheTris