自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(45)
  • 收藏
  • 关注

原创 边缘计算那些事儿-kubeedge edged解读

假设我们在一个边缘网关设备上引入了kubeedge,那该边缘网关就相当于k8s中的一个node节点,在node节点里可以包含多个pod,每个pod就可以承载一个应用程序或者微服务,pod的实现在kubeedge中可以用docker,容器或者CRI-O技术,pod之间的通信可以直接使用部署在kubeedge中的kubelet,作为应用开发者不需要关心pod的管理和维护过程,也不需要关心如何通信,这些都由edged完成了,只需要专注于业务开发即可。数据处理的模型是来自云端的裁剪还是在本地边缘设备生成的问题;

2023-11-18 10:39:56 677

原创 边缘计算那些事儿-漫谈网络切片关键技术

网络切片作为一种比较前沿的技术,当前并没有太多系统的资料可以学习,很多的技术资料都是比较分散地分布在论文和一些技术博客中,笔者当前是通过论文的解读获取相关的技术信息,在过程中笔者总结了相关的技术栈,本文就是针对该技术栈的一次探讨,抛砖引玉,为读者入门网络切片提供一些帮助。

2023-07-09 20:39:10 686

原创 边缘计算那些事儿-基于意图的切片编排器

前面笔者基于5G网络端到端分解了网络切片的核心模块,包括切片编排器和核心网,接入网的切片资源基本分配方案,详见参考文献【1】,但是并没有给出详细的设计方案。本文通过对文献【2】论文的解读,着重探讨接入网侧切片编排器实现方案,进一步从技术视角对网络切片的实现进行解读。

2023-06-03 17:10:48 353

原创 边缘计算开源项目解读-kubeedge metamanager实现

本文开始的元数据处理将真正展现kubeedge边云协同处理数据的能力。它可以像在云上使用kubernents一样,对云原生API接口进行调用,实现应用在边缘设备上的快速部署,在云端和边缘侧的无缝迁移。这一系列解读的主题包含MetaManager、edged、servicebus和edgehub几个模块,笔者将依然按照前面逆向的思路,从代码架构、上下文通信,主流程和业务的视角进行解读。

2023-04-25 19:10:45 856 1

原创 边缘计算那些事儿—边缘智能技术

边缘智能是边缘计算中一个非常重要的方向。它将边缘计算和人工智能算法结合起来,在边缘设备上就近处理目标检测、物体跟踪,识别等任务。这种处理方式可以降低时延,减少数据上送云端对回传网络的冲击,同时保证数据的隐私和安全性。但是,我们要面对一个问题,即现有的人工智能算法是否可以直接应用于边缘侧,还是我们需要重新设计一套原生算法。本文将探讨边缘智能网关的全栈解决方案,提供一套工程化的实现框架,从硬件、操作系统、数据平台和智能编程库选型入手,帮助读者选型快速搭建一个边缘智能网关出来。

2023-04-04 19:49:33 2153

原创 边缘计算开源项目解读——kubeedge mappers实现

0 背景 本文重点解读kubeedge项目中的mapper模块。该模块位于kubeedge的edgecore的南向边缘侧,主要对接入kubeedge的终端设备,进行协议的适配和转换,使其可以和边缘设备通信,转换后的协议是我们前面描述的mqtt协议,当然也支持http协议。当前该模块支持BLE、MOBUS等多种物联网协议的转换,这部分代码单独有一个git路径【1】,有自己独立的架构和功能特性。笔者将从代码架构,模块的上下文,订阅和发布消息的角度对其进行解读。1 mapper代码架构

2023-03-02 15:49:09 1384

原创 嵌入式系统那些事——aarch64 backtrace嵌入式汇编实现

在aarch64嵌入式应用开发中,经常会遇到段错误(segmentation fault),但是通常情况下系统报错后直接退出,没有异常调用打印信息,定位出错原因十分困难。经确认,该问题是由于没有设置捕获段错误,并调用backtrace打印异常调用栈,笔者实现该异常捕获处理方案后,发现仍然没有异常调用栈输出。经进一步定位发现,该嵌入式设备上使用的glibc库版本过低,并不支持aarch64的backtrace功能。 笔者找到glibc的最新开源版本glibc2.36(2022年8月发布),其

2023-02-10 22:03:28 784

原创 边缘计算那些事儿--网络切片技术(3)

