Azure RTOS 嵌入式无线网络框架简化物联网应用开发

news2025/2/5 19:57:45

一、Azure RTOS概述

Azure RTOS 是一个实时操作系统 (RTOS),适用于由微控制器 (MCU) 提供支持的物联网 (IoT) 和边缘设备, Azure RTOS 旨在支持高度受限设备(电池供电,并且闪存容量不到 64 KB)。简而言之,这就是一套完整的针对于物联网应用开发的带有多线程功能,中间件和桌面端开发工具套件。

二、Azure RTOS 系统组件

Azure RTOS 平台是运行时解决方案的集合,包括 Azure RTOS ThreadX、Azure RTOS NetX 和 NetX Duo、Azure RTOS FileX、Azure RTOS GUIX 和 Azure RTOS USBX。

 三、 Azure RTOS版本下载

Azure RTOS v6.2 (发布于Oct.’22) 提供Device Update原生支持

ADU Agent源代码:https://aka.ms/azrots/adu 

STM32 示例代码: https://github.com/azure-rtos/samples • https://learn.microsoft.com/en-us/shows/internet-of-thingsshow/a-sneak-peek-into-updating-an-azure-rtos-device-ota

四、Azure RTOS操作ewf嵌入式无线网络

当前在一般地嵌入式无线开发中,会出现以下问题:

1.在MCU上缺乏驱动框架和API标准,增加不少的工作量去完善;

2.不同厂家的 MCU 的通讯驱动开发和优化 ,标准不一;

3. 针对模组自行开发 AT Host 层软件 ,虽然多样化,但很难做到兼容;

4.各个模块自定义的AT指令处理,需要建立不同类的文档;

5.无线模块集成不同层次的TCP/IP协议栈 • 蜂窝、WIFI网络独有的初始化、配置和异常处理流程;

6.生命周期不匹配、供货不稳定,重新适配工作量可复用性低。

Embedded Wireless Framework是一套轻量级的抽象层框架,专门为解决资源受限的嵌 入式应用场景开发 , 兼容C99标准开发,满足MISRA C 2012认证要求 ,提供统一的、可配置的、可扩展的API给应用开发者, 是应用可以轻松运行到不同的硬件平台上,清晰的API和分层设计,解耦模组厂商的驱动和芯片 厂商的驱动,各伙伴各自可以独立完成开发,支持多种RTOS,无OS的Bare-metal实现。

GitHub - Azure/embedded-wireless-framework: Microsoft's Embedded Wireless Framework is a design concept that enables users to abstract application code from host port drivers and communication adapter drivers primarily in microcontroller-based projects.

五、EWF示例工程

1、项目一:

MCU: STM32U585 Discovery Kit

Cellular: Quectel BG95 – Cat-M, NB-IoT

TCP/IP协议栈和MQTT客户端运行在BG95模 块上,连接到Azure IoT Hub

STM32CubeIDE的完整示例工程:embedded-wireless-framework/examples/STM32U585_Discovery_GCC at main · Azure/embedded-wireless-framework · GitHub

 2、项目二

MCU: STM32U575 NUCLEO board

 WiFi: EMW3080 – 802.11b/g/n 

TCP/IP协议栈和MQTT客户端运行在 EMW3080模块上, 连接到Azure IoT Hub

STM32CubeIDE的完整示例工程:embedded-wireless-framework/examples/STM32U575_Nucleo_GCC at main · Azure/embedded-wireless-framework · GitHub

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/103104.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

某HR分享:2n和n+3的基数不一样,n+3比2n拿得多!仲裁期间不能入职新公司,千万别轻易仲裁,得不偿失!...

被裁员时,要2n还是要n3?是否选择仲裁?一位hr说,跟走过仲裁的同学和律师朋友打听了下,原来2n和n3完全不一样。n3的n取的是“非私营单位从业人员平均工资”的三倍,杭州市是3.2万。2n的n取的是“全社会就业人员…

Android设计模式详解之单例模式

前言 定义:确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。 使用场景:确保某个类有且仅有一个对象的场景,避免产生多个对象消耗过多的资源。比如要访问IO和数据库资源,应该考虑使用单例模式。 …

JAVA开发(数据库表设计)

对于大型系统数据库设计,需要进行一定的规划和规范,才能方便系统扩展和维护。一般系统的数据库设计要求,有数据库表系统规划,数据库表系统命名规范和设计规范。 一、数据库表系统规划 1、按系统规划或者按微服务规划 2、按业务…

Matlab论文插图绘制模板第71期—三维饼图(Pie3)

在之前的文章中,分享了Matlab饼图的绘制模板: 进一步,再来分享一下三维饼图的绘制模板。 先来看一下成品效果: 特别提示:Matlab论文插图绘制模板系列,旨在降低大家使用Matlab进行科研绘图的门槛&#xff0…

最大子段和(动态规划详细解析)

最大子段和 题目描述 给出一个长度为 nnn 的序列 aaa,选出其中连续且非空的一段使得这段和最大。 输入格式 第一行是一个整数,表示序列的长度 nnn。 第二行有 nnn 个整数,第 iii 个整数表示序列的第 iii 个数字 aia_iai​。 输出格式 …

读取excel文件read_excel()--Pandas

