HCIA物联网初级考试-第五章物联网操作系统及感知层开发介绍

简介: HCIA物联网初级考试-第五章物联网操作系统及感知层开发介绍

个人推荐:

📢📢📢 前些天发现了一个蛮有意思的人工智能学习网站,8个字形容一下 "通俗易懂,风趣幽默",感觉非常有意思,忍不住分享一下给大家。 点击跳转到教程

在这里插入图片描述

一.物联网操作系统

(一).操作系统发展史与概述

1.什么是操作系统?
操作系统 (Operating System,简称OS) 是 管理计算机硬件与软件资源的计算机程序。操作系统需要处理如管理与配置 内存、决定系统资源供需的优先次序、控制 输入设备与 输出设备、操作网络与管理文件系统等基本事务。操作系统也提供一个让用户与系统交互的操作界面。

操作系统管理所有计算机硬件与软件资源:
在这里插入图片描述

2.操作系统演进历程:

互联网时代 - 移动互联网时代 - 物联网时代
在这里插入图片描述
人工操作方式-批处理操作系统-分时操作系统-分布式操作系统/网络操作系统
在这里插入图片描述
人工操作方式:
在这里插入图片描述

(二).物联网操作系统概述

1.物联网终端开发面临的挑战
  • 物联网终端种类众多,存在芯片和硬件的差异,开发者需要自行适配硬件口。
  • 物联网终端所采用的通信技术与协议多,同时通信模块迭代快,开发者需要自行选型和适配对接。
  • 多传感器协同管理复杂
  • 视频场景下性能、功耗要求高
2.华为终端智能感知解决方案

华为提供完整、标准化物联网操作系统LiteOS,加速终端智能化进程。

华为物联网操作系统LiteOS框架架构:
LiteOS框架架构:1个内核加N个中间件
在这里插入图片描述

3.关于智能化终端的标准:

联接智能,组网智能,管理智能

在这里插入图片描述
华为物联网操作系统LiteOS在智能终端的运用:

  • 华为P/Mate系列旗舰手机
  • 华为手环
  • 华为MobileCam
  • 华为智能家居
  • 华为智能水表
  • 华为智能停车

华为P/Mate系列旗舰手机:

  • Huawei LiteOS运行于麒麟系列芯片的协处理器上。
  • 采用Huawei LiteOS智能传感框架,智能传感框架与感光模块协同优化,降低计步能耗,提升测量精确度

在这里插入图片描述

华为手环:

  • 华为B3手环是首款基于Huawei LiteOS自研构建的智能终端设备。
  • 采用Huawei LiteOS智能传感框架,解决多传感器高精度采样、数据同步等疑难问题。运动检测的准确性进一步加强,抬腕亮屏响应时间进一步减少。
  • 超低功耗,支撑设备更长待机。

华为MobileCam:

  • 通过Huawei LiteOS支持快速启动。
  • 通过Huawei LiteOS低功耗特性,实现电池供电工作,适用于室外和身体佩戴使用场景。
  • 通过Huawei LiteOS智能休眠、快速唤醒等特性,实现省电、事件快速响应。
  • 4G无线连接及传输,支持运动DV场景视频直播。

二.感知层开发介绍

(一).端到端集成开发概述

关于什么是端到端的开发?
终端侧开发和应用服务器侧开发

  • 终端侧开发:硬件PCB设计、终端业务程序开发以及网络接入调试。
  • 应用服务器侧开发:Profile文件开发、编解码库开发以及调用IoT平台北向接口开发应用服务器。

(二).硬件开发:单片机和传感器介绍

1.单片机基础:

微型计算机工作概述:
寄存器:用来存放数据(里面由可以保存电荷状态的电路或设备组成如:锁存器),里面存放电荷,单片机的编程实际上就是在操作单片机里的寄存器,修改寄存器里的对应位电荷的状态。
程序:有序的指令集合(底层的指令就是机器指令【有序的电平】)。
在这里插入图片描述
关于什么是指令集:

