物联网开发实战
郭朝斌
小米生态链企业秒秒测 IoT 事业部总监,前诺基亚高级工程师
5401 人已学习
立即订阅
登录后,你可以任选4讲全文学习
推荐试读
换一换
02 | 通信技术:设备接入网络的方式有哪些?
06 | 物模型:如何定义智能电灯?
09 | 边缘中心:物联网网关有多重要?
课程目录
已完结/共 32 讲
开篇词 (1讲)
开篇词 | 物联网这个趋势,你不应该错过
基础篇 (5讲)
01 | 入门介绍:如何定义物联网?
02 | 通信技术:设备接入网络的方式有哪些?
03 | 网络协议:设备使用什么语言与互联网对话?
04 | 数据分析:数据的价值有哪些?
05 | 系统实例:怎样设计一个简易物联网系统?
进阶篇 (10讲)
06 | 物模型:如何定义智能电灯?
07 | 零配置组网:设备如何发现彼此?
08 | MQTT:在实践中掌握一个通信协议
09 | 边缘中心:物联网网关有多重要?
10 | 数据处理框架:批处理还是流处理?
11 | 数据存储:物联网中的数据库有哪些?
12 | IoT Hub:面对海量设备如何打造高性能设备接入层?
13 | 隐私:在实践中如何保护用户隐私?
14 | 安全:物联网平台如何应对安全风险?
15 | 平台:智能家居开源平台的生态是怎样的?
实战篇 (7讲)
16 | 实战准备:如何搭建硬件开发环境?
17 | 远程控制:怎样打造联网的智能电灯?
18 | 场景联动:智能电灯如何感知光线?(上)
19 | 场景联动:智能电灯如何感知光线?(下)
20 | 智能语音:好玩的语音控制是怎么实现的?
21 | 多传感器集成:浇花怎么实现自动化?
22 | 掌控数据:家里的数据可以怎么利用?
结束语 (1讲)
结束语 | 永远做一个具有极客精神的人
测试题 (1讲)
结课测试 | 这些物联网的问题,你都掌握了吗?
加餐 (5讲)
加餐一 | 这5本关于物联网的好书,值得一读
加餐二 | 行业应用:物联网的发展将如何重塑我们的生活?
加餐三 | 行业应用:物联网的发展将如何升级第一、第二产业?
加餐四 | 5G技术将如何推动物联网的发展?
加餐五 | 投身物联网行业,如何做好职业规划?
用户故事 (2讲)
用户故事 | 让野蛮生长成为职业发展的助推剂
用户故事 | 转战物联网,我相信天道酬勤
物联网开发实战
15
15
1.0x
00:00/00:00
登录|注册
开通超级会员可免费学习本课程,还可解锁海量内容免费学特权。

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

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

网关系统架构

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

南向蓝牙通信

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

通过终端登录树莓派

在学习第 15 讲的时候,你应该已经在树莓派上部署好了包含 Gladys Assistant 系统的 Raspbian 操作系统,现在你可以直接使用这个系统。安装软件包之前,我们在电脑终端上输入下面的命令,通过 SSH 协议登录到树莓派系统中。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/1000字
划线
笔记
复制
02 | 通信技术:设备接入网络的方式有哪些?
06 | 物模型:如何定义智能电灯?
09 | 边缘中心:物联网网关有多重要?
10 | 数据处理框架:批处理还是流处理?
加餐一 | 这5本关于物联网的好书,值得一读
加餐四 | 5G技术将如何推动物联网的发展?
开通超级会员免费畅看本课程
开通会员
该文章仅可免费阅读部分内容,如需阅读完整文章,请开通超级会员或单独购买本课程。
登录 后留言

精选留言(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
    3
  • L
    启动服务的时候会报203错误,主要原因是脚本问题。需要加/bin/bash
    ExecStart=/bin/bash /home/pi/pi-gateway/service.sh
    2021-11-07
  • 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
  • 夜吾夜
    每一个家里有光照传感器+灯 这样的联动设置,我要管理一栋楼,需要把每个家的联动操作都放在 物联网管理平台去实现吗?老师你前面将的以家庭为单位进行控制,具体应该怎么实现呢?由每个家里网关去进行联动的控制吗?

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

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

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

    2021-01-18
    3
收起评论
8
返回
顶部