本篇文章的传感都以TelosB节点为例,其中捎带MicaZ节点。
说到传感,默认的传感组件是DmeoSensorC组件。在TelosB里,这个组件关联到VoltageC组件,该组件是采集节点模块内部的电压值。若想将DemoSensorC组件关联其他如ConstantC常数组件或者SineC正弦函数组件,则只需修改 components new VoltageC as DemoSensorC中的VoltageC为对应的组件即可。这是修改节点默认传感组件的方法。
但是,在一般使用节点模块时,需要采集周围的温度,湿度以及光照等数据,则此时,就不用节点默认传感组件,而是调用节点中包含的其他组件,如SensirionSht11C这个组件,它包含了温度和湿度,在\tos\lib\thread\sensorboard\tmote文件里,但是文件中的事CSensirionSht11C,在使用的时候不需要开头的C,在AppC文件中添加该组件即可,为了方便写为components new SensirionSht11C
as SensorC 然后将Read接口连接到该组件,但是要注意!SensirionSht11C组件中有温度和湿度2个接口,所以当连接Read接口时要选择是温度还是湿度的,若选择温度,则为 App.Read->SensorC.Temperature。
在实验的过程中,目前还有待解决的问题是,SensirionSht11C该组件是读取温度和湿度2个数据,如何将其分别显示出来?(后期解决后,则跟进修改)
另外,在实验中,主要的逻辑代码和普通的传感代码没什么不同,都是调用Read命令然后触发readDone事件。只是Read连接的传感组件不同则读取的传感数据类型不同。
大致内容如上,若有所补充则在后期会补上。若网友有内容要补充也非常欢迎。