目录

一、引言

二、智慧路灯物联网架构介绍

1.感知层:

2.网络层:

3.平台层

4.应用层

三、开发环境

四、开发注意事项

五、学习网站(实践指南)

1.华为云实战训练营教学视频

2.智慧路灯项目实战教学(博主分享)

3.华为云最佳实践项目:基于NB-IoT小熊派开发智慧路灯

一、引言

本文将介绍利用小熊派物联网开发板开发“智慧路灯”项目的实现方案,并着重介绍整个端管云的物联网实现架构,介绍如何从设备、平台、应用端到端构建一款智慧路灯解决方案样例。并提供相应的小熊派“智慧路灯”项目的学习网站。

二、智慧路灯物联网架构介绍

  • 感知层:即通过传感技术,感知并采集物理世界的数据,建立人与物之间的沟通桥梁;
  • 网络层:网络层作为数据传输的管道,把物与互联网进行连通,实现人、机、物之间互通;
  • 平台层:数据接入到系统平台后,平台可对数据进行解析、分析、处理后,提供丰富的服务与功能;
  • 应用层:物联网最终将会应用于各类行业,如智能家居、智能汽车、智慧城市、智慧交通、智慧医疗等等,推动智能化发展。

1.感知层:

即我们使用的小熊派开发板,外接E53_SC1扩展板(光强传感器+高亮LED),用于采集外界环境的光强信息。

2.网络层:

网络层,实现数据传输,把数据从感知层传输至平台层。网络层又分为物接入互联网、互联网传输两部分。

在智慧路灯的实现中(物接入互联网):可以选择以下通信技术接入互联网:

  • Wifi:一种高速短距的无线通信技术,工作频段在2.4GHz和5GHz,通讯距离在百米范围,功耗很大,一般只用于有源设备;
  • Lora(Long Range Radio):一种低速远距调制技术,采用线性调制扩频方式,增强通讯距离,可达2~15km的范围,在中国使用的是470-510MHz免授权频段。与ZigBee类似也是需要通过节点+网关的方式搭建网络,功耗较低;
  • NB-IoT(Narrow Band Internet of Things,窄带物联网):一种新兴的低功耗远距通信技术,属于授权频段,只需要180kHz的带宽便可部署至运营商网络上。通讯距离也在10km级别。其低功耗休眠机制,会导致无法实时通信;

这几种通信方式都有对应的小熊派通信模块,都是可以实现连接网络的,这一层的作用是将感知层采集的光强数据通过连接网络后上传至华为云物联网平台。

互联网数据传输:

目前有两种主流的通讯协议:MQTT和CoAP

  • MQTT(Message Queuing Telemetry Transport,消息队列遥测传输):是一个基于客户端-服务器的消息发布/订阅传输协议,可保持长连接,实现多对多异步通信;
  • CoAP(The Constrained Application Protocol,受限应用协议):是一种客户端-服务器单对单的协议,具备轻量低功耗的特点。

小熊派设备连接华为云平台还可以采用LWM2M(Light Weight Machine-to-Machine),即轻量型的通信协议,该协议是建立在COAP协议之上的。这里需要说明下:COAP协议和LWM2M协议实际上是应用层的协议,只是COAP协议是负责数据的传输部分,LWM2M协议在此基础上进行了资源定位。有的人把COAP协议看做是传输层的协议也是可以理解的,因为它负责将感知层设备采集的信息传输至物联网平台(数据传输)。

LwM2M协议底层使用CoAP协议传输数据和信令。而在LwM2M协议的架构中,CoAP协议可以运行在UDP或者SMS(短信)之上,通过DTLS(数据报传输层安全)来实现数据的安全传输。

注:MQTT协议、CoAP协议等都是运行在应用层,底层使用TCP协议或者UDP协议进行数据传输,整个协议栈运行在IP网络上。而LoRaWAN等协议则是物理层/数据链路层协议,它解决的是设备如何接入互联网的问题,并不运行在IP网络上。

3.平台层

在华为云物联网平台上创建产品——定义产品模型——开发编解码插件——添加真实设备(小熊派开发板),之后便可在华为云物联网平台上接收感知层设备上报的光强数据,并通过下发命令控制“路灯”(开发板扩展板的LED灯)的开启与关闭,还可以在应用侧添加相应的规则使得“路灯”能够根据采集的光强信息自动选择开启或者关闭灯光,以实现“智慧路灯”。(之所以需要开发编解码插件是因为传输的数据在物联网平台上是JSON格式,而LWM2M协议和COAP协议传输的数据是二进制数据,故在物联网平台上需要开发编解码插件对传输数据进行编码与解码操作)平台层的开发相对简单,因为很多功能是华为云平台封装好的,直接配置调用即可。

