专栏首页腾讯云IoT【腾讯连连IoT开发大赛】打工人快乐窝-快速打造一个让打工人倍感安心的家
原创

【腾讯连连IoT开发大赛】打工人快乐窝-快速打造一个让打工人倍感安心的家

打工人快乐窝---腾讯云Explorer + 腾讯连连 + 边缘AI计算 快速打造一个让打工人倍感安心的家

打工人快乐窝系统组成

起这个标题是因为,对于很多年轻人来说,买房困难,只能租房,但是租房面临着很多问题,其中很重要的就是财产生命安全,以及环境对健康的影响,这两年爆出过很多次类似闯入房间,甲醛超标等问题,给租户造成极大的心理和生理伤害;

另外一个就是舒适度,希望家居更加智能化。

所以,有了这个小制作:

  • 针对安全,我这里做了人脸识别门禁,防止陌生人进入,或者监测到陌生人通过微信通知主人。
  • 针对环境健康,做了 颗粒物监测(包括PM1.0 PM2.5 PM10)和 甲醛 监测。
  • 为了提高家居智能化,做了下班回家自动打开 电灯 电脑。

如果要非常详细地写清楚原理和过程,篇幅需要比较大,写得比较仓促, 如果有什么疑问,可以提问,我会在发布后补充说明~

功能介绍

本次制作中,使用腾讯云explorer + 腾讯连连小程序平台,结合硬件做了

  • 门禁安全:识别人脸,或者监测进入的人的人脸
  • 环境监测:主要是颗粒物比如PM2.5和甲醛监测
  • 远程控制灯:普通的远程控制开关灯
  • 远程开机棒:用来远程开关电脑,这里开机棒直接硬件控制主板开关,不是WOL(wake on LAN), 可以实现强制关机功能,比市面上接近200块的开机棒好用很多!
  • 音响和电脑同步开关机(音响断电上电):很多音响有独立的电源和开关,在我们关闭电脑后,还需要手动关闭音响的电源,不然它一直开着,这里用继电器做了一个与电脑同步开关的功能
  • 智能联动:得益于十分简单好用的腾讯连连, 可以简单高效地实现各个设备间的联动,比如开门后给微信发送消息,或者打开家里的灯,或者自动(控制开机棒)打开电脑,以及传感器值超标后推送警告消息到微信

具体的功能和使用介绍,请看视频:

