一、实训背景
智能家居是在互联网影响之下物联化的体现。智能家居通过物联网技术将家中的各种设备(如音视频设备、照明系统、窗帘控制、空调控制、安防系统、数字影院系统、影音服务器、影柜系统、网络家电等)连接到一起,提供家电控制、照明控制、电话远程控制、室内外遥控、防盗报警、环境监测、暖通控制、红外转发以及可编程定时控制等多种功能和手段。与普通家居相比,智能家居不仅具有传统的居住功能,兼备建筑、网络通信、信息家电、设备自动化,提供全方位的信息交互功能,甚至为各种能源费用节约资金。智能家居的概念起源很早,但一直未有具体的建筑案例出现,直到 1984年美国联合科技公司(UnitedTechnologies Building System)将建筑设备信息化、整合化概念应用于美国康涅狄格州(Connecticut)哈特佛市(Hartford)的CityPlaceBuilding时,才出现了首栋的“智能型建筑",从此揭开了全世界争相建造智能家居派的序幕。
二、实训目的
1.学会分辨中移物联网开发板套件硬件,了解各硬件组成及其作用。
2.熟悉开发板各个信号输入输出位置,及其连接到电脑的方式。
3.通过中移和物平台实现自定义的智能家居系统;
4.利用平台的数据接入以及应用能力,实现智能家居系统端到端的快速搭建和调试上线。
三、实训步骤
(1).开发板程序刷写
步骤 1:运行串口刷写工具
使用FlyMcu.exe 可执行程序作为刷写工具。
步骤 2:匹配串口
点击刷写工具菜单的“搜索串口”命令,工具将自动搜索 usb 串口,并识别到可与开发板通信的那个串口以及所需的波特率。
步骤 3:设置开发板进入待下载状态
:开发板上电后默认状态并不是等待下载状态,需要按住 BOOT0 按键,不要松开,同时按一下复位键,再松开 BOOT0 键,这时开发板就会进入待下载状态,可以接受刷写工具写入的程序包。
步骤 4:下载目标程序文件
点击刷写工具的“开始编程(P)”按钮,如果一切顺利,右侧日志窗口会提示开始下载,并有绿色进度条提示刷写情况,最终刷写完成后提示完毕,一切正常。
(2)设备 LED灯 按键控制
步骤1:添加按键控灯代码
如下面图片的文件中的相应位置添加代码
代码如下:
GPIO_WriteBit(GPIOA,GPIO_Pin_4,(BitActionGPIO_ReadOutputDataBit(GPIOA,GPIO_Pin_4)));
步骤 2:编译程序并下载程序文件到开发板中
将工程编译完成,下载程序文件到开发板中,下载就是开发板写入的步骤,不适用软件下载。
****步骤3.上电测试按键控制LED 功能是否能实现
按下外设板的普通按键 ,成功LED灯亮。
(3)智能家居系统端到端搭建
1.创建中移和物智能家居产品
步骤 1: 先进入 OneNET平台,在进入中移和物平台
1.OneNET首页,使用统一的 OneNET 账号授权登陆认证信息即可完成。
2.通过中移物联网首页“产品服务”进入“中移和物”平台入口,即可进入。
步骤 2: 使用中移和物产品创建
在和物平台中,点击页面顶部的 “管理中心”入口,进入具体的“和物”产品管理页面。
选择产品为其它,两个其他
创建完成后,可以看到产品列表中新出现了该产品条目。注意记录该产品的 ID,,ID如下图所示:418395。
2.定义智能家居系统具备的功能
产品功能定义
这里选择自定义功能,单击右边的添加按钮,开始添加属性
定义“温度”数据属性
功能类型:属性值
功能点名称:温度
字段名称:temperature
数据类型:数值型
数值范围:0 -- 50
间距:0.1
单位:°C
传输类型:只上报
其他的资源和上面的一样
湿度资源
触控开关资源
彩虹灯色彩资源
彩虹灯亮度
智能窗帘资源
智能洗衣机资源
智能空调资源
3.APP模板配置
1.在完成产品功能定义后,我们点击页面右上角的“下一步”,进入 APP模板配置。
2.因为在之前步骤中我们设定的 app 呈现模式是自由配置方式,所以这里选择页面下方的“编辑模板”。
3.配置 APP 界面显示的背景颜色,选择青绿色
配置 APP 界面各个功能点的模块大小,不同的大小,在 APP 中呈现出的形状也不相同。后面有选择图标,需要我们自己选择,精心选择有较强对应关系的图标,达到美观简洁的 APP 界面效果。
4.下载和物 APP,在和物 APP 中查看配置的 APP 界面效果
1.下载和物APP
会在手机APP上面显示配置信息
2、接入真实设备
2.1为真实设备分配入网ID
#define PRODUCT_ID "418395"
(该代码添加到product_def.h处)
2.2配置真实设备的设备序列号
#define DEVICE_SN "1325364"
(添加到user.c)
2.3确保代码处的数据和平台一致
static struct device_func_handle_t dev_func_list[] = {
FUNC_HANDLE_UP (temperature, 256, INT),
FUNC_HANDLE_UP (humidity, 257, INT),
FUNC_HANDLE_UP (key_touch, 258, BOOL),
FUNC_HANDLE_DOWN(led_color, 259, ENUM),
FUNC_HANDLE_DOWN(led_intensity, 260, INT),
FUNC_HANDLE_DOWN(relay, 262, BOOL),
FUNC_HANDLE_DOWN(motor, 261, ENUM),
FUNC_HANDLE_DOWN(air_con, 263, BOOL)
};
int32 func_temperature_upload(void)
{
return device_upload(256, 0);
}
int32 func_humidity_upload(void)
{
return device_upload(257, 0);
}
int32 func_key_touch_upload(void)
{
return device_upload(258, 0);
}
(该代码在func_ops.c处)
2.4保存代码并重新编译
2.5接入真实设备
2.6设备配网
2.7设备重启并接入平台
四、实训总结
没啥,就是过程曲折离奇,一言难尽呀!!!!!!