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
相关文章
|
1月前
|
安全 搜索推荐 Android开发
移动应用与系统:探索开发趋势与操作系统优化策略####
当今数字化时代,移动应用已成为日常生活不可或缺的一部分,而移动操作系统则是支撑这些应用运行的基石。本文旨在探讨当前移动应用开发的最新趋势,分析主流移动操作系统的特点及优化策略,为开发者提供有价值的参考。通过深入剖析技术创新、市场动态与用户需求变化,本文力求揭示移动应用与系统协同发展的内在逻辑,助力行业持续进步。 ####
44 9
|
16天前
|
安全 前端开发 Android开发
探索移动应用与系统:从开发到操作系统的深度解析
在数字化时代的浪潮中,移动应用和操作系统成为了我们日常生活的重要组成部分。本文将深入探讨移动应用的开发流程、关键技术和最佳实践,同时分析移动操作系统的核心功能、架构和安全性。通过实际案例和代码示例,我们将揭示如何构建高效、安全且用户友好的移动应用,并理解不同操作系统之间的差异及其对应用开发的影响。无论你是开发者还是对移动技术感兴趣的读者,这篇文章都将为你提供宝贵的见解和知识。
|
17天前
|
人工智能 搜索推荐 Android开发
移动应用与系统:探索开发趋势与操作系统演进####
本文深入剖析了移动应用开发的最新趋势与移动操作系统的演进历程,揭示了技术创新如何不断推动移动互联网生态的变革。通过对比分析不同操作系统的特性及其对应用开发的影响,本文旨在为开发者提供洞察未来技术方向的视角,同时探讨在多样化操作系统环境中实现高效开发的策略。 ####
18 0
|
27天前
|
存储 安全 物联网
C语言物联网开发之设备安全与代码可靠性隐患
物联网设备的C语言代码安全与可靠性至关重要。一是防范代码安全漏洞,包括缓冲区溢出和代码注入风险,通过使用安全函数和严格输入验证来预防。二是提高代码跨平台兼容性,利用`stdint.h`定义统一的数据类型,并通过硬件接口抽象与适配减少平台间的差异,确保程序稳定运行。
|
22天前
|
传感器 存储 物联网
在物联网(IoT)快速发展的今天,C语言作为物联网开发中的关键工具,以其高效、灵活、可移植的特点
在物联网(IoT)快速发展的今天,C语言作为物联网开发中的关键工具,以其高效、灵活、可移植的特点,广泛应用于嵌入式系统开发、通信协议实现及后端服务构建等领域,成为推动物联网技术进步的重要力量。
30 1
|
27天前
|
存储 网络协议 物联网
C 语言物联网开发之网络通信与数据传输难题
本文探讨了C语言在物联网开发中遇到的网络通信与数据传输挑战,分析了常见问题并提出了优化策略,旨在提高数据传输效率和系统稳定性。
|
1月前
|
人工智能 Android开发 数据安全/隐私保护
移动应用与系统:探索开发趋势与操作系统的协同进化####
当今时代,移动应用不再仅仅是简单的软件工具,它们已成为扩展智能手机及平板等设备功能的关键。本文旨在深入分析当前移动应用的开发趋势,探讨移动操作系统的最新进展及其对应用开发的影响,并阐述两者如何相互促进、协同进化,共同推动移动互联网技术向前发展。 ####
|
1月前
|
人工智能 物联网 Android开发
移动应用与系统:探索开发趋势与操作系统的协同进化####
本文深入探讨了移动应用开发的当前趋势,以及这些趋势如何与移动操作系统的发展相互影响、协同进化。通过分析最新的技术动态、市场数据及用户行为变化,本文旨在为开发者提供关于未来移动应用开发方向的洞察,并讨论操作系统层面的创新如何促进或制约应用的发展。 ####
|
16天前
|
5G 数据安全/隐私保护 Android开发
移动应用与系统:探索开发趋势与操作系统革新####
本文深入剖析当前移动应用开发的最新趋势,涵盖跨平台开发框架的兴起、人工智能技术的融合、5G技术对移动应用的影响,以及即时应用的发展现状。随后,文章将探讨主流移动操作系统的最新特性及其对开发者社区的影响,包括Android的持续进化、iOS的创新举措及华为鸿蒙OS的崛起。最后,还将讨论移动应用开发中面临的挑战与未来的发展机遇,为读者提供全面而深入的行业洞察。 ####
|
1月前
|
安全 物联网 Android开发
移动应用与系统:探索开发趋势与操作系统的演进####
【10月更文挑战第29天】 本文深入探讨了移动应用开发的最新趋势与挑战,并分析了主流移动操作系统(如Android、iOS)的发展动态。通过对比不同系统的技术特点和市场表现,揭示了移动应用生态系统的复杂性及其对开发者的影响。此外,还讨论了跨平台开发工具的兴起如何改变应用开发流程,以及这些变化对未来移动计算领域的潜在影响。 ####
41 4

热门文章

最新文章

相关产品

  • 物联网平台
  • 下一篇
    DataWorks