Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
RDC开发者大会
RDC到场礼,ART-Badge V2.0开发记录!极客感十足!
发布于 2021-12-02 09:35:25 浏览:2600
订阅该版
![image.png](https://oss-club.rt-thread.org/uploads/20211201/a67c3989fee8712f5edc15ac968eb4c0.png.webp) 开源地址:https://github.com/ART-Badge #前言 关注 RT-Thread 的同学肯定知道,RT-Thread为了向众多开发者展示RT-Thread的最新开发和生态建设成果,每年都会举办一场开发者大会(简称:RDC — RT-Thread Developer Conference),在 2020 年度的开发者大会上,我们 RT-Thread 给到现场的每个开发者们都发放了一个电子胸牌,胸牌的名称起名为 ART-Bagde。另外,特此感谢在电子胸牌制作过程中REALTEK、创凌对我们的支持! #ART-Badge是什么? 首先附上两张渲染图↓ ![1.jpg](https://oss-club.rt-thread.org/uploads/20211202/d3c398b63a1469a492bd3a3d099fb632.jpg) ART-Badge正面图片 ![2.jpg](https://oss-club.rt-thread.org/uploads/20211202/a2da7db1fdb161728ca4652f6927d7ae.jpg) ART-Badge反面图片 再来看视频↓ [![image.png](https://oss-club.rt-thread.org/uploads/20211201/073d97fb958d4be7f0f55648b6270a35.png.webp)](https://www.bilibili.com/video/BV1q44y1h7j8?spm_id_from=333.999.0.0) #功能设计篇 首先让我们看一下,今年的电子胸牌比较去年款有哪些升级,增加哪些功能? 先看一下 2020 款 ART-Badge 的主要功能: - 微信小程序使用蓝牙推送开发者信息(姓名、公司职称) - 软件 RTC 同步时间 - 首界面展示时间+手机推送的信息 - 两个app demo:蓝牙传输助手+使用说明 今年,我们在去年的胸牌的基础上进行了大幅度的升级与优化,废话不多说,下面直接贴一张功能设计和拟用技术路线的导图↓ ![微信图片_20211201184156.jpg](https://oss-club.rt-thread.org/uploads/20211201/65b4d859e7ba0c6d2473d17313700127.jpg.webp) 思维导图 ![微信图片_20211201184215.jpg](https://oss-club.rt-thread.org/uploads/20211201/3bb119cc7a762bdd2df7660636e20d2f.jpg.webp) 开发流程图 **概括一下,ART-Badge V2.0主要有以下新特点:** - 自主设计的电路硬件,PSRAM 扩大为8M,电池换用300mAh锂电池,可反复充电。 - 使用体积更小巧的 SC7A20 替换原有的 mpu6050。 - 添加了ADC采样电路,可以采集电池电量信息。 - 整体界面焕然一新,默认采用暗黑色主题背景。 - 使用最新发布的 湃心OS V4.1开发,开发工具全新升级为基于VSCode插件模式的Persim Studio。 - 增加游戏、音乐播放器、电子相册…等等丰富小程序 app。 - 小程序全新升级:蓝牙推送用户 、城市天气信息。 - 支持使用最新湃心OS小程序进行二次开发。 #结构设计篇 ![3.jpg](https://oss-club.rt-thread.org/uploads/20211202/4c3bf17d33133d71e2156b380b1eb8de.jpg.webp) 由于去年的电子胸牌并没有外壳,胸牌背面的电子元器件都是裸露在空气中的,拿到手上会有明显的突出感,同时暴漏在空气中容易对电容触摸芯片产生干扰,影响用户使用效果,再加上今年的锂电池电路进行了调整:将纽扣电池更新为了锂电池,不使用胶带粘在背后无法固定。 综上,今年的电子胸牌决定使用亚克力作为 ART-Badge V2.0 的外壳设计。 选择亚克力作为外壳结构有几个原因: - 其一是该方案的“视觉极客感”最强,由于直接使用透明盖板将PCB电路展现出来,颜值方面化繁为简,符合审美哲学 - 其次是如果使用封闭式设计的话按键误触,锂电池的插拔就变成需要考量的因素了,而夹层式的开放设计则在这方面完全无需担心 - 最后一个原因是,高性价比 ![微信图片_20211201184332.jpg](https://oss-club.rt-thread.org/uploads/20211201/541ecb96697e8b9f17449ce535daa2e5.jpg.webp) 亚克力外壳成品 #电路设计篇 ![微信图片_20211202093613.jpg](https://oss-club.rt-thread.org/uploads/20211202/3988d2c03938c29debe4de5c119e45f4.jpg.webp) 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 阻容),器件分布太密集,手工焊接采用的方法主要是风枪吹焊。 ![微信图片_20211201184457.jpg](https://oss-club.rt-thread.org/uploads/20211201/756264ff20559ca84259a7e303cc1786.jpg) pcb焊接 进行焊接的第一步是制作钢网,也就是器件焊盘的掩模,这个在设计好PCB之后把相关的加工文件发给厂家就可以进行激光切割制作了。 ![微信图片_20211201184517.jpg](https://oss-club.rt-thread.org/uploads/20211201/9e7116ed382d0200e8f6251c3460ccba.jpg) 上一步贴片完成之后就需要用风枪进行吹焊回流了。吹焊温度大概控制在250-300度,风枪的吹嘴去掉以增大风口便于均匀加热。 ![微信图片_20211201184522.jpg](https://oss-club.rt-thread.org/uploads/20211201/f7bdcbbd645bd7fbdf1e98ab6f06589c.jpg) #软件实现篇 硬件搞定之后就开始移植软件啦,ART-Badge 运行的是基于 RT-Thread 的湃心穿戴 OS。 这里科普一下 湃心穿戴OS,它是一个超轻量级、已量产的产品级穿戴操作系统平台。中间层的模块包括 GUI 引擎、通讯组件、NFC、存储类工具等。中上层是由 JavaScript 搭建的应用程序框架,最上层则是轻量级系列众多的小程序。 ![4.jpg](https://oss-club.rt-thread.org/uploads/20211202/15b27a4d180da433a3111eb9367c4f34.jpg.webp) 湃心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 的方式对界面进行管理。所以熟悉或者有过安卓开发的小伙伴会有莫名的亲切感。 ![微信图片_20211201184704.jpg](https://oss-club.rt-thread.org/uploads/20211201/cd3e14ab981ad09ae10787ba911554d7.jpg.webp) 湃新os设计器 BLE 使用的是 RealTek 自带的蓝牙协议栈,通过 BSAL 抽象层进行管理,BSAL (Bluetooth Stack Abstract Layer)软件包是由 RT-Thread 针对不同 蓝牙协议栈接口实现的,目前支持的协议栈有:nimble,realtek 等协议栈。 Audio (音频)设备是嵌入式系统中非常重要的一个组成部分,负责音频数据的采样和输出。Audio 设备通常由数据总线接口、控制总线接口、音频编解码器(Codec)、扬声器和麦克风等组成。 ![微信图片_20211201184726.jpg](https://oss-club.rt-thread.org/uploads/20211201/d5a224559cf8d9362b6f9ce057c95adb.jpg) 嵌入式音频系统组成 RT-Thread Audio 设备驱动框架是 Audio 框架的底层部分,主要负责原生音频数据的采集和输出、音频流的控制、音频设备的管理、音量调节以及不同硬件和 Codec 的抽象等。在本系统中就将蜂鸣器设备注册到了 Audio 框架中,从而实现对蜂鸣器的开、关、音乐的解码、播放功能。 **EMQ 消息队列具有以下功能:** - 支持一发多收。一个生产者生产消息可被多个消费者使用 - 支持多个消息绑定。一个消费者可以绑定多个不同的通道,接收不同生产者发送的消息。 - 发布消息系统开销小,效率高。 - 不同模块间低耦合。 - 超轻量级的整数类型消息 - 全链路可达 ![微信图片_20211201184757.jpg](https://oss-club.rt-thread.org/uploads/20211201/31fed58c0ed7f6021f489c003fd5cfb0.jpg.webp) EMQ 运作原理 **DCM 数据缓存管理框架主要功能特性:** - 支持 Value Change 模型 - 支持存取任意类型数据 - 支持多实例功能,解耦不同模块间数据处理; - 全链路打通,JS 与 C 能均能访问同一内存池 - 支持订阅发布模型,可用于消息推送和通知 - 支持数据持久化保存功能; ![微信图片_20211201184827.jpg](https://oss-club.rt-thread.org/uploads/20211201/146d462b1c33d7c5c499c264c52006b6.jpg) dcm_framework 在本项目中,像一些参数需要数据持久化存储、js 端对 adc 采集电量数据的监听、获取屏幕亮度,小程序推送的信息等等都是用到了 dcm 组件。 #结束语 看到这里你是不是对今年的电子胸牌产生了更多的期待呢?那么告诉大家一个好消息,**到场参会人人都可以领取电子胸牌哦~** 不论风云变幻,RT-Thread通过不断迭代和生态的完善,与开发者共成长。Beyond.RDC 2021,我们在深圳等你! 快来报名参会领取属于你的电子胸牌 V2.0 吧! 👉立即报名开发者大会:https://www.bagevent.com/event/7759339?discountCode=rtt 说两句,以下内容来自我们胸牌团队的工程师: 😊今年给大家带来了外壳,虽然简单,但也是用心设计的。 😎新增了紫色版本的阻焊层,沉金工艺,搭配起来我称它为湖人紫…… 😁软件搭载了全新一代湃心OS,是RTThread+PersimUI的究极产物,穿戴领域佼佼者,开机的demo会开源,GitHub见 🙄引出了SWD和串口,支持二次开发,即是极客味儿十足的个人胸牌,也能做开发板,想怎么玩都行 😊正面无任何走线,这可不是单面板,是把正面的走线全部隐藏在屏幕背后了,这点花费了不少心思,最终最出来艺术性不错,作为摆件也挺好看的,这是硬件设计的特色之一。 ☹️本来想把熊大的签名作为 Solder 层刻在胸牌上,可以最终方案没有采纳,比较遗憾 😆️软硬件的全部开发人员昵称都用丝印刻在屏幕的后面了,被屏幕盖住(没事儿别扣开屏幕哈……强力胶粘住屏幕会坏),算是一个小彩蛋,这是给参与这个小项目开发的小伙伴一个肯定和留念,这个做法灵感来自于早期乔布斯时代的 Macintosh 电脑机箱里面会有工程师的签名。想让这些名字能伴随在来参加开发者大会的各位身上。(去年的那款也有)
13
条评论
默认排序
按发布时间排序
登录
注册新账号
关于作者
RT-Thread小师弟
微信:rtthread2020
文章
293
回答
171
被采纳
33
关注TA
发私信
相关文章
1
2020 开发者大会演示的 AI 套件什么时候开源?
2
6月2号的开发者抽奖活动,怎么还没收到奖品啊
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
ESP8266
I2C_IIC
UART
WIZnet_W5500
ota在线升级
PWM
cubemx
flash
freemodbus
BSP
packages_软件包
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
中断
编译报错
Debug
rt_mq_消息队列_msg_queue
SFUD
keil_MDK
msh
ulog
MicroPython
C++_cpp
本月问答贡献
出出啊
1517
个答案
342
次被采纳
小小李sunny
1444
个答案
290
次被采纳
张世争
812
个答案
177
次被采纳
crystal266
547
个答案
161
次被采纳
whj467467222
1222
个答案
148
次被采纳
本月文章贡献
出出啊
1
篇文章
2
次点赞
小小李sunny
1
篇文章
1
次点赞
张世争
1
篇文章
2
次点赞
crystal266
2
篇文章
2
次点赞
whj467467222
2
篇文章
2
次点赞
回到
顶部
发布
问题
投诉
建议
回到
底部