计算机指令就是指挥机器工作的指示和命令,程序就是一系列按一定顺序排列的指令,执行程序的过程就是计算机的工作过程。指令集,就是CPU中用来计算和控制计算机系统的一套指令的集合,而每一种新型的CPU在设计时就规定了一系列与其他硬件电路相配合的指令系统。而指令集的先进与否,也关系到CPU的性能发挥,它也是CPU性能体现的一个重要标志。每款CPU在设计时就规定了一系列与其硬件电路相配合的指令系统。指令的强弱也是CPU的重要指标,指令集是提高微处理器效率的最有效的工具之一。

在这里插入图片描述

ARM(指的ARM处理器如:Stm32F103C6单片机)常用指令:
下面的MOV指令(数据传送指令)LDR指令(寄存器到寄存器的传送指令)一定要记牢!(其他的指令就是算数逻辑指令和位运算逻辑指令)
在这里插入图片描述
处理单元分类:
分为下面二类:

  • 微 处 理 器 (Microprocessor, MPU)
  • 微 控 制 器(Microcontroller, MCU)

关于什么是微 处 理 器 (Microprocessor, MPU)?

微处理器通常就是一块CPU (Central Processing Unit),通常被放在电脑、服务器或游戏设备等当中用来处理高功耗、高复杂度的任务。其特点在于微处理器只能用来处理数据,所有必要的存储器和外设都必须分别外接。

如:酷睿i99980,i711800,i512600
在这里插入图片描述

关于什么是微 控 制 器(Microcontroller, MCU)?

微控制器又可被成为单片机,其中包含CPU,存储器和一系列输入输出设备。通常被设计为MP3播放器、照相机、远程控制设备等低功耗嵌入式应用。

如:CC2530,ZiBee单片机,STM32F103C6

在这里插入图片描述
微控制器架构:
下图应该是单总线结构,意思就是CPU,存储器,外部设备使用一根总线(地址总线,控制总线,数据总线):
在这里插入图片描述
对于这个部分知识可以看看我写的这篇(最好把计算机组成原理学习一下)计算机组成原理学习-哈工大《计算机组成原理》第三章

关于什么是数字和模拟:

🔴计算机的世界由二进制数0、1构成,我们所能看到的所有与计算机相关的事物都可用二进制数来进行描述。然而我们的人类世界是一个“模拟”的世界,计算机所使用的数字信号虽然非常方便,但它在我们现实生活中无处可寻。
🔴例如亮度、温度、距离等这些属性在自然界当中都以模拟的形式存在,对于计算机来讲,最重要的事情莫过于如何使用数字信号来表示自然界当中的模拟数值。

关于什么是ADC/DAC
ADC(模数转换器,Analog to Digital Converter)来进行模拟信号和数字信号之间的转换。
DAC(数模转换器,Digital to Analog Converter)来进行数字信号和模拟信号之间的转换。

传感器介绍:
关于什么是传感器技术?

传感技术就是传感器技术,可以感知周围环境或者特殊物质,比如气体感知、光线感知、温湿度感知、人体感知等等,把模拟信号转化成数字信号,给中央处理器处理。最终结果形成气体浓度参数、光线强度参数、范围内是否有人探测、温度湿度数据等等。

传感器及其分类:
在这里插入图片描述

(三).软件开发:Huawei LiteOS基础架构介绍

关于什么是Huawei LiteOS?

Huawei LiteOS是华为面向IoT领域,构建的轻量级物联网操作系统,遵循BSD-3开源许可协议,可广泛应用于智能家居、个人穿戴、车联网、城市公共服务、制造业等领域。

在这里插入图片描述

1.Huawei LiteOS Kernel
Huawei LiteOS Kernel是操作系统内核,其中基础内核是最精简的Huawei LiteOS 操作系统,它包括 任务管理内存管理时间管理通信机制中断管理队列管理事件管理定时器等操作系统基础组件,可以单独运行,同时为了更好地支持低功耗场景,支持Tickless机制。

