
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
前面的两篇博客,笔者分别介绍了华为鸿蒙系统中实现mqtt客户端和mosquitto实现服务端broker,本节将介绍一下FreeRTOS中是如何实现mqtt客户端的。FreeRTOS是一款应用在小微型处理器上的实时操作系统,在嵌入式系统中应用非常广泛,当前的物联网终端设备如果要接入互联网,需要支持联网的操作系统,FreeRTOS就提供了这样的一套解决轻量级的解决方案。在这套解决方案中提供了C/S架

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

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

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

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

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

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

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

在了解了什么是MQTT以后,接下来了解一下怎么实现这个协议,也是对MQTT协议的解读和总结,这一小节主要是给出整体的架构图和连接管理,后续小节将详述发布管理和订阅管理两个重点模块。

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








