xuos-web/docs/doc/intro.md

12 KiB
Raw Blame History

XiUOS 简介

背景

XiUOS (X Industry Ubiquitous Operating System) 未名工业物联操作系统是一款面向工业物联场景的泛在操作系统,来自未名泛在操作系统研究计划。所谓泛在操作系统(UOS: Ubiquitous Operating Systems)是支持互联网时代人机物融合泛在计算应用模式的新型操作系统是传统操作系统概念的泛化与延伸。在泛在操作系统技术体系中不同的泛在计算设备和泛在应用场景需要符合各自特性的不同UOSXiUOS即是面向工业物联场景的一种UOS主要由一个极简的微型实时操作系统(RTOS)内核和其上的智能工业物联框架构成,支持工业物联网(IIoT: Industrial Internet of Things)应用。

XiUOS诞生于浙江省北京大学信息技术高等研究院其研发获得了杭州市萧山区政府的大力支持。萧山是浙江乃至中国的制造业重镇工业基础雄厚正在谋求传统制造业数字化转型升级、实现新旧动能转换寻求工业互联网和物联网等信息技术的助力。XiUOS未名工业物联操作系统正是在这样的背景下应运而生希望通过研发的工业物联网软硬件系统为助力促进先进计算技术和工业场景的深度融合助推工业企业的数字化转型是产业应用需求和学术研究计划结合的产物。

定位

XiUOS是一种工业物联网操作系统目标是通过工业物联网的部署和应用促进工业领域人、机、物的深度互联使能智能化工业生产新体系。要实现该目标工业物联网操作系统需要解决“感、联、知、控“四方面的问题:

  • 感: 复杂多样的工业生产实体智能地识别、感知和采集生产相关数据;
  • 联: 工业数据在互联互通的网络上进行传输和汇聚;
  • 知: 对这些网络化的工业大数据形成快速处理和实效分析;
  • 控: 将数据分析所得到的信息反馈到工业生产中,对生产活动进行改善。

其中, 主要在物联网节点级设备、传感器等设备上实现, 的核心主要在边缘计算设备和数据中心设备上实现。面向物联网节点级设备的 未名工业物联网操作系统,主要定位于的层次,将感知获得的数据传递给边缘设备和数据中心设备,并具备相当的节点级智能,能对提供一定程度的支持,如下图所示。

IIoT-OS

特色

目前市面上已有非常多成功的物联网操作系统,如国外的FreeRTOSZephyrRIOTµC/OS,国内的RT-ThreadLiteOSAliOS Things等,这些系统多是从实时嵌入式系统(RTOS: Real time OS)发展而来,通常具有非常小巧的实时内核,多运行在资源受限的微控制单元(MCU: Microcontroller Unit)/单片机上对低功耗有较高要求常见的处理器为ARM Cortex-M系列。

XiUOS和现有大多数的物联网OS关注点并不相同具有自己的特色:

  • 现有OS多关注单个物联网节点设备; XiUOS更关注由多节点设备组成的网络化集群强调对大规模部署和管理运维的支持
  • 现有OS多关注OS的基础功能如基本网络连接传感器接入等; XiUOS更关注基础功能之上的高级业务功能如将智能化下沉到节点端的智能化感知功能智能无线自助网络功能等
  • 现有OS力图做多领域通用OS; XiUOS更关注工业物联领域对复杂工业环境的"感联知控"支持更为专精;
  • 现有OS的生态是相对封闭和独立的; XiUOS更关注生态的开放性强调对标准规范的支持依托现有的各开源生态体系而非再建另一个封闭的生态体系。

此外XiUOS是软硬件协同的物联网解决方案提供自研的有特色的硬件系统支持ARM和RISC-V两种体系结构的处理器在同一物理终端上同时支持多种通信方式和多种总线接口可直接部署于工业生产环境使得工业物联网用户不必关心底层各类硬件的实施细节从而更加专注于应用逻辑本身的效能。

简而言之现有物联网OS主要关注的是做优秀的单节点OSXiUOS是在现有单节点OS的基础上构建面向多节点的网络化智能物联软件栈为工业物联网领域应用开发、系统部署、管理运维提供友好方案因此现有物联网OS和XiUOS功能是主要是互补的而非竞争的如Linux之于Android。

设计

部署

XiUOS是面向工业领域多节点设备的网络化OS其部署主要包括节点端的多节点集 群和边缘端/云端的计算设施,如下图所示。

XiUOS Deployment

在节点端,支持多种工厂环境传感设备,既包括基础的环境传感器感知温湿度、烟雾气体、噪音等,也包括智能传感器可对人体、物体、声音进行识别,这些传感器支持多种网络通信互联协议,可以按需自组网络,通过网关设备向外交换数据,实现智能物联框架的“感、联”功能。网关设备对同一个集群中的节点设备进行管理,负责和边缘/云端系统交换数据,并可具备有限的“知、控”功能。

节点端感知的数据经网关传输给边缘/云端系统之后,边缘/云端的工业互联网平台可对汇聚而来的数据进行分析,将有价值的数据在控制中心的大屏、管理人员的移动设备上进行展示,并根据工业应用的业务规则,通知和调度“设备、排程、人员”,对生产过程进行优化,完成“知、控”。

结构

XiUOS的体系结构如下图所示主要包括硬件层、系统层、框架层和应用层。

XiUOS Architecture

硬件层

