湃心OS 湃心穿戴 OS 有几大特色: - GUI采用可用于MCU上的第四代柿饼 GUI,具备类 Android 界面交互,支持多点触摸,效果更加炫酷,同时支持矢量图形库,具备增强的图形处理能力。
- 小程序的开发模式。采用类微信小程序开发模式,上手极快,应用轻量级,支持应用商店,极速安装体验,支持多国语音。
- 提供 MVVM 应用开发框架。应用的界面开发和业务逻辑是互相解耦的,贴合前端工程师习惯。
- 跨平台能力。软件一次开发,即可在任一硬件 CPU、MCU 及 MPU 平台上运行;
- 湃心穿戴 OS 还具备一些创新性的组件,如消息管理引擎(EMQ)、数据管理组件(DCM)、KVDB 及 TSDB 数据库、DIY 开发套件。
软件主要分为以下几个模块: - GUI模块(Graphical User Interface,图形用户界面),用于人与设备进行交互
- BLE模块(Bluetooh Low Energy,语音合成),通过广播方式与小程序连接接收信息
- AUDIO(音频播放解码模块),用于无源蜂鸣器对音乐的解码、播放
- EMQ(Enhance Message Queue,发布订阅式的消息队列组件),能够打通 C 到 JS ,JS 到 JS ,C 到 C 的消息链路,能够很方便的将消息发到任意一个地方
- DCM(Data Cache Management,数据管理组件),主要用于 JS 与 C 之前数据的交互,统一管理和控制系统中的数据统,确保各模块间数据传输的性能
GUI 最上层的开发使用 JS 语法,这个就比较有意思了,使用过 Android Studio 的小伙伴们可能很熟悉,安卓UI的应用开发是可以进行拖拽式的,这里和柿饼UI的设计器十分相似,Persim Studio 和 Android Studio 一样也是通过 .xml 的方式对界面进行管理。所以熟悉或者有过安卓开发的小伙伴会有莫名的亲切感。
湃新os设计器 BLE 使用的是 RealTek 自带的蓝牙协议栈,通过 BSAL 抽象层进行管理,BSAL (Bluetooth Stack Abstract Layer)软件包是由 RT-Thread 针对不同 蓝牙协议栈接口实现的,目前支持的协议栈有:nimble,realtek 等协议栈。 Audio (音频)设备是嵌入式系统中非常重要的一个组成部分,负责音频数据的采样和输出。Audio 设备通常由数据总线接口、控制总线接口、音频编解码器(Codec)、扬声器和麦克风等组成。
嵌入式音频系统组成 RT-Thread Audio 设备驱动框架是 Audio 框架的底层部分,主要负责原生音频数据的采集和输出、音频流的控制、音频设备的管理、音量调节以及不同硬件和 Codec 的抽象等。在本系统中就将蜂鸣器设备注册到了 Audio 框架中,从而实现对蜂鸣器的开、关、音乐的解码、播放功能。 EMQ 消息队列具有以下功能: - 支持一发多收。一个生产者生产消息可被多个消费者使用
- 支持多个消息绑定。一个消费者可以绑定多个不同的通道,接收不同生产者发送的消息。
- 发布消息系统开销小,效率高。
- 不同模块间低耦合。
- 超轻量级的整数类型消息
- 全链路可达
EMQ 运作原理 DCM 数据缓存管理框架主要功能特性: - 支持 Value Change 模型
- 支持存取任意类型数据
- 支持多实例功能,解耦不同模块间数据处理;
- 全链路打通,JS 与 C 能均能访问同一内存池
- 支持订阅发布模型,可用于消息推送和通知
- 支持数据持久化保存功能;
dcm_framework 在本项目中,像一些参数需要数据持久化存储、js 端对 adc 采集电量数据的监听、获取屏幕亮度,小程序推送的信息等等都是用到了 dcm 组件。 结束语看到这里你是不是对今年的电子胸牌产生了更多的期待呢?那么告诉大家一个好消息,到场参会人人都可以领取电子胸牌哦~ 不论风云变幻,RT-Thread通过不断迭代和生态的完善,与开发者共成长。Beyond.RDC 2021,我们在深圳等你! 快来报名参会领取属于你的电子胸牌 V2.0 吧! |