百度云智峰会Workshop技术干货第2弹 ——AI+IoT智能家居控制系统实验

百度云智峰会Workshop技术干货第2弹——AI+IoT智能家居控制系统实验

 

8月29日下午,在热烈的气氛中,2019百度云智峰会在北京顺利举办。活动现场,百度开发者中心联手百度云智学院,为开发者及学生们,提供了展示自己的舞台,输出百度沉淀的优质技术。

为了帮助大家更好地理解Workshop中亮相的6大技术,我们特将技术内容进行梳理总结,出品6篇技术干货文章,在近期于百度开发者中心公众号(ID:baidudev)上逐一分享给大家,请大家持续关注。以下是第二期内容《AI+IoT智能家居控制系统实验》。

前言:在当今万物互联万物智联的时代下,我们大可试想一下,早上睡醒后,7点设定的“起床情景”启动,主卧室窗帘缓缓打开,轻柔的背景音乐响起,室外柔和的阳光射进房中,提醒主人起床时间到了。让家居变的智能已经不再是遥不可及的事情,那么本篇文章就来带领大家使用百度天工智能物联网平台进行智能家居系统的控制。

1.    什么是物联网云平台?

物联网云平台就是为物联网定制的云平台。物联网和普通的互联网有很大不同,比如数据量:物联网有的设备数据量非常小,一次只有几十个几百个字节,大部分时间是休眠的,如智能电表;有的数据量非常大,如智能监控,智能摄像头;终端数量:比起普通互联网的终端数量,物联网可以用海量形容,智能水电燃气表,家庭所有的智能家电等,物联网终端数量比普通互联网的手机、电脑终端要多出几个数量级;协议类型:普通互联网都是http、https访问,协议相对单一,https对物联网来说有些设备是无法接受的,它们需要更轻量级的协议访问方式,比如MQTT和CoAP等都是目前物联网主流的通讯协议。

2.    百度天工智能物联网平台的优势?

百度天工在具备了物联网平台的基本功能外又融合了百度ABC(AI、Big Data、Cloud),提供数据上行、云上存储和分析的基础物联网服务,以及云上训练、应用下行、本地执行的边缘计算服务,从而组成了“一站式、全托管”智能物联网平台,广泛赋能开发者、合作伙伴、企业级用户,深度赋能智能物流、智能车联网、智能生活、智能工业等垂直行业,为各行各业提供新一代物联网边云融合基础设施。

快速建立设备与云端双向连接、全托管的云服务:天工提供的物接入服务通过主流的物联网协议(如MQTT)帮助建立海量设备与云端之间安全可靠的双向连接,提供包括设备注册、设备鉴权、设备实时状态存储、设备影子、设备状态管理等设备全生命周期、一站式的设备管理服务,降低设备数字化的开发成本和运维成本,使设备数据互联互通更简单,给广大的开发者带来福音。

高性能数据处理与储存:天工提供与物接入服务高效无缝对接的规则引擎和时序数据库服务,一站式完成高性能、稳定可靠的物联网时序数据储存、交互式选取、处理、模型训练和模型部署的全过程;灵活的转发和处理设备消息,通过SQL的形式创建规则,实现对消息数据的过滤、变型和转发。

基于物联网海量数据流的零门槛可视化应用:天工提供的物可视应用是为开发者提供的可视化开发工具,用做PPT的方式,助力用户零编程完成可视化开发,用类似EXCEL的体验完成可视化需要的数据变形,带给用户所见即所得的可视化开发体验。

3.    智能家居系统实训开发套件

智能家居系统实训开发套件由多种单独模组和一个智能网关模组组成,采用磁吸附式到试验箱,实验简便快捷。

 

 

系统特色:

  1. 超低功耗控制器

采用ST公司主推的超低功耗微控制器STM32L476,具有多种低功耗工作模式,支持图形化编程配置工具STM32CubeMX。

  1. 兼容多种通信方式

系统兼容并自适应多种无线通信方式,如WIFI、BLE、ZigBee、LoRa等,支持多跳组网、异构组网。

  1. 云平台接入

采用百度天工云平台,支持物接入、物解析、物影子、时序数据库等多种功能,MQTT协议实现数据交互,兼容多种其他云平台。

  1. 多种交互方式

支持按键控制、触摸屏控制 在线语音交互、离线语音交互、APP客户端远程控制,支持网关和节点数据双向交互。

  1. 多种数据显示

支持子系统节点OLED显示,智能网关LCD显示,云平台网页显示,应用层网关APP显示。

单独模组:

智能家居系统实训开发平台模拟真实家居环境,拥有多种传感器及执行机构,对全屋智能进行模拟。

 

 

4.    智能窗帘控制系统实验

实验准备:

  • 智能窗帘控制系统模组

  • Mini USB数据线

  • 注册百度智能云账号

  • 安装MDK5和STM32CubeMX软件

  • 安装fx调试工具

  • 安装串口调试工具

  • 安装STLINK驱动

实验开始:

  • 智能串联控制模组下载程序:

1.我的代码在https://github.com/obeyMIp/STM32L476_curtain_coding,大家可以自行下载,下载完成后使用MDK5打开:

 

 