1. 函数功能 读取excel文件,支持读取xls,xlsx,xlsm等类型的EXCEL文件。能够读取一个sheet表或多个sheet表 2. 函数语法 pandas.read_excel(io, sheet_name0, *, header0, namesNone, index_colNone, usecolsNone, squeezeNone, dtypeNone, engineNone, converte…

MCMC算法

一. MCMC算法定义 MCMC是Markov chain Monte Carlo的缩写,即马尔可夫链蒙特卡罗方法。MCMC是一组利用马尔可夫链从随机分布中取样的算法。生成的马氏链即是对于目标分布的近似估计。常见算法: Metropolis-Hastings算法Gibbs取样算法Hamiltonian Monte C…

单片机AT89C51数码管数字时钟和闹钟二

详细代码讨论加我QQ:1271370903 一、课题的方案设计与论证 1.1摘要 近年来随着计算机在社会领域的渗透和大规模集成电路的发展,单片机的应用正在不断地走向深入,由于它具有功能强,体积小,功耗低,价格便宜…

【我的渲染技术进阶之旅】你可能永远猜不到为什么Filament项目命名为TNT?

文章目录一、疑惑为啥叫TNT?二、寻找真相2.1 百度TNT关键字2.2 GitHub issue2.3 GitHub Discussion三、总结一、疑惑为啥叫TNT? 在我之前的博客【我的渲染技术进阶之旅】如何编译Filament的windows版本程序? 有介绍如何编译Windows版本的Fil…

React 18:Ref(获取DOM对象)

ref介绍 React中所有的操作默认都是在React元素上进行,然后再通过虚拟DOM应用到真实页面上的。这样做的好处我们不在赘述。 虽然如此,在React中依然为我们提供了可以直接访问原生DOM对象的方式。ref就是干这个事的。 ref是reference的简写&#xff0c…

【排序】详细聊聊归并排序(含非递归)

目录 归并排序的基本思想: 递归算法: 递归算法的思路分析: 开辟数组的函数: 递归的函数: 非递归算法: 非递归的思路分析: 边界问题: 时间复杂度和空间复杂度分析&#xff1a…

重建农场2.0:实景三维数据中心一站式解决方案

面向实景三维中国建设,如何扩大产能,不断提升实景三维数据中心的重建算力水平?如何满足快速迭代的需求,不断提升数据中心的应变能力?如何做到“一机多能”,不断外延数据中心的硬件价值?在前不久…

jquery获取父/子iframe页面的URL

最近因为要演示,做个临时ifame框架页面,因此子页面要根据父页面url来指定跳转。下面为ifame页面: 1、获取子页面url: var currentpath = window.location.pathname; console.log(currentpath); 输出为:/JG/TJ_JILU.aspx 2、获取父页面url: let currentTopHref = wind…

IDEA 注释模版

类的主注释 /*** description TODO* author Gaoxueyong* date ${DATE} ${TIME}* version 1.0*/方法的注释 1、创建自己的分组 选择右侧Template Group并输入名称 2、创建自己的模版 选择自己创建的分组然后选择Live Template 然后在Template text框内写入 *** $description…

脑图谱的一致性问题

脑图谱的意义及一致性问题 我们如何定义大脑的解剖结构,并将这些结构与大脑的功能联系起来,可以限制或增强我们对行为和神经系统疾病的理解大量可用的脑图谱给研究健康群体和患病人群的可重复性和描述大脑不同区域参与各种疾病的荟萃分析带来了问题——…

全力推进企业数智赋能发展主线,低代码任重道远

信息化进程 纵观近半个世纪以来我国信息化的发展,经历了20世纪80年代以个人计算机普及应用为特征的数字化阶段(信息化1.0);20世纪90年代中期以互联网大规模商用为特征的网络化阶段(信息化2.0);…

毕业设计 基于java web的网上招标系统

文章目录前言一、项目设计1. 模块设计注册用户部分管理员部分2. 实现效果二、部分源码最后前言 今天学长向大家分享一个 毕业设计项目: 基于java web的网上招标系统 一、项目设计 1. 模块设计 注册用户部分 1:查看网站流程:查看与网站有关的流程信息…

ZBC成功上线PancakeSwap的糖浆池,并有望在不久上线Binance

近期流支付协议Zebec Protocol正在成为加密行业备受瞩目的Web3生态,其在此前与Visa合作推出可以使用加密货币进行支付的借记卡Zebec Card后,得到了Visa创始团队成员在技术、市场发展前景上的高度认可。与此同时,Zebec Protcocol也与尼泊尔财政…

【react-脚手架】

目录bug初始化脚手架react脚手架创建项目并启动脚手架文件介绍案例:hello react快捷键组件化编码流程脚手架配置代理方法前置说明常用的ajax请求库配置方法一:只能配置一个路径配置方法二:配置多个路径引入bootsrtrap消息订阅与发布&#xff…

YOLO系列目标检测算法——YOLOX

YOLO系列目标检测算法目录 - 文章链接 YOLO系列目标检测算法总结对比- 文章链接 YOLOv1- 文章链接 YOLOv2- 文章链接 YOLOv3- 文章链接 YOLOv4- 文章链接 Scaled-YOLOv4- 文章链接 YOLOv5- 文章链接 YOLOv6- 文章链接 YOLOv7- 文章链接 PP-YOLO- 文章链接 …