4.应用层

可以在华为云物联网平台上开发相应的Web应用“路灯管理”界面以展现感知层采集的信息以及路灯的状态信息。(因为华为云IoT开发者服务(IoT Studio)已经于2021/04/30 退市,故目前无法通过华为云的IOT studio创建应用界面)

画了一个简单的物联网架构图如下:

具体的实践方案:(图源华为云实践文档)

三、开发环境

开发板:小熊派开发板(含 NB 卡、NB35-A 通信扩展板、E53_SC1 案例扩展板等)
IDE开发软件:IoT Studio/Liteos Studio/MDK Keilv5/VSCode(安装IOT Link插件)

(使用IoT Studio/Liteos Studio开发时都点击创建IOT Studio或者Liteos Studio工程即可,并使用相应的工程模板即可,若选择导入其他嵌入式工程GCC,里面的代码个人觉得会比较乱,不利于学习和后续云平台的开发)

物联网通信技术:NB-IOT / WI-FI等均可以

物联网通信协议:COAP/ LWM2M/ MQTT均可
平台:华为云平台(需要华为云账号登录,且需完成实名认证)

操作系统:使用的是华为的LiteOS物联网操作系统,提供了丰富的端云互通组件,该组件实现了LwM2M等协议,可以应用该组件实现与华为云平台的IoTDA的对接。

四、开发注意事项

        1.小熊派开发板连接后,光敏传感器以及NB-IoT扩展板插入到开发板上,若电源灯被点亮,说明开发板通电成功。但是注意!!有可能开发板的调试灯(图中而定橙色灯)是不会亮的,那么这个时候先不要怀疑是不是硬件出了问题,若烧录程序可以正常烧录(橙色灯闪烁)则证明开发板没有问题,毕竟板子之间存在微小差异,只要不影响功能实现即可。

         2.需要将开发板右上角的开关拨至AT-MCU(系统模式),这样才能够让开发板上的通信模块连接网络并将采集的信息传输至云平台。

         3.在添加真实设备后,在云平台上需要等待一会才能看到设备从未激活转为在线状态,此时若可以接收到上报的数据则证明云平台可以接收感知层采集的信息数据了(有2-3s的延迟)。

五、学习网站(实践指南)

因为这一块的资料比较多,所以这里对一些个人认为比较有价值的资料进行汇总:

1.华为云实战训练营教学视频

小熊派智慧路灯开发项目教学视频https://www.bilibili.com/video/BV1nV411j7PH?p=1&vd_source=3705b01347fc48e3e92d04fc643860ef可以重点看前面的开发板介绍,但后面涉及云平台的教学内容基本没有什么价值(因为华为云网站这两年变化较大,导致视频中的云平台开发内容和实际操作的内容不匹配,没有实战价值)

2.智慧路灯项目实战教学(博主分享)

1 智慧路灯_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1e341177Tj?p=2&vd_source=3705b01347fc48e3e92d04fc643860ef

使用IOT studio软件进行开发,内容较详细且涉及云平台的内容是和实际网站的内容匹配的,强烈推荐。

3.华为云最佳实践项目:基于NB-IoT小熊派开发智慧路灯

基于NB-IoT小熊派开发智慧路灯_设备接入 IoTDA_最佳实践_设备接入_华为云 (huaweicloud.com)https://support.huaweicloud.com/bestpractice-iothub/iot_bp_0007.html

使用VScode以插件的形式进行开发,内容极为详细,具有很多扩展内容。

