Tinyos tutorial learning tips -- lesson 6

 
介绍了PC如何与传感器通讯,以及接收Sensor采集的数据并向Sensor发送数据。
1.       直接显示数据包内容:
先进入tools/java目录,输入make命令编译。
再设置环境变量: export MOTECOM=serial@COM1:tmote
                                       (端口) : (比特率,也可以采用数字)
然后开始监听:java net.tinyos.tools.Listen
完毕之后重置环境变量:unset MOTECOM
2.       图形显示数据包内容:
# SerialForwarder程序
java net.tinyos.sf.SerialForwarder -comm serial@COM1:tmote
注意:SerialForwarder监听时不使用MOTECOM变量,而需在命令行参数-comm处指定端口及比特率,这是因为:一般情况下使用SerialForwarder向串口发送包时会用到MOTECOM变量,如果它监听时也用MOTECOM的话,到时候SerialForwarder就只能自己跟自己说话了。把发送的端口和监听的端口分开确定,有助于提高灵活性。
----------------------------------------------------------------------------
# Oscilloscope GUI程序
java net.tinyos.oscope.oscilloscope
注意:保持SerialForwarder运行状态,然后重新打开一个cygwin窗口,然后进入tools/java目录输入命令,打开Oscilloscope程序,可以显示数据包数据的直观图像。
3.       MIG消息接口生成工具
MIG工具:可以为Mote应用程序所使用的消息类型自动生成相应的java类。
net.tinyos.message软件包:提供发送和接收MIG生成的数据包。
NCG:从nesC文件中抽取数据以供其他程序使用。
GraphPanel.java
        // OK, connect to the serial forwarder and start receiving data
mote = new MoteIF(PrintStreamMessenger.err, oscilloscope.group_id);
mote.registerListener(new OscopeMsg(), this);
GraphPanel程序的作用:连接到Serial Forwarder,向其注册自己的数据包及处理函数,然后再监听、接收及发送数据包。
 
# 示例:如何通过MIG生成自定义消息类型的java类?
查看tools/java/net/tinyos/oscope/Makefile里面有如下一条命令:
OscopeMsg.java:
        $(MIG) -java-classname=$(PACKAGE).OscopeMsg $(APP)/OscopeMsg.h OscopeMsg -o $@
其中PACKAGE=net.tinyos.oscope,APP= $(TOS)/../apps/Oscilloscope
这条命令指示MIG到APP路径下找到OscopeMsg.h文件,从中找到OscopeMsg的Struct定义,再以此生成相应的java类:net.tinyos.oscope.OscopeMsg
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值