一、实训背景
当代社会智能家居大有可为,必将大行其道,是大势所趋。
二、实训目的
1.学会分辨中移物联网开发板套件硬件,了解各硬件组成及其作用。
2.熟悉开发板各个信号输入输出位置,及其连接到电脑的方式。
3.通过中移和物平台实现自定义的智能家居系统;
4.利用平台的数据接入以及应用能力,实现智能家居系统端到端的快速搭建和调试上线。
三、实训步骤
(1).开发板程序刷写
步骤 1:运行串口刷写工具
本次下载程序不使用S-TLINK,而使用FlyMcu.exe 可执行程序作为刷写工具。
步骤 2:匹配串口
点击刷写工具菜单的“搜索串口”命令,工具将自动搜索 usb 串口,并识别到可与开发板通信的那个串口以及所需的波特率。
步骤 3:设置开发板进入待下载状态
该步骤很重要:开发板上电后默认状态并不是等待下载状态,需要按住 BOOT0 按键,不要松开,同时按一下复位键,再松开 BOOT0 键,这时开发板就会进入待下载状态,可以接受刷写工具写入的程序包。
提示 1:这两个按键靠得很紧密,不容易操作,可用两只手的大拇指协同完成。具体按键的位置参照开发板上的丝印信息。
提示 2:也可以采用另一种方式:直接拔下 USB 串口线(断电),按住 BOOT0 键不松开,再将 USB线插上(上电),则同样可以使开发板进入待下载状态。
推荐采用第二种,直接按住BOOT0键,然后拔下串口线断电,然后再插上串口线供电再松开BOOT0键,就能进入待下载模式,简单好用。
步骤 4:下载目标程序文件
点击刷写工具的“开始编程(P)”按钮,如果一切顺利,右侧日志窗口会提示开始下载,并有绿色进度条提示刷写情况,最终刷写完成后提示完毕,一切正常。
下载完成后,按下复位键 1 次,或拔下 USB 线再重新插上,都可使开发板进入程序运行模式。
(2).设备级 LED 按键控制功能
步骤一:添加按键控灯逻辑代码
在工程代码找到 user.c 文件,在82 行添加下面这句代码。
GPIO_WriteBit(GPIOA,GPIO_Pin_4,(BitAction)(1-GPIO_ReadOutputDataBit(GPIOA,GPIO_Pin_4)));
添加完成如图所示
步骤 2:编译程序并下载程序文件到开发板中
1.按照前面实训任务中的步骤,将工程编译完成,并下载程序文件到开发板中;
2.如发现编译失败或下载刷写失败,参考前面实训手册中提示进行分析和处理。
步骤3: 上电测试板级键控 LED 功能是否实现
1.按下外设板(中间层)的普通按键 2,如下图红框所示靠外侧的矩形按钮
2.观察外设板中部的普通 LED 灯中,是否有 LED 发生状态的变化,将第几个 LED 以及如何变化的情况记录。
(3).智能家居系统端到端搭建
1.创建中移和物的智能家居产品
步骤 1 进入中移和物平台
- 通过中移物联网首页“产品服务”进入“中移和物”平台入口,点击“立即使用”即可进入。
- 在“和物”平台进行登陆,使用统一的 OneNET 账号授权登陆认证信息即可完成。
步骤 2 “和物”产品创建
- 在和物平台中,点击页面顶部的 “管理中心”入口,进入具体的“和物”产品管理页面。
选择产品类别为其他
初次进入时产品列表区信息为空,需要点击右侧“创建产品”按钮新增“和物”产品。
输入产品名称:智能家居系统,点击确定完成产品的创建。
[图片上传中...(屏幕截图 2021-04-19 165428.png-b6ee55-1619168744658-0)]创建完成后,可以看到产品列表中新出现了该产品条目。注意记录该产品的 ID,本次实训任务里,ID如下图所示:418378。
2.定义智能家居系统具备的功能
步骤 1 产品功能定义
该步骤非常重要,我们采用的是自定义功能方式,选择右侧“添加”按钮。
- 定义“温度”数据上报能力
功能类型:属性值
功能点名称:温度
字段名称:temperature
数据类型:数值型
数值范围:0 -- 50
间距:0.1
单位:°C
传输类型:只上报
填写完成后如下图类似,点击“确定”保存该字段。‘
其他的资源同理添加即可
-
湿度资源
-
触控开关资源
-
彩虹灯色彩资源
-
彩虹灯亮度资源
-
智能窗帘资源
-
智能洗衣机资源
- 智能空调资源
3.APP 界面设计
步骤 1:编辑 APP 模板 -
在完成产品功能定义后,我们点击页面右上角的“下一步”,进入 APP 界面设计环节。
- 因为在之前步骤中我们设定的 app 呈现模式是自由配置方式,所以这里选择页面下方的“编辑模板”。
步骤 2:编辑 APP 界面细节
-
配置 APP 界面显示的背景颜色,选择青绿色
-
配置 APP 界面各个功能点的模块大小,不同的模块大小,在 APP 中呈现出的形状各不相同。这里我们为所有功能点都配置为“中模块”且要配置每个功能点显示在界面上的图标,需要根据每个功能点的含义,精心选择有较强对应关系的图标,达到美观简洁的 APP 界面效果。
步骤 3:下载和物 APP,在和物 APP 中查看刚刚配置的 APP 界面效果
在 app 模板配置页面,可直接扫码下载和物 APP,该二维码也是预览当前 app 界面效果的扫码入口(好像放二维码违规,这里就不放了)。
在手机上安装和物 APP。
-
手机扫码查看当前 app 的界面效果。本次实训任务配置后的 APP 效果如下类似:
可以对比之前配置的“中模块”在 APP 界面中占有的空间,对应查看图标是否符合家居功能特点,如有需要调整的地方,返回 APP 模块配置界面进入编辑功能,定制调整即可。
切换到 Keil MDK 环境里,如图展开 SDK 目录,并直接展开 device.c 文件,在下面找到“product_def.h”文件,双击打开该文件,在右方显示该文件的代码内容,然后把ID换成自己的产品ID。
#define PRODUCT_ID "418378"
4.设备配网及接入
步骤 1:通过和物平台触发真实设备配网
- 回到和物平台,在之前的实训中我们已经完成了 APP 界面设计和调试,进入到第三步“设备接入测试”环节,如下图。我们点击“真实设备测试”开始。
- 当前产品还没有任何真实设备,我们点击“添加设备”:通过手机上的和物 APP 扫码即可触发手机端进入“配网模式”。
步骤 2:真实设备进入配网模式
长按外设板上的普通按键 2,约 3 秒钟后,设备自动进入配网模式,可以进行配网。
提示 1:普通 LED 灯 3(蓝色)在闪烁,即表示设备进入配网模式。
步骤 3:手机端发送 wifi 配置给设备 - 在“手机端 app”上点击“开始连接设备”,配置 wifi 连接信息,供配网时发送给设备板。
- 配置完成点击下一步,开始配网。
-
配网成功后,设备产品在线,如下图所示。
然后就可以通过中移和物APP控制实训开发板上的彩虹灯,电机和触控板了,当然也可以看到实时的温湿度数据。
四、实训总结
本次实训很有趣,也让人十分难忘,当自己能通过应用控制炫酷的彩虹灯时,还是十分有成就感。但是在配网的时候可不谓不艰难,一次次的连接超时,不知道失败了多少次才成功。总的觉得能学习这门课程还是受益匪浅,乐趣犹多。