在这里插入图片描述
关于什么是内核?
百度百科内核:

内核是操作系统最基本的部分。它是为众多应用程序提供对计算机硬件的安全访问的一部分软件,这种访问是有限的,并且内核决定一个程序在什么时候对某部分硬件操作多长时间。内核的分类可分为单内核和双内核以及微内核。严格地说,内核并不是计算机系统中必要的组成部分。

在这里插入图片描述

关于什么是Tickless 机制?

Tickless 机制是Linux 内核中引入的新定时机制,这一机制能够降低系统开销,并为高精度定时提供了实现基础。本文将对这一机制的原理进行分析,归纳出基本模型,最后提出一种全新的具有一定普遍适用性的tickless实现方法。测试结果表明,这一新方法能够降低嵌入式系统能耗并提高操作系统定时精度。

内容来源:linux 定时机制 Tickless

Huawei LiteOS 内核特点(记住下面的第二条特点!)

  • 低功耗,高实时性,高稳定性。
  • 超小内核,基础内核体积可以裁剪至不到10KB。
  • 支持动态加载、分散加载。
  • 支持功能静态裁剪

内核模块-任务(下面红色部分一定要记住!):

  • 任务是竞争系统资源的 最小运行单元。任务可以使用或等待CPU、使用内存空间等系统资源,并独立于其它任务运行。
  • Huawei LiteOS的任务模块提供任务的创建、删除、延迟、挂起、恢复等功能,以及锁定和解锁任务调度。
  • 任务的调度机制是 基于优先级抢占式的调度机制,同时支持同优先级的任务基于 时间片轮转调度方式。
  • Huawei LiteOS的任务一共有32个优先级(0-31),最高优先级为0,最低优先级为31;高优先级的任务可打断低优先级任务,低优先级任务必须在高优先级任务阻塞或结束后才能得到调度。

任务编程实例:
接口的具体作用可以通过英文名进行理解如LOS_TaskCreate就可以翻译为LOS的任务创建。
在这里插入图片描述
内核模块 - 内存管理

内存管理模块管理系统的内存资源,主要负责内存的初始化、分配及释放,并且还提供内存统计、内存越界检测功能。 Huawei LiteOS的内存管理提供 静态内存和 动态内存两类算法,静态分配为membox,动态内存分配有:bestfit,bestfit_little和tlsf。
注意:在计算机中RAM断电后数据丢失,ROM断电后数据不丢失。

内核模块 - 内存管理(动态内存)
在这里插入图片描述
内核模块 - 内存管理(静态内存)
在这里插入图片描述
编程实例:
在这里插入图片描述
内核模块 - 中断
关于什么是中断?
在这里插入图片描述

中断是怎么执行的?
中断产生时, 处理机将按如下的顺序执行:

  • 保存当前处理机状态信息
  • 载入异常或中断处理函数到PC寄存器
  • 把控制权转交给处理函数并开始执行
  • 当处理函数执行完成时, 恢复处理器状态信息
  • 从异常或中断中返回到前一个程序执行点

任务间通信
Huawei LiteOS的多任务同步、 互斥及通信主要包括:
队列事件信号量互斥锁

关于什么是队列?

队列又称消息队列,是一种常用于任务间通信的数据结构,实现了接收来自任务或中断
的不固定长度的消息,并根据不同的接口选择传递消息是否存放在自己空间。

用户在处理业务时,消息队列提供了异步处理机制,允许将一个消息放入队列,但并不立即处理它,同时队列还能起到缓冲消息作用。适合用来在任务间传递数据使用。 Huawei LiteOS的消息队列支持队列的创建、删除、发送和接收功能
关于什么是事件?

事件是一种实现任务间通信的机制,可用于实现任务间的同步,但事件通信只能是事件
类型的通信,无数据传输。
  • 事件不与任务相关联,事件相互独立,一个32位的变量,用于标识该任务发生的事件类
    型,其中每一位表示一种事件类型(0表示该事件类型未发生、1表示该事件类型已经发 生),一共31种事件类型(第25位保留)。