5 5G核心网切片 核心网的网络切片与RAN的网络切片不同,首先是资源方面,不涉及空口资源,其次从协议栈方面,也跟RAN的协议栈有很大差异,主要实现用户接入管理,会话管理,数据分发等功能,在协议栈的切片上,与RAN协议栈关注的资源点不同。最后在网络层级上处在一个更高阶的位置,可以看到其下的所有网络切片资源,但是相对RAN,与用户的距离更加远,边缘计算服务能力更强,因此在涉及边缘计算卸载方面,需要考量这些因素的影响。 如下是5G核心网为例的网络切片实现方案。图中核心网处在R

2022-12-06 08:06:35 1339

原创 边缘计算那些事儿--网络切片技术(2)

前面介绍了切片的网络编排器主要实现切片的管理和控制,在切片的实现上,并没有过多涉及。切片的实现主要依赖具体的物理网络设备和资源,本小节从5G RAN层面,介绍切片的实现。5G RAN切片的实现主要包含三类资源,分别是空口资源,协议栈资源和基站设备资源。每一类资源根据其资源特点被划分为不同的切片,并被赋予不同的实例ID,最终提供给切片编排器供其分配。同时也会根据切片编排器发送的控制信息,对切片进行重新的分配,合并和扩展。

2022-11-30 20:53:13 1654

原创 边缘计算那些事儿--网络切片技术(1)

边缘计算可以支持就近的计算卸载,让数据在靠近数据源的设备上处理。对于边缘计算低时延的应用场景来说,网络性能的好坏,直接影响着卸载算法的整体耗时,决定着整个算法模型的可行性。因此如果想实现低时延卸载算法,除了获得合适的计算资源以外,还需要更加精细的网络资源的管理。对于需要进行低时延处理的数据,在网络上提供单独的通道和资源,报文在调度和转发时具备更高的优先级,保证报文可以第一时间被响应。要实现上述功能传统的做法是提供专网,5G中提出了网络切片技术,即在物理网络上切出一系列面向定制化服务的逻辑网络,使具体业务独占

2022-11-25 22:00:04 2950

原创 边缘计算那些事儿--边缘卸载技术

前面笔者有对边缘计算系统做过一次综述,从本文开始,笔者将重点解读边缘计算技术栈,首先介绍的是边缘计算卸载技术。所谓卸载技术,即将终端或者云端的计算任务卸载到边缘侧,通过综合判断性能、能耗、时延等指标,将数据或者计算模型下沉(上传)到合适的位置。在边缘计算的卸载中,基本的卸载策略是明确卸载谁,卸载到哪里,怎么卸载,何时卸载以及卸载多少的问题。本文也基于该卸载策略展开论述,并最终给出卸载的基本功能和评判的标准。

2022-11-01 21:56:41 4997 2

原创 边缘计算开源项目解读--kubeedge事件总线

本文继续解读kubeedge项目中的eventbus(事件总线)模块,这个模块与上一节介绍的devicetwin(设备孪生)相关联。主要通过mqtt协议与终端设备进行通信,将devicetwin模块的期望状态发布给终端设备,并订阅来自终端设备的实际状态,上送给devicetwin模块。这个模块虽然不及设备孪生模块在边缘计算模块核心,但是却是打通终端设备和边缘设备通信的重要模块。下面笔者将从这个模块的架构、与上下文模块的交互和内部核心流程三个角度,分解这个模块,帮助读者理清其中的代码逻辑和业务流程。

2022-10-16 23:00:00 1870

原创 边缘计算开源项目解读--kubeedge设备孪生

今天开始笔者将详细解读其中的kubeedge开源项目,该项目是云边融合的典型项目,它将云端的应用编排和管理扩展到了边缘设备,基于kubernents构建,实现了云边可靠协作、边缘自治、代理和设备管理,可以非常容易地将已有的复杂机器学习、图像识别、事件处理等部署到边缘端。本文将从设备孪生入手,详述什么是设备孪生,设备孪生的价值以及kubeedge中设备孪生是如何实现的,希望对读者学习和研究kubeedge有一定的帮助和启发。

2022-09-25 16:19:41 1572

原创 嵌入式系统那些事—脚本语言tcl

tcl脚本语言在嵌入式开发,通信设备开发调试中经常被用到。它是一种跟shell语言类似的解释型语言,不需要编译就可以运行,语法简单,作为程序员可以在几小时或者几天内就可以熟练掌握,但是它网络功能强大,又是开源免费的,因此在日常的网络设备调试,自动化测试,复现定位概率性问题中被广泛使用。参考文献【1】【2】的两个链接是tcl脚本的基本语法学习路径,笔者将其中重要的语法点总结如下图所示。图中上半部分是tcl的特点,下半部分是从文件和函数的视角对各个知识点的归类。

