关于操作系统:RDC到场礼ARTBadge-V20开发记录极客感十足

32次阅读

共计 4075 个字符,预计需要花费 11 分钟才能阅读完成。

开源地址:https://github.com/ART-Badge

前言

关注 RT-Thread 的同学必定晓得,RT-Thread 为了向泛滥开发者展现 RT-Thread 的最新开发和生态建设成绩,每年都会举办一场开发者大会(简称:RDC — RT-Thread Developer Conference),在 2020 年度的开发者大会上,咱们 RT-Thread 给到现场的每个开发者们都发放了一个电子胸牌,胸牌的名称起名为 ART-Bagde。另外,特此感激在电子胸牌制作过程中 REALTEK、创凌对咱们的反对!

ART-Badge 是什么?

首先附上两张渲染图↓


ART-Badge 侧面图片

ART-Badge 背面图片

再来看视频↓

功能设计篇

首先让咱们看一下,往年的电子胸牌比拟去年款有哪些降级,减少哪些性能?

先看一下 2020 款 ART-Badge 的次要性能:

  • 微信小程序应用蓝牙推送开发者信息(姓名、公司职称)
  • 软件 RTC 同步工夫
  • 首界面展现工夫 + 手机推送的信息
  • 两个 app demo:蓝牙传输助手 + 应用阐明

往年,咱们在去年的胸牌的根底上进行了大幅度的降级与优化,废话不多说,上面间接贴一张功能设计和拟用技术路线的导图↓


思维导图


开发流程图

概括一下,ART-Badge V2.0 次要有以下新特点:

  • 自主设计的电路硬件,PSRAM 扩充为 8M,电池换用 300mAh 锂电池,可重复充电。
  • 应用体积更玲珑的 SC7A20 替换原有的 mpu6050。
  • 增加了 ADC 采样电路,能够采集电池电量信息。
  • 整体界面面目一新,默认采纳暗彩色主题背景。
  • 应用最新公布的 湃心 OS V4.1 开发,开发工具全新降级为基于 VSCode 插件模式的 Persim Studio。
  • 减少游戏、音乐播放器、电子相册…等等丰盛小程序 app。
  • 小程序全新降级:蓝牙推送用户、城市天气信息。
  • 反对应用最新湃心 OS 小程序进行二次开发。

结构设计篇

因为去年的电子胸牌并没有外壳,胸牌反面的电子元器件都是袒露在空气中的,拿到手上会有显著的突出感,同时暴漏在空气中容易对电容触摸芯片产生烦扰,影响用户应用成果,再加上往年的锂电池电路进行了调整:将纽扣电池更新为了锂电池,不应用胶带粘在背地无奈固定。

综上,往年的电子胸牌决定应用亚克力作为 ART-Badge V2.0 的外壳设计。

抉择亚克力作为外壳构造有几个起因:

  • 其一是该计划的“视觉极客感”最强,因为间接应用通明盖板将 PCB 电路展示进去,颜值方面化繁为简,合乎审美哲学
  • 其次是如果应用封闭式设计的话按键误触,锂电池的插拔就变成须要考量的因素了,而夹层式的凋谢设计则在这方面齐全无需放心
  • 最初一个起因是,高性价比


亚克力外壳成品

电路设计篇

RTL8762D 作为主控芯片,MCU 主频为 90MHZ,运行 RT-Thread 操作系统,并整体应用睿赛德科技的湃心穿戴 OS,外扩了 8M 的 PSRAM,以及 16M 的片外 flash。

ART-Badge 次要应用到串口(用于调试和控制台输入),GPIO(用于驱动按键、蜂鸣器和 ADC 采集),I2C 接口(用于和板载的 SC7A20 三轴加速度传感器通信)。

底板的 PCB 采纳 2 层 Layout。板载的 IC 次要有:

  • 半反半透明屏幕,分辨率 240 X 240,色彩格局 RGB565,在敞开背光的状况下仍旧能有杰出的可视度。
  • APS6404L-3SQR,PSRAM(动静随机存取存储器),用于动静加载图形资源,8M 的容量非常富裕。
  • ch340e,USB 转串口芯片,也很罕用,通过 USB 线把 ART-Badge 连贯电脑之后,就能够间接用串口控制台应用 shell 了,前面的二次开发也是应用到了串口工具 UDB 下载。
  • BS814A-1,电容触摸 IC,用于 ART-Badge 侧面的按键交互。
  • SC7A20,士兰微出的一款高精度 12bit 数字三轴加速度传感器芯片,内置功能丰富,功耗低,体积小,测量准确。

(补充一点:为了兼顾好看,侧面是看不到走线的,(所以这是单面板?不)全副藏在屏幕反面了)

PCB 投板回来之后就是焊接技能施展阶段了,次要用到的工具有:热风枪、烙铁、镊子、锡浆、吸锡带、助焊剂等。与直插元件不同,贴片的器件因为焊盘太小(大部分的是 0402 阻容),器件散布太密集,手工焊接采纳的办法次要是风枪吹焊。


pcb 焊接

进行焊接的第一步是制作钢网,也就是器件焊盘的掩模,这个在设计好 PCB 之后把相干的加工文件发给厂家就能够进行激光切割制作了。

上一步贴片实现之后就须要用风枪进行吹焊回流了。吹焊温度大略管制在 250-300 度,风枪的吹嘴去掉以增大风口便于平均加热。

软件实现篇

硬件搞定之后就开始移植软件啦,ART-Badge 运行的是基于 RT-Thread 的湃心穿戴 OS。

这里科普一下 湃心穿戴 OS,它是一个超轻量级、已量产的产品级穿戴操作系统平台。中间层的模块包含 GUI 引擎、通信组件、NFC、存储类工具等。中上层是由 JavaScript 搭建的应用程序框架,最上层则是轻量级系列泛滥的小程序。


湃心 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 吧!

👉立刻报名开发者大会:https://www.bagevent.com/even…

说两句,以下内容来自咱们胸牌团队的工程师:
😊往年给大家带来了外壳,尽管简略,但也是用心设计的。
😎新增了紫色版本的阻焊层,沉金工艺,搭配起来我称它为湖人紫……
😁软件搭载了全新一代湃心 OS,是 RTThread+PersimUI 的究极产物,穿戴畛域佼佼者,开机的 demo 会开源,GitHub 见
🙄引出了 SWD 和串口,反对二次开发,即是极客味儿十足的集体胸牌,也能做开发板,想怎么玩都行
😊侧面无任何走线,这可不是单面板,是把侧面的走线全副暗藏在屏幕背地了,这点破费了不少心理,最终最进去艺术性不错,作为摆件也挺难看的,这是硬件设计的特色之一。
☹️原本想把熊大的签名作为 Solder 层刻在胸牌上,能够最终计划没有驳回,比拟遗憾
😆️软硬件的全副开发人员昵称都用丝印刻在屏幕的前面了,被屏幕盖住(没事儿别扣开屏幕哈……强力胶粘住屏幕会坏),算是一个小彩蛋,这是给参加这个小我的项目开发的小伙伴一个必定和纪念,这个做法灵感来自于晚期乔布斯时代的 Macintosh 电脑机箱外面会有工程师的签名。想让这些名字能随同在来加入开发者大会的各位身上。(去年的那款也有)

正文完
 0