一个任务可以等待多个事件的发生:

  • 可以是任意一个事件发生时唤醒任务进行事件处理。
  • 也可以是几个事件都发生后才唤醒任务进行事件处理。
  • 多次向任务发送同一事件类型,等效于只发送一次。

关于什么是信号量?

信号量 (Semaphore) 是一种实现任务间通信的机制,实现任务之间同步或临界资源的互
斥访问。常用于协助一组相互竞争的任务来访问临界资源。

信号量允许多个任务在同一时刻访问同一资源,但会限制同一时刻访问此资源的最大任
务数目。访问同一资源的任务数达到该资源的最大数量时,会阻塞其他试图获取该资源
的任务,直到有任务释放该信号量。

关于什么是互斥锁?

互斥锁又称互斥型信号量,是一种特殊的二值性信号量,用于实现对共享资源的独占式
处理。

任意时刻互斥锁的状态只有两种,开锁或闭锁

  • 当有任务持有时,互斥锁处于闭锁状态,这个任务获得该互斥锁的所有权。
  • 当该任务释放它时,该互斥锁被开锁,任务失去该互斥锁的所有权。当一个任务持有互斥锁时, 其他任务将不能再对该互斥锁进行开锁或持有。

内核模块 - 时间管理

时间管理以系统时钟为基础。 时间管理提供给应用程序所有和时间有关的服务。

关于什么是系统时钟?
系统时钟是由定时/计数器产生的输出脉冲触发中断而产生的,一般定义为整数或长整数。输出脉冲的周期叫做一个“时钟滴答”。系统时钟也称为时标或者Tick。一个Tick 的时长可以静态配置,用户是以秒、毫秒为单位计时,而芯片 CPU 的计时是以 Tick 为单位的,当用户需要对系统操作时,例如任务挂起、延时等,输入秒为单位的数值,此时需要时间管理模块对二者进行转换。

内核模块 - 定时器
在这里插入图片描述
内核模块 - 软件定时器单次与周期模式
在这里插入图片描述

2.Huawei LiteOS 框架

Huawei LiteOS SDK介绍

LiteOS SDK是Huawei LiteOS软件开发工具包 (Software Development Kit),其包括端
云互通组件,FOTA升级,JS引擎、传感器框架等内容。

在这里插入图片描述
端云互通组件

  • LiteOS SDK端云互通组件作为独立的组件,不依赖特定的芯片架构和网络硬件类型,可

轻松地集成到各种通信模组上,如NB-IoT模组、eMTC模组、Wi-Fi模组、GSM模组、
以太网硬件等。

  • 端云互通组件提供端云协同能力,集成了LwM2M, CoAP, mbed TLS, LwIP 等全套 IoT

互联互通协议栈

端云互通组件软件架构
在这里插入图片描述
互联框架
在这里插入图片描述

传感框架

  • 传感框架提供多传感器统一管理。

在这里插入图片描述
安全框架
在这里插入图片描述
JS运行引擎 - MapleJS

  • 使能IoT高级动态语言,让开发者聚焦应用开发

在这里插入图片描述
在这里插入图片描述

3.Huawei LiteOS API
  • 开放的API屏蔽底层差异,让应用开发者只需关注上层应用开发
  • 友好的兼容性使得已熟悉在 Linux 系统上开发应用的开发者,能够非常平滑的切换到Huawei LiteOS 系统上开发,同时由于Huawei LiteOS 系统的精简内核特性,使得开发者更容易理解内核
  • 例如基于端云互通组件提供的API,开发者通过简单几个步骤就能快速地实现与华为云物 联网平台安全可靠连接。

三.通信模组AT指令介绍

(一).通信模组AT指令介绍

1.AT命令
AT命令是用来 控制TE(Terminal Equipment,终端设备) 和MT(Mobile Terminal,移
动终端) 之间交互的规则