2022-09-04 12:51:54 2664

原创 万物互联之边缘计算岗位分析

边缘计算是近年来刚刚兴起的新方向,已经有不少公司在逐步投入人力和物力,其中既有BTA、华为、字节跳动这样的大厂,也有EMQ等创业公司,前面已经对此做过分析。本文从另外一个视角分析这个新型的方向,笔者在招聘网站上搜集了边缘计算方向的岗位,并且对这些岗位从技术、业务和管理的角度进行对比,得到边缘计算方向的能力要求,希望对想要从事这方面工作的读者有所帮助。

2022-08-20 18:03:18 3607

原创 边缘计算开源项目概述

边缘计算开源项目是当前业界为解决垂直领域的计算和网络资源应用问题提出的一套解决方案,根据不同的应用场景有多种类型的平台。笔者将github上关注度较高的边缘计算开源平台进行了对比研究,简述了每个开源项目设计目标,基本功能和应用场景,帮助用户在自己的领域选择合适的边缘计算平台。...

2022-07-30 12:08:28 2497

原创 国内的边缘计算组织和产品调研

当然在传统的CDN视频领域,除了网宿科技这样的老牌企业外,新兴的PPIO,字节跳动的火山引擎,UCloud等企业,也依赖布局的视频节点,利用边缘计算技术,提供更低时延,更佳用户体验的业务。参与角逐的公司,包括传统的通信设备企业,如华为、中兴、新华三,也有传统的服务器公司,如浪潮、联想,还包括三大电信运营商,电信、移动、联通,互联网BAT也不甘示弱,从阿里云到腾讯云、百度云,都在往边缘计算方向延伸,试图在其中分一片天下。针对已有的产品我们也可以从产品经理的视角去剖析其中的价值点,找到真正带动市场的点。....

2022-07-19 21:37:28 1667

原创 浅析基于边缘计算的移动AR实现(下)

上一篇文章主要从终端的角度分析了AR终端功能模块、系统组成和通信方案。本文将AR边缘计算架构的视角往上移一层,来到边缘设备侧,分析一下在边缘侧,是如何支持和实现AR相关业务和数据的处理的。我们知道AR业务需要处理大量的实时数据,包括视频、图像、位置感知、生物特征信息等,这么大的数据量,在终端设备侧根本无法完成,因此需要将其卸载到边缘设备或者云端处理。在具体实现时哪些AR业务需要卸载,卸载到哪里,如何卸载,什么时候卸载,都是需要进行系统的分析的。本文从边缘计算卸载技术的视角,设计了设备管理、数据预处理、安全管

2022-07-09 11:54:25 1213

原创 浅析基于边缘计算的移动AR实现(中)

移动AR的实现上,本文主要立足于业务,根据业务特点设计移动AR的实现架构。移动AR业务属于计算密集型,涉及大量的数据处理,加之AR终端设备通常是便携可穿戴的产品形态,在设备实现上小巧轻量,因此需要将业务部分卸载到边缘侧或者云端进行处理。基于以上原则,我们将实现框架划分为三层,分别是AR终端,移动边缘端和云端。每一层根据计算能力,能量消耗,分别处理不同的业务,各层之间相互配合完成整个功能。各层详细的模块设计如下图所示。 AR终端是AR业务的载体,主要完成环境数据和用户位姿的采集,传输和最终的信息

2022-06-26 09:26:35 858

原创 浅析基于边缘计算的移动AR实现(上)

AR属于计算密集型技术,其实现需要高带宽、低时延和比较强的计算能力支撑,为此之前的解决方案大多采用有线的方式将AR眼镜连接到本地计算机上,这限制了用户的使用场景。随着5G和边缘计算技术的兴起,AR的移动性大大提升,AR眼镜可以通过高带宽的无线方式接入到网络中,在就近的边缘计算设备上进行计算,这为移动AR的实现提供了新的方向。本文总结了基于边缘计算的移动AR解决方案,首先对AR的概念和业务进行了分析,然后在业务分析的基础上提出了基于边缘计算的移动AR架构,最后对其中的涉及的核心技术进行了介绍。...

2022-06-12 10:51:26 739

