使用XBee发送Java Map <integer,string>

时间:2016-09-06 19:56:49

标签: java xbee

我会发送一个带有XBee的Java Map,但我在Git仓库中看到它们如何发送byte []。我该如何发送地图? 我认为使用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();
    }
}

1 个答案:

答案 0 :(得分:0)

只是将二维字符串转换为二进制字符串的示例... 但是,我不确定您发送此信息的内容以及所需的标题。尽管如此,这可能会得到你想要的,一个转换后的二进制值。

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);   
    }
}