在这里插入图片描述
AT命令分类
AT命令中的4种命令:

  • 设置命令 =XX 用来设置AT命令中的属性
  • 测试命令 =? 用来显示AT命令设置的合法参数值有哪些
  • 查询命令 用来查询当前AT命令设置的属性值
  • 执行命令 执行AT命令(不需要参数,例如查询版本号等)

在这里插入图片描述
NB-IoT AT指令集

MCU通过AT命令对通信模组进行控制。终端厂商除了实现相应业务功能的开发, 同时需要开发相关程序调用AT命令对通信模组进行控制。

在这里插入图片描述

Wi-Fi AT指令集

Wi-Fi作为非3GPP标准的短距无线通信技术,其AT指令相较NB-IoT有所不同。其指令更多是与网关进行交互,通过网关作为统一出口访问网络。故其不涉及SIM卡、无线及核心网等运营商相关数据。

在这里插入图片描述

华为认证模组AT指令

经过兼容性认证的模组,在AT命令以及格式规范上,基本和华为通用要求一致,部分模组厂家受限于自己的AT通道,实现稍有不同,可以参考模组厂家的特殊说明。

在这里插入图片描述

(二).通信模组端侧开发流程

NB-IoT终端对接流程
在这里插入图片描述
Wi-Fi终端对接流程
在这里插入图片描述