原创 嵌入式架构那些事--浅谈嵌入式多态

在我们的嵌入式c开发中经常会面对这样的一类需求,因为对接的设备支持的协议不同,自身的设备需要兼容这些协议,因此需要业务支持不同的协议解析方式,比如有的协议用tlv的数据格式,有的用xml的格式,有些又用json这样的格式,面对如此多差异化的需求,我们该如何解决呢?一种常见的做法是将协议解析和逻辑实现做到一起,每种协议对应一套代码,这种实现方式简单,没有什么设计可言,就是撸代码。但是每当对接一种新的协议就要从头开发,这种重复造轮子的方式非常初级,代码的可扩展性也非常差,有没有一种更高级一点的方法呢?答案是有的

2022-05-28 16:55:44 398

原创 嵌入式系统那些事-arm运行时文件解读

前面笔者从arm的指令集开始,依次解读了文件视角下的arm汇编文件、arm elf文件,其目的是帮助读者系统地了解arm体系结构下指令转换和执行过程。本文是文件视角主题下的最后一篇文章,将对arm运行时的文件进行解读,即被加载后的代码如何被一步一步执行的。这个部分的核心是函数调用栈,尽管系统已经帮我们做了这件事,但是了解其内部的机制和原理,对我们来说仍然是很有裨益的,特别是解决一些踩内存的问题,可以让我们抽丝剥茧,找到问题根源,而不是靠猜测碰运气。本文将详述函数调用栈的基本原理,...

2022-05-26 22:18:59 1028

原创 嵌入式系统那些事-文件视角下的arm elf解读

这篇文章笔者继续文件视角下的arm elf的解读,elf(Executable Linkable Format)是在linux下使用的一种可执行文件格式,我们的arm架构上通常都是部署的linux系统,因此elf文件也是跟arm架构强相关的一种文件格式。通过对其进行解读,可以帮助我们了解这样的一个文件是如何生成的,内部的结构是怎样的,如何在嵌入式的arm设备上加载运行起来,从而加深对整个系统运行机制的理解。

2022-05-03 09:55:49 1336

原创 嵌入式系统那些事-xilinx multiboot番外篇

前面我们通过文件视角解读了arm体系结构的指令集和汇编,在开启解读elf文件之前,我们先来看一下一个bin文件是如何升级到嵌入式设备上,然后加载运行的。特别是如果在升级的过程中出现断电等异常情况,导致flash中的程序不可执行时,有什么样的手段可以保证系统可以起来。本文先去简单介绍了一个升级流程,然后以xilinx multiboot实现双区备份为例,帮助读者理解保障系统可靠性的方案。

2022-04-25 23:04:05 2199

原创 嵌入式系统那些事-文件视角下的arm汇编

0 背景 上一篇文章我们从指令集的视角解读arm架构,本篇从指令集组成的汇编文件入手对arm架构进行解读。汇编是跟体系结构强相关的一种编程语言,现在实际开发中比较少用汇编直接进行开发,更多的是在定位诸如踩内存等问题时,才会进行反汇编操作,此时就需要知道简单的arm架构下的汇编文件结构和语法,才能更快地抓住汇编文件中的关键信息。本文首先从文件的视角,列举出汇编文件中重要的元素和应用场景;然后从整个文件转化流程的视角,总结了哪些文件可以转成汇编语言,转化后的差异在哪里,得到基本的arm汇编文件...

2022-04-13 21:56:21 2465 1

原创 嵌入式系统那些事-文件视角下的arm指令集

arm架构是7层架构中第一个软件层次,向下它决定了芯片的设计,向上它为其他的层次提供软件编程的基础平台,在整个架构中扮演着举足轻重的角色。笔者从工程实践入手,结合自己的经验,从不同的视角对整个的arm体系结构进行总结。本文是文件视角下的arm体系结构的开篇-指令集,本文是文件视角下的arm体系结构的开篇-指令集,在文件视角下,arm体系端到端的文件笔者归结为指令集、汇编文件、elf文件和运行时文件4个不同形态,笔者将一一解读。

2022-03-18 22:13:04 7114 2

原创 万物互联之边缘计算简述-应用场景

