物联网开发实战
郭朝斌
小米生态链企业秒秒测 IoT 事业部总监,前诺基亚高级工程师
17380 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 36 讲
物联网开发实战
15
15
1.0x
00:00/00:00
登录|注册

19 | 场景联动:智能电灯如何感知光线?(下)

你好,我是郭朝斌。
在上一讲,我们基于 NodeMCU ESP32 开发板,开发了一款光照传感器。考虑到低功耗的需求,它是基于低功耗蓝牙技术来实现的。但是蓝牙设备本身无法直接联网上报数据,那么我们要怎么根据光照强度数据来联动控制智能电灯呢?
不知道你还记不记得第 9 讲的内容?对于蓝牙设备,我们需要借助网关来实现联网的目的。所以在这一讲中,我会带你用树莓派打造蓝牙网关,最终实现光照传感器和智能电灯的场景联动(如有需要,你可以根据这份文档自行采购相关硬件)。

网关系统架构

首先,我们先看一下网关的系统架构。
网关的主要功能是协议转换,一方面它需要接收低功耗蓝牙技术的光照传感器的广播数据,另一方面,它需要把解析的数据上传到云平台。
具体的架构图如下所示。

南向蓝牙通信

在树莓派上进行蓝牙开发,你可以使用bluepy软件包。它提供了一个 Python 语言版本的低功耗蓝牙 API 接口,而且对树莓派的适配非常好。

通过终端登录树莓派

在学习第 15 讲的时候,你应该已经在树莓派上部署好了包含 Gladys Assistant 系统的 Raspbian 操作系统,现在你可以直接使用这个系统。安装软件包之前,我们在电脑终端上输入下面的命令,通过 SSH 协议登录到树莓派系统中。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

本文介绍了基于NodeMCU ESP32开发板的光照传感器开发,并探讨了如何根据光照强度数据联动控制智能电灯。文章首先介绍了网关系统架构,强调了网关的主要功能是协议转换,将低功耗蓝牙技术的光照传感器的广播数据上传到云平台。接着,文章详细讲解了在树莓派上进行蓝牙开发的步骤,包括通过终端登录树莓派和使用图形化窗口软件登录树莓派。随后,文章介绍了在树莓派上开发蓝牙程序的具体步骤和代码示例。接下来,文章讨论了北向MQTT对接云平台的过程,包括MQTT开发环境准备和云平台创建光照传感器设备的步骤。最后,文章总结了在腾讯云平台上的产品创建工作。整体而言,本文深入浅出地介绍了智能电灯如何感知光线的技术细节,为读者提供了一份全面的技术指南。 文章还介绍了在树莓派上部署软件的步骤,包括创建Pi Gateway Service,并提供了相应的脚本和配置文件。接着,文章详细讲解了如何在腾讯连连小程序中设置场景联动任务,包括任务分解、设备准备、联动任务创建等步骤。最后,文章总结了本文的重点内容,包括南向接口开发、北向接口对接云平台功能以及场景联动的实现。同时,还提出了思考题,鼓励读者在实践中探索智能电灯亮度和颜色控制的可能性。 总的来说,本文内容丰富,涵盖了物联网平台开发、树莓派部署、智能联动配置等多个方面,对于想要深入了解智能电灯光线感知技术的读者具有很高的参考价值。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《物联网开发实战》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(8)

  • 最新
  • 精选
  • 郭朝斌
    置顶
    由于MicroPython官方的ble_advertising.py中payload函数,不支持广播service data,所以我进行了增补: 常量定义增加:_ADV_TYPE_SERVICE_DATA = const(0x16) advertising_payload函数中增加: if service_data: _append(_ADV_TYPE_SERVICE_DATA, service_data) 希望大家可以自己动手实践一下哈。
    2020-12-27
    1
    4
  • Sissi
    每一个家里有光照传感器+灯 这样的联动设置,我要管理一栋楼,需要把每个家的联动操作都放在 物联网管理平台去实现吗?老师你前面将的以家庭为单位进行控制,具体应该怎么实现呢?由每个家里网关去进行联动的控制吗?

    作者回复: 你的问题涉及具体的业务场景了,需要灵活应用,根据情况去思考,不能生搬硬套,那就失去学习的意义了。 家庭可以是家庭里部署中心设备,也可以像小米的方案一样都接入小米的云。

    2021-02-23
    1
  • 智能电灯能、光照传感器都在线,按步骤都建立联动条件了,但就是没反应,问题出在哪? 感觉是光照数据没进来? 若是如何验证或修改?

    作者回复: 如果已经确定设备在云平台显示在线,那查看一下具体的光照数值和联动的条件

    2021-01-18
    6
  • L
    启动服务的时候会报203错误,主要原因是脚本问题。需要加/bin/bash ExecStart=/bin/bash /home/pi/pi-gateway/service.sh
    2021-11-07
    1
  • L
    上面那个问题解决方案:在main文件同级文件中 运行:sudo pip install paho-mqtt -t ./ 安装这个包,不用它去其他地方找了。
    2021-11-07
  • L
    pi@raspberrypi:~/iot/light $ python mqttdemo.py Traceback (most recent call last): File "mqttdemo.py", line 3, in <module> import paho.mqtt.client as mqtt ImportError: No module named paho.mqtt.client 会报这个错误。是paho-mqtt版本问题么?请问老师你用的是哪个版本
    2021-11-07
  • ysnows
    老师你好,我之前学的您的课程入门的物联网,现在已经从事物联网相关工作了,但还是属于入门, 现在有个需求不知道怎么做: 类似共享单车,要实现车子推入指定锁扣后,自动上锁,并自动通知服务器还车~ 这种怎么实现?还要确定必须是车子扣入锁扣,而不是其他东西扣入的?
    2021-07-10
  • 加油加油
    老师好 是否可以介绍下 场景联动在实际技术中的实现方案?目前没找到在这方面详细的资料
    2021-06-23
收起评论
大纲
固定大纲
网关系统架构
南向蓝牙通信
通过终端登录树莓派
显示
设置
留言
8
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部