相关实践学习
钉钉群中如何接收IoT温控器数据告警通知
本实验主要介绍如何将温控器设备以MQTT协议接入IoT物联网平台,通过云产品流转到函数计算FC,调用钉钉群机器人API,实时推送温湿度消息到钉钉群。
阿里云AIoT物联网开发实战
本课程将由物联网专家带你熟悉阿里云AIoT物联网领域全套云产品,7天轻松搭建基于Arduino的端到端物联网场景应用。 开始学习前,请先开通下方两个云产品,让学习更流畅: IoT物联网平台:https://iot.console.aliyun.com/ LinkWAN物联网络管理平台:https://linkwan.console.aliyun.com/service-open
相关文章
|
24天前
|
人工智能 安全 vr&ar
移动应用与系统:开发趋势与操作系统的未来
在数字时代的浪潮中,移动设备已成为我们日常生活不可或缺的一部分。本文将深入探讨移动应用开发的最新趋势,以及移动操作系统如何适应这些变化。我们将从用户体验设计的重要性出发,分析跨平台开发框架的崛起,并探讨人工智能和机器学习如何影响移动应用的开发。同时,我们也将关注移动操作系统的安全性和隐私保护措施,以及它们如何为即将到来的技术革新做好准备。通过具体案例和技术分析,本文旨在为读者提供一个关于移动应用与系统未来发展的全面视角。
|
24天前
|
搜索推荐 vr&ar Android开发
探索移动应用的未来趋势:从开发到操作系统的演进
随着技术的迅猛发展,移动应用领域不断迎来新的挑战和机遇。本文将探讨移动应用开发的最新技术、移动操作系统的创新进展,以及这些变化如何影响用户体验。文章还将预测未来可能的趋势,为开发者和用户揭示一个不断变化的移动生态系统。
18 0
|
2月前
|
传感器 网络协议 物联网
嵌入式开发中的常用实时操作系统(RTOS)介绍
选择合适的RTOS是嵌入式开发中的关键步骤,不同的RTOS具有各自的优势和适用场景。开发者需要根据项目需求综合考虑硬件平台、实时性要求、开发资源和支持等因素,选择最合适的RTOS系统。例如,如果需要开源和灵活的解决方案,可以选择Zephyr或RT-Thread;如果需要高性能和商业支持,可以选择VxWorks或ThreadX。希望本文能帮助您更好地了解各类RTOS,并为您的嵌入式开发项目提供参考。
184 1
|
7天前
|
编解码 安全 Linux
基于arm64架构国产操作系统|Linux下的RTMP|RTSP低延时直播播放器开发探究
这段内容讲述了国产操作系统背景下,大牛直播SDK针对国产操作系统与Linux平台发布的RTMP/RTSP直播播放SDK。此SDK支持arm64架构,基于X协议输出视频,采用PulseAudio和Alsa Lib处理音频,具备实时静音、快照、缓冲时间设定等功能,并支持H.265编码格式。此外,提供了示例代码展示如何实现多实例播放器的创建与管理,包括窗口布局调整、事件监听、视频分辨率变化和实时快照回调等关键功能。这一技术实现有助于提高直播服务的稳定性和响应速度,适应国产操作系统在各行业中的应用需求。
|
19天前
|
开发框架 Android开发 iOS开发
探索移动应用的无限可能:从开发到操作系统的全链路解析
在数字时代,移动应用成为人们日常生活和工作中不可或缺的一部分。本文深入探讨了移动应用的开发流程、技术选型以及与移动操作系统之间的紧密联系。通过分析当前市场上流行的移动操作系统特点,我们揭示了不同平台为应用开发带来的独特挑战和机遇。文章还讨论了移动应用的未来趋势,包括跨平台开发框架的兴起和人工智能技术的整合,旨在为读者提供一个全面而深刻的视角,理解移动应用背后的复杂世界。
|
1天前
|
机器学习/深度学习 传感器 搜索推荐
移动应用与系统的未来:探索开发趋势与操作系统的融合
【8月更文挑战第18天】 在数字化时代的浪潮中,移动应用和操作系统作为科技发展的重要组成部分,正不断塑造着我们的生活方式。本文将深入探讨移动应用开发的新趋势,以及移动操作系统如何适应这些变化,进而影响整个移动生态系统的未来。通过分析当前的市场需求、技术进步以及用户行为的变化,我们将揭示未来移动应用与系统可能的发展方向和潜在的创新点。
4 0
|
1月前
|
弹性计算 运维 自然语言处理
阿里云OS Copilot测评:重塑Linux运维与开发体验的智能革命
阿里云OS Copilot巧妙地将大语言模型的自然语言处理能力与操作系统团队的深厚经验相结合,支持自然语言问答、辅助命令执行等功能,为Linux用户带来了前所未有的智能运维与开发体验。
|
19天前
|
机器学习/深度学习 人工智能 安全
探索移动应用的未来:开发趋势与操作系统的融合
随着技术的不断进步,移动应用开发正面临前所未有的机遇和挑战。本文深入分析了当前移动应用开发的新趋势,包括跨平台工具的普及、人工智能的集成、以及隐私保护的重视。同时,探讨了移动操作系统如何适应这些变化,特别是在提高性能、增强安全性和促进生态兼容性方面的努力。通过案例研究,本文揭示了开发者如何在这些动态变化的领域中保持竞争力,并预测了未来可能出现的技术革新。
26 0
|
19天前
|
Kubernetes Cloud Native 搜索推荐
探索云原生技术:Kubernetes在现代应用部署中的角色打造个性化移动体验:从开发到操作系统定制
【7月更文挑战第31天】本文深入探讨了云原生技术的核心组件之一——Kubernetes,并分析了其在现代云计算环境中的关键作用。通过实际代码示例和案例分析,文章揭示了Kubernetes如何优化资源管理、提高部署灵活性以及增强服务的可靠性。读者将获得对Kubernetes操作实践的直观理解,并认识到采用云原生架构对企业数字化转型的推动力。
35 0
|
24天前
|
人工智能 安全 Android开发
探索移动应用的未来:开发趋势与操作系统的进化
本文深入探讨了移动应用领域的最新动态,包括开发工具的创新、跨平台开发的兴起以及人工智能在移动应用中的运用。同时,文章还分析了移动操作系统的现状,预测了未来可能的发展方向,并讨论了这些变化如何影响移动应用开发和用户体验。

相关产品

  • 物联网平台