前面的几篇文章都是在讨论边缘计算的基本概念、发展史和实现的知识地图。本节将从应用的视角去阐述边缘计算的价值,使读者能够更加直观地领略边缘计算带来的新机会和新挑战。为此笔者选择了智能家居、智慧商场和智慧消防三个典型垂直行业应用场景,以边缘通信网关为切入点,针对空天地一体化的三张网(有线光纤、无线5G和卫星通信)分别引入边缘计算,解决智能家居场景下不同业务的网络资源需求、智慧商场场景下的室内导航和智慧消防场景下的现场实时指挥控制的问题。 因为边缘计算的加持,将对用户的体验、实时性等方面带来质的提升。

2022-03-06 21:45:50 7011

原创 嵌入式系统那些事-第一阶段引导启动

上一篇文章用一张图的方式综述了smp系统的端到端启动流程[1],本文将详细介绍一下第一阶段的引导启动过程,这个阶段主要完成cpu,flash,ddr和外部管脚的初始化,为下一阶段的代码的执行环境做准备。通常情况下这部分是cpu内部实现的,通过汇编语言编写,不需要过多关注,但是有些需求,比如双区备份启动,就需要对该部分代码进行修改,因此有必要理一下这部分流程。本文先通过一张图的方式将关键流程节点进行了论述,然后通过举例xilinx芯片的引导过程加深对其的理解。

2022-02-16 22:22:49 2152

原创 mqtt broker商业解决方案-HiveMQ解读

前面介绍过mqtt broker的一种开源解决方案-mosquitto[1],本文将简单介绍一下商业化的解决方案-HiveMQ,目的是从商业化的视角看一下如何实现mqtt broker,有哪些可以借鉴和学习的思路,比如mqtt broker mesh组网是前面mosquitto中没有体现的,在商业应用中经常会遇到千万级的发布和订阅场景,此时就需要broker之间组网,进行负载均衡。还有一点值得学习的是,将这个看似简单的mqtt协议做到极致是一种怎样的体验。

2022-02-12 17:13:44 5234

原创 嵌入式系统那些事-一张图秒懂系统启动流程

本文将端到端的梳理一下嵌入式系统的启动流程,通过对该流程的梳理,可以全面了解嵌入式系统各层的初始化过程。另外在笔者的嵌入式通信设备开发经验中,新开发一块板子或者产品,有两个重要的软件里程碑:一个是板子能够正常启动,另外一个就是能够通流(即业务是正常);只要完成了上面两个基础功能,基本上工作任务也就完成了80%,剩下的就是不断优化的过程了。最后在笔者工作中也有30%以上的问题是跟启动过程有关的,如启动性能、单板起不来、断链、异常复位,快速定位问题首要的是清楚启动流程。基于以上原因有了此文。

2022-01-26 22:26:42 10273

原创 边缘计算简述-多视角下的边缘计算实现

边缘计算的实现,当前有很多的开源项目,比较著名的有kubeedge,EdgeX Foundry,EdgeGallery等,还有一些边缘计算组织如ECC也提出了边云系统的架构。笔者结合自己过往的行业经验和未来规划的垂直行业, 在上述多个边缘计算架构的基础上梳理出来不同视角下边缘计算实现的架构。本文的目的不是提出一种新的边缘计算框架,而是博取所长,创建一张边缘计算知识地图。本文的行文的思路则借鉴模型驱动设计[1],从产品经理、架构师和软件工程师三个不同的视角去审视边缘计算实现。

2022-01-19 22:19:38 7350

原创 嵌入式系统那些事-先导篇

笔者从毕业至今已经8年有余,所以想将先前的工作和实践经验总结一下,帮助自己系统化地梳理知识结构,找出知识的盲点。为何选择《嵌入式系统那些事》这个主题,首先笔者8年多一直在嵌入式领域耕耘,从mcu到arm芯片开发,从裸机开发到操作系统上的开发,从底层的驱动开发到应用层的开发,从toc的消费类产品到tob的通信产品,笔者都有所涉猎,但是发现这些知识都是零散地存在,没有形成一张网,于是笔者想通过这种形式织一张网出来。

2022-01-13 22:01:57 1553

原创 mqtt协议产品化实现-FreeRTOS实现mqtt客户端

前面的两篇博客,笔者分别介绍了华为鸿蒙系统中实现mqtt客户端和mosquitto实现服务端broker,本节将介绍一下FreeRTOS中是如何实现mqtt客户端的。FreeRTOS是一款应用在小微型处理器上的实时操作系统,在嵌入式系统中应用非常广泛,当前的物联网终端设备如果要接入互联网,需要支持联网的操作系统,FreeRTOS就提供了这样的一套解决轻量级的解决方案。在这套解决方案中提供了C/S架构下的请求/响应(http)和发布/订阅(mqtt)两种消息模式,完全可以满足小微设备的联网诉求。

