第三章:Mote-PC串口通信以及SerialForwarder
1、packet source:节点与PC通信的基本抽象,应用程序可以通过其进行数据的收发。包括:串口,TCP socket和 SerialForwarder工具。
2、在标准的TinyOS环境中,PC和mote通过串口进行通信需要设置JAVA的环境变量。
例:$ java net.tinyos.tools.Listen -comm serial@COM1:telos
3、MOTECOM:
例:export MOTECOM=serial@COM1:19200 # mica baud rate。如此设置后,2中语句里的-comm参数便可省去。
4、BaseStation和net.tinyos.tools.Listen:BaseStation是PC和传感器网络通信的桥梁。
在tinyos-2.x/tos/lib/serial/Serial.h中有对串口数据格式进行说明的代码。MIG工具用于生成解析或其他一些对串口数据进行处理的工具。
5、SerialForwarder:打开一个packet source,并且可以使多个应用程序通过TCP/IP Stream与应用程序连接。
6、在TinyOS中通过串口发送数据包:TinyOS中进行串口操作的组件和进行广播操作的组件类似。如下表:
Serial |
Radio |
SerialActiveMessageC |
ActiveMessageC |
SerialAMSenderC |
AMSenderC |
SerialAMReceiverC |
AMReceiverC |
第四章:Sense(数据感知)
本章主要介绍两个传感器应用程序:Sense, Oscilloscope。
Sense周期性的读取数据并通过LED显示出来。
Oscilloscope周期性的将传感器读取的数据发送到基站节点。
简介:
1、TinyOS 1.X中的收集数据的接口:ADC、ADCControl和ADCError。
2、数据感知有两个重要任务:a、配置传感器。b、读取传感器数据。
3、TinyOS 2.X中,应用程序使用标准数据读取接口如:Read、ReadStream、ReadNow。所有的配置细节在应用程序中都隐藏,因此可以实现平台独立。
4、教程中SenceC.nc程序实现过程:a、系统初始化->调用Boot接口开启计时器; b、计时器触发一次->通过Read
5、传感器的配置过程由DemoSensorC组件完成,DemoSensorC与平台相关,不包含在TinyOS的库中。
6、每个DemoSensorC都有如下通用的配置:
Generic configuration DemoSensorC()
{
Provides interface Read
}
每个DemoSensorC的实现部分都不一样。Telosb的DemoSensorC是VoltageC的实例,micaz系列多使用ConstantSensorC或SineSensorC之类的TinyOS库中提供的组件。统称传感器的配置工作都是在DemoSensorC所实例化的组件中完成的。
传感器组件的目录一般为:tinyos-2.X/tos/platforms, tinyos-2.X/tos/sensorboards。
一些传感器在MCU中的传感器目录为: tinyos-2.x/tos/chips , tinyos-2.X/tos/systems。
7、Oscilloscope周期性的发送10个采集到的数据信息。同时,有JAVA的可视化模拟。