2.使用Mini USB数据线将模块与电脑端口连接,将程序下载到模组中,下载完成后模组会显示这样:

 

 

  • 创建百度天工账号与项目接入

  1. 登录百度天工官网首页(https://cloud.baidu.com)注册百度云账号。

  2. 创建物接入项目:

在首页右上点击管理控制台,在控制台左侧【产品服务】中找到【物联网服务】—【物接入】进入到物接入的设置页面。

根据需求购买合适的套餐。购买完成后点击创建项目,在配置信息中输入项目信息即可,此处选择设备型项目,点击提交就可以看到新建的项目了。

 

 

查看项目列表信息。其中地址栏中为分配的连接地址。

 

 

  1. 建立物模型

在项目列表中单击项目名称,进入项目详情页,点击【物模型】,进入卡片列表,单击新建物模型:

 

 

输入配置信息,任意创建一个属性:

 

 

创建完成后:

 

 

  1. 添加物影子:

切换到物影子列表,创建两个物影子并保存连接信息,创建物影子前需要创建物模型:

 

 

  • 创建时序数据库

1.创建时序数据库存储数据。回到个人控制台首页,在控制台左侧【产品服务】中找到【物联网服务】—【时序数据库】进入到时序数据库的设置页面。

2.点击【+创建数据库】进入创建数据库页面,填写配置信息。完成配置后点击左侧【下一步】确认订单并付款,完成数据库的创建。

 

 

3.返回列表就可以看到我们创建的数据库啦

(4) 使用串口助手配置智能窗帘控制模组连接百度天工

1.打开串口助手工具,选择波特率等,打开窗口,按下模组的reset复位按键选择多条发送并填写信息:

 

 

0:连接WiFi的名称

1:连接WiFi的密码

2:连接百度天工的url地址

3:连接百度天工的端口号

4:物影子名称

5:物影子信息的name

6:物影子信息的password

7:订阅的主题名称

8:发布的主题名称

2.按照提示发送,最终连接上百度天工云平台:

 

 

  • 使用规则引擎处理数据存储到时序数据库中

1.转到规则创建页面,点击创建规则(注意看温馨提示)。

 

 

2.填写相关信息,注意实例和主题部分的填写,主题是底层发布的主题,点击自动探测可看到数据。

 

 

3.输入查询字段,输入约束条件,点击测试

 

 

4.可以看到写入时序数据库时候的预览:

 

 

5.数据可以添加到几种模式,选择时序数据库,找到创建好的数据库名,点击提交。

 

 

  • 使用物可视服务创建可视化界面

1.导航栏选择“产品服务 > 物可视 IoT Visualization”。

 

 

2.创建工作区。

 

 

3.创建仪表盘。

 

 

4.进入每个仪表盘主要分为3个部分:仪表盘、数据表和响应式。上方是仪表盘设计的操作功能区域,左边是物可视提供的各大类型的组件,中间是仪表盘设计器区域,右边是仪表盘内每个组件的属性配置、数据配置区域。

 

 

5.找到时序折线图,拖进编辑框里。在上方栏中选择数据表。

 

 

6.新建一个数据表。

 

 

7.名称输入“光照度”,当然也可以选择其他名称。数据源选择时序数据库后点击下一步。

      

 

8.时序数据库和关系型数据库有些差别,如果你对时许数据库不理解,也可把“度量”理解成表,“域”理解成数据库中的字段。度量选择“carlocation”,域选择“brightness”。触发规则选择过去的十五分钟,也可以相应的进行修改。下面把自动刷新勾选上,设置5秒刷新一次。设置完成后选择却确定。

      

 

9.数据源设置成功后,界面会显示出传感器设备所上传的数据如下。在上面一栏中选择回到仪表盘界面。进行相应的数据绑定。

 

 

10.首先选中我们刚托进来的仪表盘,在右边一栏中,找到数据绑定选项,选择最下面的序列,时间轴选择“timestamp”,y轴选择“brightness”。

 

 

11.设置成功后,温湿度的变化将会在仪表盘上以曲线显示,效果如下:

 

 

12.返回到仪表盘管理,选择发布。

 

 

13.点击分享,生成URL连接。

 

 

14.复制所生成的url,在浏览器中打开,效果如下:

 

 

(7) 使用MQTT.fx软件下发数据控制设备:

1.打开MQTT.fx调试工具,点击设置按钮。

 

 

2.分别填入物影子信息,客户端ID必须为物影子名称,否则看不到节点上线。

 

 

3.点击确定,返回到上一个页面选择connect连接,右边按钮变为绿色

 

 

4.选择Subscribe,输入订阅的主题名称,点击Subscribe按钮即可看到该主题的数据。

 

 

5.选择Publish,输入发布的主题名称(就是模块订阅的主题名称),下方数据输入json格式协议数据,点击Publish即可进行下行控制。

 

我们的实验就到此结束啦

收藏 评论(1)
分享到:
共1条回复 最后由oneryf 回复于2019-09-05 14:33
#2 oneryf 回复于2019-09-05

感谢楼主分享。写的真好,mark一下。以后备查--风

0