2022-01-09 21:32:02 4990

原创 万物互联之边缘计算简述-什么是边缘计算

在上一篇博客中《万物互联之边缘计算简述-背景》[1],笔者解释了在万物互联时代,引入边缘计算的必要性。详细说明了在新的高带宽、低时延、海量连接和海量数据的场景下,边缘计算可以发挥的价值,并在文章的结尾给出了边缘计算的4个关键词:分布、就近、边缘侧和资源下沉。那在业界对于边缘计算是如何定义的呢?当前边缘计算有哪些类别和方向?边缘计算是怎么来的,发展历史是什么样的呢?带着这些疑问,开始我们今天的话题。

2022-01-06 22:08:19 2143

原创 物联网协议选型-MQTT/AMQP/CoAP/HTTP/LwM2M

前面笔者简单谈了在实际的mqtt产品实现时,选择了参考文献[1]mosquitto服务端实现和[2]华为鸿蒙mqtt客户端实现,两个比较典型的项目作为例子对产品级的实现进行了解析。在实际的工程项目中,经常还需要根据应用场景,选择合适的物联网协议,那针对众多的物联网协议(MQTT/AMQP/CoAP/HTTP/LwM2M)应该如何做出选择,判断和选型的依据时什么呢?本文笔者从物联网的特点入手,提出了一些通信中需要考虑的要点,然后根据这些要点,梳理出各个协议的差异,希望对读者有一定的指导意义。

2022-01-02 22:27:23 3276

原创 万物互联之边缘计算简述-背景

从今天开始笔者跟大家探讨一个万物互联领域最近几年比较火的概念-边缘计算,乍一看这个名字会让人感觉跟当年的刚出现云计算一样,老瓶新装的东西。那是不是这样的呢?在正式引入边缘计算这个概念之前,我们先暂且不去在意这个名字。先从现实的场景入手,分析一下现在依然红的发紫的云计算是否可以解决时下的万物互联的问题,有哪些问题是无法解决的,而这些无法解决的问题是否有解决的方案。

2021-12-28 23:27:11 2632

原创 mqtt协议产品化实现-华为鸿蒙实现mqtt客户端

mqtt协议的实现从角色上看包括broker端和客户端,这两者实现上还是有比较大的区别,本文选取了华为鸿蒙操作系统,其中对mqtt协议客户端的实现作为解读对象,看一下如果选用华为鸿蒙系统,mqtt在什么位置,怎么样移植和使用,内部又是怎么实现的。除了对技术的学习总结,笔者还穿插分享了自己的一些行文思路,架构思路和代码解读思路,比如爆炸思维、目录即架构、一张图秒懂,希望对读者有所启发。因为笔者始终坚信技术在写出来分享出来时就已经过时了,只有内在的本质的东西才是历久弥新的。

2021-12-23 23:29:29 3014

原创 MQTT协议产品化实现-mosquitto开源产品(2)

前一小节,参考文献[9],论述了mosquitto是如何实现mqtt协议的broker端功能,反向分析给出了系统架构,感兴趣的读者可以根据这个系统架构,快速地理清该产品的每个功能点的关联关系。本小节则从这个开源项目应用价值入手分析。

2021-12-20 09:30:11 415

原创 MQTT协议产品化实现-mosquitto开源产品(1)

前面的mqtt协议是从标准协议的视角进行的分析,接下来的这几个小节将从开源项目(mosquitto)、物联网操作系统(鸿蒙、freertos、rt-thread)对mqtt协议的支持、商业化的HiveMQ项目,三类产品和解决方案的视角去审视一下这个协议是如何实现的。

2021-12-15 22:36:37 2129

原创 MQTT协议实现-安全管理(4)

对物联网来说,安全问题一直是一个绕不开的话题,而作为一种重要的物联网传输协议的MQTT自然也需要重点关注。为何要关注安全?首先,之前上到云端的用户数据是少量的,在物联网场景下,大量的数据被送到云端,这些数据有可能是可穿戴设备搜集的健康数据,有可能是家里的摄像头、电视、智能音箱采集的环境和习惯数据,这些都是非常隐私的,如果通过MQTT协议传到云端,又缺乏足够的安全防护,将会带来多大的安全隐患。

2021-12-12 16:39:50 5198

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除