使用 XBee 发送 Java 地图 <Integer,String>
Send a Java Map<Integer,String> With XBee
我会用 XBee 发送 Java 映射,但我在 Git 存储库中看到他们如何发送字节 []。如何发送我的地图?
我想为此使用 Python,但我更喜欢对所有人使用 Java 而不是对所有人使用 Java 除非发送消息。
这是我的代码:
public class Comunicacion {
/* Constants */
private static final String PORT = "ttyUSB0";
private static final int BAUD_RATE = 9600;
private static Map<Integer, String> dataToSend = new HashMap<Integer, String>();
public static void main(String[] args) {
XBeeDevice myDevice = new XBeeDevice(PORT, BAUD_RATE);
byte[] dataInByte = dataToSend.getBytes();
try {
myDevice.open();
System.out.format("Sending broadcast data: '%s'", new String(dataInByte));
myDevice.sendBroadcastData(dataInByte);
System.out.println(" >> Success");
} catch (XBeeException e) {
System.out.println(" >> Error");
e.printStackTrace();
System.exit(1);
} finally {
myDevice.close();
}
}
只是将几乎所有内容转换为二进制字符串的示例...
但是我不确定您发送此信息的内容以及所需的 headers。 None越少,这可能会得到你想要的,一个转换后的二进制值。
public class JavaApplication10 {
static HashMap<String, Boolean> map = new HashMap<>();
public static void main(String[] args){
byte[] dataInByte = map.toString().getBytes();
String sender ="";
for (byte b : dataInByte) {
sender = sender + (Integer.toBinaryString(b));
}
System.out.println(sender);
}
}
我会用 XBee 发送 Java 映射,但我在 Git 存储库中看到他们如何发送字节 []。如何发送我的地图? 我想为此使用 Python,但我更喜欢对所有人使用 Java 而不是对所有人使用 Java 除非发送消息。
这是我的代码:
public class Comunicacion {
/* Constants */
private static final String PORT = "ttyUSB0";
private static final int BAUD_RATE = 9600;
private static Map<Integer, String> dataToSend = new HashMap<Integer, String>();
public static void main(String[] args) {
XBeeDevice myDevice = new XBeeDevice(PORT, BAUD_RATE);
byte[] dataInByte = dataToSend.getBytes();
try {
myDevice.open();
System.out.format("Sending broadcast data: '%s'", new String(dataInByte));
myDevice.sendBroadcastData(dataInByte);
System.out.println(" >> Success");
} catch (XBeeException e) {
System.out.println(" >> Error");
e.printStackTrace();
System.exit(1);
} finally {
myDevice.close();
}
}
只是将几乎所有内容转换为二进制字符串的示例... 但是我不确定您发送此信息的内容以及所需的 headers。 None越少,这可能会得到你想要的,一个转换后的二进制值。
public class JavaApplication10 {
static HashMap<String, Boolean> map = new HashMap<>();
public static void main(String[] args){
byte[] dataInByte = map.toString().getBytes();
String sender ="";
for (byte b : dataInByte) {
sender = sender + (Integer.toBinaryString(b));
}
System.out.println(sender);
}
}