基于STM32小熊派开发智慧路灯项目实践相关推荐

  1. 基于小熊派的智慧路灯(WIFI连接)

    前言 本文将讲解在使用小熊派官方例程中遇到的问题,以及实现用WIFI连接到华为云平台. 正文 一开始使用官方给的资料里面的智慧路灯demo,发现可以运行,数据能正常上传到云平台.但在过了一天以后,发现 ...

  2. 【华为云技术分享】基于小熊派开发板的智慧路灯开发版本更新

    1 主要功能 (1)光敏传感器感知光照强度并上发. (2)实现在云端对LED灯的开关控制. (3)通过设定传感器阈值,设定LED灯的自动开关. 2 目的及意义 (1)通过本次实验加深对于小熊派开发板的 ...

  3. 小熊派开发板实践:智慧路灯沙箱实验之真实设备接入

    摘要:尝试用小熊派开发板(E53_SC1.NB35)真实设备代替模拟器完成构建智慧路灯应用实验体验. 智慧路灯是城市智能化道路上重要一环,智慧路灯的实施具有节约公共照明能耗.减少因照明引起的交通事故等 ...

  4. 华为小熊派开发记录STM32+MPU6050+WIFI8266

    华为小熊派开发记录STM32+MPU6050+WIFI8266 前言 STM32CubeMX+MDK+LiteOS MPU6050 WIFI8266 华为云使用 其它 前言 忽悠下参加了物联网开发比赛 ...

  5. 小熊派开发笔记-串口读取RS485输出的土壤七合一传感器数据(基于STM32CubeMX)

    文章目录 环境 硬件 接线图 创建工程 在 Keil5-MDK 中编写代码 编译.烧录程序 环境 JRE(Java Runtime Environment) STM32CubeMX v6.3.0 HA ...

  6. RT-ThreadBearPi 开发笔记 -- 为小熊派开发板制作 RT-Thread BSP 包

    为小熊派开发板制作 RT-Thread BSP 包 前段时间,微联智控工作室向南京厚德物联网有限公司申请了一款物联网开发平台---小熊派物联网开发套件(BearPi-IoT).关于小熊派IoT开发平台 ...

  7. 小熊派开发实践丨漫谈LiteOS之传感器移植

    摘要:本文基于小熊派开发板简单介绍了如何在LiteOS中移植传感器,从而实现对于传感器的相关控制. 1 hello world 相信大家无论在学习编程语言开始的第一个函数应该是HelloWorld,本 ...

  8. 基于STM32与TB6600的机械臂项目(代码开源)

            前言:本文为手把手教学STM32的机械臂项目--Robot Arm,本次项目采用的是STM32作为MCU.该机械臂的基础模型为国外开源项目,诸多前辈经过长时间的验证与改进,其机械臂精度 ...

  9. 基于微信小程序开发的仿微信demo

    (本文参考自github/liujians,地址:https://github.com/liujians/weApp) 作者声明: 基于微信小程序开发的仿微信demo  整合了ionic的样式库和we ...

最新文章

  1. rsync 同步数据
  2. AI 一分钟 | 法拉第未来称年底前交付首量FF91,你还相信贾跃亭吗?
  3. JavaScript:prototype属性使用说明
  4. 探索Julia(part9)--字符串处理
  5. [导入]php 安全基础 第八章 共享主机 文件系统浏览
  6. 【贯穿】.NET6结合Docker傻瓜式实现容器编排
  7. 开发一个简单的WebPart
  8. code vs 1013 求先序排列
  9. Android:随笔—— ConstraintLayout 效率爆表的技巧
  10. 【斜率优化】[CEOI2004]锯木厂选址——从这里开始斜率优化的大门
  11. 【操作系统/OS笔记08】进程的定义、组成、PCB、生命周期管理、状态变化模型、挂起模型
  12. Android内核开发:如何统计系统的启动时间
  13. FPM打包工具 可以把源码包制定为rpm包 是自动化部署的环节
  14. 黑苹果声音低、有杂音、爆音解决方案
  15. ActiveSync的使用
  16. 服务器都有哪些安全配置总结
  17. 品牌笔记本主板刷BIOS升级NVME ssd启动系统
  18. Gromacs基础教程一:入门建议
  19. LDO和DCDC电路的概述和区别
  20. 网络IO和磁盘IO详解

热门文章

  1. uni-app写微信小程序获取位置信息
  2. 两个向量组的秩相等说明什么_若两个向量组等价,它们的秩是否相等?
  3. P1926 小书童——刷题大军 题解
  4. ACM-图论完全总结(知识点+模板)
  5. AutoCAD Civil3D纵断面图中如何修改坡长为变坡点之间的距离
  6. Oracle基础操作
  7. 生鲜配送如何让“订单管理”变得简单?
  8. 第十八次CCF计算机软件能力认证
  9. 股票自选股基本函数大全-1
  10. 将VSCode语言环境设置为中文