硬件层主要是XiUOS支持的处理器、感知器件和通信器件以及工业领域的可编程逻辑控制器PLC。

  • 处理器: 支持ARM Cortex-M系列和RISC-V架构的处理器以及FPGA芯片。

  • 通信器: 支持5G/4G/WIFI/BT/NBIoT/LoRa等的网络通信器件。

  • 感知器: 支持工业领域的各种环境感知传感器,如烟雾、气体、噪声、电流电压等,还支持对声音和物体进行感知识别的摄像头、麦克风等音视频设备。

  • 控制器: 主要PLC厂商如西门子、施耐德、欧姆龙、三菱、台达等的PLC系统XiUOS可从PLC中获取工业生产相关数据。

自主研发的硬件系统对处理器、通信器、感知器提供综合支持,具有如下特点:

  • XiUOS的硬件系统支持RISC-V和ARM两种体系结构强调RISC-V和ARM在工业应用中的共生共赢又注重突出各自特点
  • XiUOS的硬件系统在同一物理实体终端上同时支持 4G、NB-IoT、WiFi、ZigBee、LoRA、BlueTooth、Ethernet在硬件上天然地使得现有应用能够方便、快捷地“联”结各种网络
  • XiUOS的硬件系统在同一物理实体终端上同时支持 SPI、IIC、UART、CAN、RS485、RS232、USB、SDIO等总线接口在硬件上天然地满足工业物联网对外设多样性的需求
  • XiUOS的硬件系统能够直接部署于工业生产环境中而非验证性的开发板评估板。

XiUOS硬件系统中的处理器、通信器、传感器、控制器采用解耦的模块化设计利于XiUOS操作系统方便地通过软件定义的方式屏蔽各种硬件外设的差异使得工业物联网用户不必关心底层硬件的实施细节从而更加专注于应用逻辑本身的效能。

系统层

系统层主要完成单节点的系统管理功能,包括基本的内存管理、调度管理、设备管理等。在未名泛在操作系统研究计划不同应用场景的UOS系统层能力可以是不同的主要体现在内核可以根据应用场景的需求进行定制化甚至可以有不同的内核这种定制化由未名泛在操作系统的核心XUOS Core提供。未名工业物联操作系统XiUOS遵循该设计和理念其系统层--面向工业物联场景的泛在操作系统核心XUOS Core for IIoT--的内核Kernel理论上可以有多种选择如自研的XiUOS微内核对POSIX规范支持较完善的实时操作系统NuttX国内非常具有影响力的RT-Thread等。

目前XiUOS的应用框架主要在NuttX和RT-Thread这两款相对而言POSIX较友好、发展较成熟的开源RTOS上开展实验和设计这可以最大化地复用开源社区的优秀成果特别是各种硬件驱动。

自研XiUOS微内核的研发也在进行中一些新的算法和新的设计将主要在自研内核中进行探索和验证。

系统层为上层框架支持尽可能符合POSIX规范的API。

框架层

框架层是XiUOS未名工业物联操作系统的关键部分。

框架层是面向工业物联场景进行设计的,也可用于有相似需求的智慧城市、智能农场/仓储等场景,核心是“感、智、联、控”框架。

  • : 传感框架的主要任务是简化传感器的驱动、控制和数据管理。

    传感器多种多样包括简单的温度、湿度、气压、噪音、污染物、电流电压等传感器还有复杂的摄像头、麦克风等这些传感器首先要能方便地接入到系统中XiUOS提供方便的IIC、UART 等接口驱动,方便接入新传感器。

    每种传感器在底层使用上都有区别为了简化编程XiUOS设计了统一的传感器编程模型提供统一的面向数据的编程抽象屏蔽底层设备的使用差异开发者只需要使用 open/write/ioctl/等接口就可以对各种传感器进行操作和开发。

    传感器种类多样读取的数据格式也是多种多样XiUOS对传感器数据进行了抽象对主流的传感器数据可完成自动的解析及结构化。对于开发者添加的新传感器提供方便的解析库以及数据结构化规范方便开发者进行数据解析和管理。

  • : 互联框架的主要任务是提供网络互联能力,尤其是复杂环境下的无线自组网能力。

    基本的网络互联支持包括提供各种网络协议栈和消息通信库。协议栈包括 TCP/IP、NB-IoT、LoRa等的软件栈支持方便开发者开发通信功能。此外还提供丰富便捷的消息通信组件包括 MQTT、CoAP 等常用IoT 通信库。

    XiUOS支持节点自组织网络不需要手工配置可极大简化工厂、野外等复杂环境下的部署和管理。

  • : 智能框架是XiUOS的一个特色将智能识别和分析能力下沉到物联网节点设备上(通常为带加速器的ARM Cortex-M/A 或 RISC-V处理器)使之在节点端即可实时对声音、物体、人体、缺陷模式等进行识别大大拓展物联网节点的应用范围内容包括AI算法加速库、微型AI引擎等。

    AI算法加速库提供工业物联网方面的常用 AI 模型比如仪表盘识别模型等。微型AI引擎提供运行系统如TensorFlow Lite for IoT方便开发者开发常用AI算法。此外还根据处理器和加速器的具体情况提供加速器驱动来高效利用节点端算力。

  • : 控制框架的主要任务是提供控制能力包括告警和设备监测与控制。XiUOS提供对 PLC 的数据采集库支持从PLC采集数据可对设备进行实时监控和远程控制。

XiUOS框架层还提供一些重要的共性基础设施包括C/C++基础库、MicroPython脚本引擎、轻量级实时数据库、安全系统、在线更新OTA等。

路线图

XiUOS 将整体开源发布,采用木兰协议。XiUSO的具体开放路线采取逐步开放的方式按照研发的成熟度分期分批发布系统的各个部分。