我是靠谱客的博主 背后帽子,最近开发中收集的这篇文章主要介绍TinyOS学习笔记12-节点与计算机利用串口通信2-数据包分析,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

节点与计算机利用串口通信2-数据包分析
1号节点和2号节点运行BlinkToRadio程序,BaseSation中snoop的作用就是即使1号发送数据指定目的地为2号节点,利用snoop也可以收到数据
使用命令,对串口进行监听
root@ubuntu:~# java net.tinyos.tools.Listen -comm serial@/dev/ttyUSB0:telosb
serial@/dev/ttyUSB0:115200: resynchronising
00 FF FF 00 01 04 00 06 00 01 01 E2
00 FF FF 00 02 04 00 06 00 02 01 B9
00 FF FF 00 01 04 00 06 00 01 01 E3
00 FF FF 00 02 04 00 06 00 02 01 BA

串口接收到的数据如上所示,其数据包的含义为:
00 FF FF 00 01 04 00 06 00 01 01 E2
00(数据包包头)
FF FF(目的地,广播FFFF为广播地址)
00 01(源地址,该信息为1号节点发送)
04(数据长度,4个字节)
00 (组号)
06(AM数据包的类型)
负载部分(用户定义)
00 01 (发送节点id)01 E2(计数,2字节)

对Listen程序java程序的分析:

package net.tinyos.tools;

import java.io.*;
import net.tinyos.packet.*;
import net.tinyos.util.*;
import net.tinyos.message.*;

public class Listen {
    //接收参数,建立连接
    public static void main(String args[]) throws IOException {
        String source = null;
        PacketSource reader;
        if (args.length == 2 && args[0].equals("-comm")) {
          source = args[1];
        }
    else if (args.length > 0) {
        System.err.println("usage: java net.tinyos.tools.Listen [-comm PACKETSOURCE]");
        System.err.println("       (default packet source from MOTECOM environment variable)");
        System.exit(2);
    }
        if (source == null) {   
        reader = BuildSource.makePacketSource();
        }
        else {
          //连接数据
        reader = BuildSource.makePacketSource(source);
        }
    if (reader == null) {
        System.err.println("Invalid packet source (check your MOTECOM environment variable)");
        System.exit(2);
    }

    try {
      reader.open(PrintStreamMessenger.err);//打开数据
      for (;;) {//一直循环监听数据
        byte[] packet = reader.readPacket(); //读到的数据交给packet
        Dump.printPacket(System.out, packet);//打印出来数据
        System.out.println();
        System.out.flush();
      }
    }
    catch (IOException e) {
        System.err.println("Error on " + reader.getName() + ": " + e);
    }
    }
}
 

最后

以上就是背后帽子为你收集整理的TinyOS学习笔记12-节点与计算机利用串口通信2-数据包分析的全部内容,希望文章能够帮你解决TinyOS学习笔记12-节点与计算机利用串口通信2-数据包分析所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(63)

评论列表共有 0 条评论

立即
投稿
返回
顶部