@ruJumi

Передача данных по udp с arduino на сервер на java?

Всем доброго времени суток!
Подскажите как решить следующую проблему, бьюсь уже пару дней.
Для теста написал простой udp сервер на java (взял пример):
import java.io.*;
import java.net.*;

class UDPClient
{
   public static void main(String args[]) throws Exception
   {
      BufferedReader inFromUser =
         new BufferedReader(new InputStreamReader(System.in));
      DatagramSocket clientSocket = new DatagramSocket();
      InetAddress IPAddress = InetAddress.getByName("192.168.31.157");
      byte[] sendData = new byte[1024];
      byte[] receiveData = new byte[1024];
      String sentence = inFromUser.readLine();
      sendData = sentence.getBytes();
      DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, IPAddress, 9876);
      clientSocket.send(sendPacket);
      DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length);
      clientSocket.receive(receivePacket);
      String modifiedSentence = new String(receivePacket.getData());
     System.out.println("FROM SERVER:" + modifiedSentence);
        clientSocket.close();
   }
}


С сервера на arduino отправляется строка, arduino в свою очередь отвечает отправляя показания датчика температуры:
Udp.read(packetBuffer,UDP_TX_PACKET_MAX_SIZE);
    Serial.println("Contents:");
    Serial.println(packetBuffer);
    char ch = temperatureC;
    Udp.beginPacket(Udp.remoteIP(), Udp.remotePort());
    Udp.write(ch); 
    Udp.endPacket();

С сервера все уходит, arduino все принимает и отправляет, но вывод сервера либо пуст, либо знак ?
5b05c313e2327765626518.png
Как можно решить данную проблему?
Заранее спасибо за ответы
  • Вопрос задан
  • 603 просмотра
Решения вопроса 1
@ruJumi Автор вопроса
Проблему решил: вместо Udp.write(ch) использую Udp.print(ch)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы