物联网实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
物联网课程设计
实验成员:
指导教师:
日期:2014/7/3
实验一 LED组件
一、实验内容
LED组件:绿灯一直处于熄灭的状态,红灯不停闪烁
二、实验步骤
1) 将基站同电脑用烧录线连接好,打开基站的开关,同时将基站的烧录开关拨上去。
2) 打开 Cygwin 开发环境。
3) 在 Cygwin 界面中执行 cd apps/Demos/Basic/Led,进入到 LED 实验目录下。
4) 在 LED 实验目录下执行 make antc5 install 进行编译和烧录。
5) 可以看到实验现象为基站上的绿灯一直处于熄灭的状态,红灯不停闪烁。
三、实验代码
/**
LED 示例程序的实现模块,简单的点亮3个LED灯
@date 2010-1
*/
module LedM
{
uses interface Boot;
}
implementation
{
/** LED灯演示
*/
task void DemoLed()
{
/** 目前节点上提供两个LED灯
LED_BLUE -> 蓝灯
LED_YELLOW -> 黄灯
*/
int i,j;
while(1)
{
LED_YELLOW_ON; //熄灭黄色LED灯
for(i=0;i<1000;i++)
for(j=0;j<500;j++);
LED_BLUE_OFF; //点亮蓝色LED灯
for(i=0;i<1000;i++)
for(j=0;j<500;j++);
LED_BLUE_ON; //熄灭蓝色LED灯
}
}
/** 启动事件处理函数,在LED.nc已经关联到MainC.Boot接口系统启动后会调用此函数
*/
event void Boot.booted()
{
post DemoLed();
}
}
实验二定时器组件
一、实验内容
通过定时器让绿色灯闪烁,并且闪烁三次后停止闪烁。
二、实验步骤
1) 将基站同电脑用烧录线连接好,打开基站的开关,同时将基站
的烧录开关拨
上去。
2) 打开 Cygwin 开发环境。
3) 在Cygwin 界面中执行 cd apps/Demos/Basic/ Timer,进入到
定时器实验目录下。
4) 在定时器代码目录下执行 make antc5 install,进行编译和烧
录。
5) 实验现象为基站上绿色灯闪烁,并且闪烁三次后停止闪烁。
三、实验代码
#define DBG_LEV 5
module TimerLedM
{
uses interface Boot;
/* Timer为系统接口TMilli指明了定时器的精度为毫秒 */
uses interface Timer
uses interface Timer
}
implementation
{
/** 任务: 切换黄色LED灯 */
task void ToggleLedYellow()
{
LED_YELLOW_TOGGLE;
}
/** 启动事件处理函数,在TimerLed.nc已经关联到MainC.Boot 接口
系统启动后会调用此函数
*/
event void Boot.booted()
{
LED_BLUE_ON;
call Timer2.startPeriodic(1000);
/** 定时器1: 持续工作,每隔1s触发一次 */
call Timer1.startPeriodic(6000);
/** 定时器2: 持续工作,每隔3s触发一次*/
//call Timer2.startPeriodic(5000);
}
/** 定时器1的事件处理函数 */
event void Timer1.fired()
{
/** 事件处理中直接切换蓝色LED灯 */
ADBG(5, "led blue toggle.\r\n");
//LED_BLUE_TOGGLE;
LED_YELLOW_ON;
call Timer2.stop();/**停止定时器触发*/
call Timer1.stop();
}
/** 定时器2的事件处理函数 */
event void Timer2.fired()
{
ADBG(5, "led yellow toggle.\r\n");
post ToggleLedYellow();
}
}
实验三串口调试
一、实验内容
通过级别控制,使得某些调试语句没有被输出到串口。
二、实验步骤
1) 将基站同电脑用烧录线连接好,打开基站的开关,同时将基站的烧录开关拨上去。
2) 用串口线将基站和 PC 机器连接起来。
3) 打开串口助手。
4) 打开 Cygwin 开发环境。
5) 在 Cygwin 界面中执行 cd apps/Demos/Basic/ SerialDebug,进入到串口调试实验目录下。
6) 在串口调试代码目录下执行 make antc5 install,进行编译和烧录。
7) 烧录成功后,实验现象为串口有内容输出,输出内容如下:
三、实验代码
/**
串口调试程序的实现模块
@date
*/
/* 定义调试级别,参加Makefile的ADBG_LEVEL定义,设置大于等于ADBG_LEVEL */
#define DBG_LEV 3000
#define DBG_LEV2 2000
module SerialDebugM
{
uses interface Boot;
}
implementation
{
/** 任务: 通过串口打印信息来调试 */
task void DebugSerial()