(如果下面的视频无法观看,请点击 这里 观看, 或者到(腾讯视频-【腾讯连连IoT开发大赛】打工人快乐窝 观看

<iframe frameborder="0" src="https://v.qq.com/txp/iframe/player.html?vid=t3219uxw7e2" allowFullScreen="true"></iframe>

源码

源码开源在github , 欢迎 star

系统组成

系统由 腾讯云explorer + 腾讯连连小程序 + 硬件+软件组成,

组成.png

其中,硬件设备部分使用手工搭建而成,效果图如下:

传感器设备组成

远程开机棒部分(已经放进机箱了,就是一个ESP32+三极管,就不放图了2333,放图也不是很清晰,放个原理图更好)

image.png

使用到的硬件

  • 其中硬件使用了带 AI 功能的边缘计算单元,使用了 K210 作为 AI 运算单元及主控,使用 MaixPy 编程, 有摄像头和屏幕,负责人脸识别和显示
    BiT
  • 使用了 ESP8266 作为 K210 的联网设备(WiFi),使用AT固件
    ESP8266
  • 远程开机棒的主控直接只使用了 ESP32,使用乐鑫提供的SDK编程
    ESP32
  • 颗粒物传感器 PMS7003
    微信截图_20210110113131.png
  • 甲醛传感器WS-H3
    微信截图_20210110113159.png

硬件电路设计及搭建

主要使用了几个开发板,包括 K210 ESP8266 ESP32, 传感器也是两个串口模块,而且网络全部使用了 WiFi,所以线路连接自然就非常简单了,我都没有画原理图,直接使用面包板半个小时快速搭建好了3个设备(传感器设备,门禁设备,远程开机棒设备),时间原因,就不画原理图了,如果大家有需要,可以提问,我后面补出来,这里我在图中标注一下:

  • 传感器设备:
系统引脚连接简图.png
  • 门禁设备:

门禁设备就是在传感器设备的基础上去掉了传感器,加入了摄像头,摄像头和LCD的原理图参考 MaixBit的电路图

  • 远程开机棒的线路连接:

为了让远程开机棒能完全控制电脑电源,我直接把单片机引脚接到了主板的电源控制脚上,而不是使用 WOL(wake on LAN)来开关机,这样开关机就稳定了,遇到问题还可以模拟执行长按关机按钮的操作强制关机

image.png

其中,我在实际使用时用了一个 NPN 三极管,如图不使用也是可以的,建议使用,就是 b极接单片机,e 和 c极 分别并联在电源开关的两端即可,给 B 极高电平就可以控制电源控制P+P- 导通

  • 音响与电脑同步开关机

这个功能的原理就是利用主板的电源指示灯作为控制信号,然后接一个继电器来控制音响的电源开断,电路图如下:

image.png

效果图:

image.png

腾讯云 Explorer 产品创建

  • 注册腾讯云账号,登录控制台
  • 搜索物联网开发平台,点击进入,首次会要求开通产品,是免费的,直接开通
  • 然后阅读官方使用说明,创建产品: https://cloud.tencent.com/document/product/1081

这里给几个截图,具体请看官方文档,这里就不过多阐述,官方文档写得挺好了

  • 创建产品
image.png
image.png
image.png
  • 创建数据点
    • 传感器设备数据点:
      image.png
    • 开机棒数据点
      image.png
    • 传感器设备数据点
      image.png
  • 创建设备

支持手动创建设备和批量注册,开始使用可以先使用手动注册,而且乐鑫的SDK目前(2020.1.10)还没支持自动注册设备功能,AT固件已经支持了

image.png

设备端程序

所有程序均开源在github , 欢迎 star, 可以拉去代码下来直接按照教程添加好自己的设备后,修改 key 然后运行

设备端程序情况如下:

  • 传感器设备和门禁设备的主控是 K210, 使用了 MaixPy 进行开发,开发环境以及固件烧录等请看MaixPy 文档 , 需要先了解这个芯片和 MaixPy,有疑问可以留言,然后使用我开源的代码,修改 product key, device name, device key 即可
  • ESP8266 的固件使用了腾讯云官方的 AT 固件,不是乐鑫提供的AT 固件,烧录方法就是通用的 8266 烧录方法,在乐鑫官网以及网上都有大量资料,请搜索,有疑问可以留言
  • ESP32 使用了乐鑫提供的SDK , 按照说明编译过hello world,然后使用我开源的代码,修改 product key, device name, device key 即可。 这个远程开机棒其实我之前就做过, 看这里: https://neucrack.com/p/190 , 但是没有用腾讯云和小程序,服务端是自己写的, MQTT 服务也是自己搭的,用户端用用web服务做的用户接口,通过浏览器开关设备,换成小程序后更加方便了,而且使用explorer也让程序更简单了!!
  • 音响同步于电脑开关机不需要代码,全部由硬件自动控制完成,详情见这里: https://neucrack.com/p/185

要看懂代码,你需要以下基础:

  • 有 C 语言基础
  • 有 python 或者 Micropython 语法基础
  • 开发过至少一款单片机程序

要能把代码跑起来,你需要:

  • 需要硬件 K210 ESP8266 ESP32,以及上述传感器等,去某宝买就 ok
  • 学会使用腾讯云explorer,按照前面的方法在腾讯云explorer后台创建好产品和设备,这个可能会耗费20分钟,如果第一次接触 IOT 云产品,可能会多花一点时间
  • 学会 MaixPy 固件烧录和开发,按照它的官方文档学习一步一步学习就好,会 python 可能需要1个小时来学习使用即可
  • 学会 ESP8266 AT 固件烧录,百度教程即可,有很多非常详细的教程,可能在硬件选择上会出现疑问,搜索就好了,大致15分钟
  • 学会 ESP32 IDF 开发,并且跑通上述 乐鑫提供的腾讯云 SDK,按照 IDF 的 README 进行开发即可,如果熟悉同类产品开发,10分钟就能跑起来
  • 学会使用腾讯连连小程序, 这个就很简单了,随便摸摸就懂了,大致需要15分钟去探索功能

对于这些基础知识,都有详尽的资料,如果遇到什么疑问,可以留言

小程序使用

在我的演示视频中也有一部分的使用方法,可以参考

腾讯连连小程序绑定设备

微信搜索腾讯连连小程序,进入,调试的时候可以看后台的设备二维码,点击小程序加号扫码绑定设备

等调试配网或者做好了再使用配网添加设备

image.png

自动智能功能

小程序除了有基本的显示数据和控制设备的功能,以及配网的功能, 还有一个很特别的功能,就是自动智能

自动智能可以将各个设备联合起来,实现很多有趣的功能, 比如 门开了, 自动把另外一个设备电灯打开,或者通过控制开机棒把电脑打开, 设置的方法:

  • 添加智能
    image.png
image.png
image.png
  • 设置条件
image.png

比如选择门禁检测门打开时

image.png
image.png
  • 添加任务

选择发送通知,或者设备控制

image.png

发送通知即门打开后通过服务号给你的微信发送通知,就像这样:

image.png

设备控制则可以选择被控制的设备, 比如打开另外一个设备的灯:

image.png
  • 设置生效时间
image.png
  • 然后下一步设置其它显示的logo什么的,就完成了自动化配置, 可以在智能栏找到设置的自动化操作,并且可以随时选择开启或者关闭该智能操作, 并且可以在右上角看到执行日志
image.png

设备端程序流程

源码流程图如下,几个设备大同小异

设备端流程图.png

设备端源码解读

传感器设备和门禁设备的源文件如下:

image.png
  • at.py: 8266 AT 测试代码
  • door.py: 门禁主程序
  • explorer.py: 对 expolorer 相关操作的封装
  • face.py: 人脸识别的封装
  • pms7003.py: 颗粒物传感器相关操作的封装
  • sensor_voice.py: 传感器设备(里面包含了对灯的控制)相关主逻辑,文件名有 voice 是因为最开始准备加语音识别和语音控制的功能,时间原因没有加上,后面看有时间可以加上
  • ws_h3.py: 甲醛传感器相关操作的封装

具体的代码细节,这里就不讲了,封装得挺好的,会 python 就能看懂了

远程开机棒设备代码

因为只需要一个引脚控制和一个引脚获取开关机状态,所以程序只用了一个文件app_main.c就快速写好了,没有进一步封装,有兴趣的可以来重构代码封装一下,提 PR 就好了

image.png

结语

腾讯云explorer 和 腾讯连连让 AIOT 开发变得更加迅速,使用简答的代码和开发流程就可以实现非常使用和强大的功能,如果你还没有尝试过,还等什么!!!!

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 专线相关操作指导—静态、BGP单通道对接

    专线相关介绍可参考https://cloud.tencent.com/document/product/216

    pinkcchen
  • 直播预告|AI能否开启全球复苏?点击报名!

    目前,国内疫情逐渐稳定,但受国外疫情加速蔓延影响,世界经济形势面临更多不确定性,尤其传统产业遭受前所未有的冲击,新兴产业也在寻求新的出路,疫后经济亟待有效救治举...

    优图实验室
  • 大会活动|2019WAIC腾讯论坛 - 科技之思,一场关于向善的思考和启示

    科技向善是在腾讯创始人之一张志东先生指导下,于2018年初由腾讯研究院发起的一个多方共建的研究、对话与行动平台,这一理念在2019年升级为腾讯公司新使命。

    优图实验室
  • 产品资讯|这次轮到鉴黄师失业了?腾讯推出智能鉴黄功能(多图,18岁以下禁入)

    继腾讯写稿机器人让记者失业(没有的事)事件后,这次腾讯又要让另一职业——网络鉴黄师失业了?

    优图实验室
  • 程序员---> 我与java的第一次邂逅

    我真帅
  • AppNode如何安装使用PureFTPd服务器 原创 Linux AppNode

    奇梦
  • 腾讯云-轻量应用服务器SaaS交付Discuz! Q

    本文提供视频讲解,详细见地址:https://www.bilibili.com/video/BV1Hh411Z7gw

    研究僧
  • 【DSP笔记】下载程序遇到的问题及解决方法

    最近拿到了一块TI官方的DSP开发板,芯片型号是:TMS320F280049C,板载调试器XDS110。但是下载程序时遇到了一点问题,现记录总结如下:

    正念君
  • TDSQL架构及运营介绍

    作者介绍:李瑞,高级DBA,拥有丰富的数据库运维运营经验,现负责腾讯云分布式数据库运营相关工作,对数据库的高一致性、高可靠、分布式架构等有深入理解,擅长MySQ...

    腾讯云数据库 TencentDB
  • 产品资讯|2020年,让我们继续“AI”在一起

    优图实验室

扫码关注云+社区

领取腾讯云代金券