
开源协议
:CC BY-NC-SA 3.0
(未经作者授权,禁止转载)描述
【RK3399】 创意收集终端服务器
![]() | ![]() |
B站演示视屏
https://www.bilibili.com/video/BV1QesEefEDk/
感谢点赞支持哦~~~
开源协议
本项目采用GNU通用公共许可证(GPL)授权。GPL是一个自由软件许可证,确保所有用户都享有以下基本自由:
1.自由运行:可以用于任何目的。
2.自由研究:可以研究其工作原理,并根据需要进行修改。
3.自由分享:可以分发原始的副本,以帮助他人。
4.自由改进:可以发布你修改后的版本,分享你的改进。
注意事项
a.如果你分发本项目的修改版,你必须在发布时提供源文件。
b.任何基于本项目的派生作品也必须以GPL许可证发布,以确保继续保持开源的自由性。
c.此协议不对软件程序生效,只针对硬件部分。
感谢你对开源社区的支持和贡献!
项目属性
本项目为首次公开,为本人原创项目。项目未曾在别的比赛中获奖。
项目进度
时间 | 进度 |
---|---|
2024-07 | 器件选型 |
2024-07 | 硬件设计 |
2024-07 | 小程序、后端服务器开发 |
2024-07 | 第一版PCB打样验证 |
2024-07 | 总结Bug |
2024-08 | 第二版上SMT |
2024-08 | 3D外壳设计/打样 |
2024-08 | RK驱动适配、调试 |
2024-08 | 拍摄素材 |
2024-08 | 编写开源文档内容、整理资料 |
2024-08 | END |
1. 需求分析
本项目是星火计划悬赏项目,项目原需求为:
- 可自行购买选用合适核心板,需自行设计底板进行开发,选定好核心板方案后需与我们这边商讨,可选用第三方API,选用线上的AI生图服务,搭载一块不小于7寸的触摸屏幕充当创意收集终端服务器;
- 采用Type-C接口充电,内置锂电池供电使用;
- 开发一个创意收集小程序,支持参会人员扫码进入小程序,填写上传自己的创意;
- 在小程序上填写的创意会同步发送到创意收集终端;
- 创意收集终端会根据上传的创意标题与内容自动检索生成创意配图并传回给小程序,供上传者挑选配图;
- 小程序首页显示创意标题和配图,需支持显示点赞投票数,热度高的创意会优先排在前面;
- 创意详情页内,需要支持点赞投票和他人创建话题块提交自己对创意的改进建议;
- 话题块内支持自由讨论交流与点赞,热度高的话题会排在前面;
- 创意作者采纳改进建议并完善后,话题块变成绿色,结束此建议话题讨论;
- 具有版本管理功能,可以追溯创意完善的过程和结点;
2. 实现功能
2.1 硬件部分
- 搭配7寸带触摸的MIPI显示屏,屏幕与泰山派座子定义通用。
- 开关机设计,可长按开机,可关机。
- 具有TF卡接口
- 两个USB2.0 HOST接口
- 一个Type-C 24P全功能接口,可作为OTG固件下载、高速Type-C3.2数据传输理论最大传输速率为5Gbps(未测)、PD供电充电与放电
- 一个千兆以太网接口
- 具有WIFI+蓝牙: Wi-Fi(2.4GHz和5GHz IEEE 802.11 a/b/g/n/ac)+蓝牙(BT5.0)
- 简易12V散热风扇接口,具有PWM控制转速,无反馈
- 串口Debug调试接口座子
- 调试按键: 复位键、恢复键
- 3PIN的电池座,单节锂电池3.7V,具有NTC热敏保护
- 2个系统Work指示灯
- 1个充电与异常状态指示灯
- 核心板采用Firefly Core-3399J
2.2 简化电源域分布图
2.2 软件部分
按照上述需求描述实现软件功能的开发
2.2.1 微信小程序
- 使用uni-app + Vue3开发
- 小程序的演示请看底部的视频
2.2.2 后端服务器
- 语言:JAVA
- 核心框架 JDK17+SpringBoot3+MyBatis
- 数据库:内嵌式轻量级数据库H2
- 缓存: Redis
- 部署方法看底部附件pdf文档
2.2.3 线上生图AI
服务商:https://www.fromston.com/?from=6pen 收费,有免费配额
调用方式: HTTP 异步
2.2.4 运行的操作系统
Ubuntu22.04 + GNOME 最小桌面环境
参考Ubuntu22.04构建教程:URL
编译入门教程: URL
2.2.5 软件架构图
2.2.6 数据库关系图
3. 功能说明
使用入门说明:
在保证你的链接都已经完全的情况下。
长按开机按键即可自动开机,等待开机即可。
可能遇到的问题
- 无限重启无法进入桌面:原因电池放电能力太弱可以并联电池,或者C口给12V供电扩流
- 首次正常进入系统后执行重启复现上面的问题,DCDC芯片过热,加散热 散热可选:URL
开机瞬时功耗非常高,差不多可以达到11W左右,散热很重要。
开机后电流正常回归稳定在5W。
核心板是 Firefly的Core3399J核心板,官方PDF文档点击查看
4. 物料
项目已经打了嘉立创的SMT,项目中的物料已设置匹配好了,下面是特殊物料
物料规格 | 说明 | 采购链接 |
---|---|---|
M3 * 5 * 5+1.5 * 3.5 焊接铜柱 | AS0B821-S78B-7H用 | URL |
M3 * 2.5 * 5 焊接铜柱 | AS0B821-S55B-7H用 | URL |
AS0B821-S78B-7H Foxconn/富士康 MXM核心主板卡槽314PIN H=7.8mm | 自选其一 | |
AS0B821-S55B-7H Foxconn/富士康 MXM核心主板卡槽314PIN H=5.5mm | 自选其一 | |
3V充电电池 5.5mAh MS621FE-FL11E 纽扣锂电池 | RTC电池 自选 | URL |
1%精度 热敏电阻NTC-MF52-103/3435 10K 3435±1 | URL | |
7寸TFT带触摸竖屏分辨率800 * 1280 MIPI有触摸 | URL |
>其他说明
- AP6256我淘宝买的,买到拆机还是是坏的,立创商城的物料一遍成功
- TYPE-C 24P手工焊接技巧,去掉尾部屏蔽罩,后面的焊接就和日常焊接16P的没差别了
- 千兆RJ45座子要购买HR911131A,项目物料中的型号是错误的 焊接不可用。
- 项目物料中有NC 开头的不用焊接,除非你自己的特殊情况,有备注的看备注即可
- 手工焊接的可以省去全部的ESD器件减少工作量
- Core3399J核心板可入群联系群主超低价购买,数量有限。{B站粉丝三连用户的福利}
5. 外设适配移植、资源描述
大家对这个项目的系统和软件估计也不是很感兴趣,这里只说系统移植的部分
有关注或者参加过泰山派小手机活动的应该都有经验调试屏幕了吧,这里不做说明了。这个屏幕接口和泰山派可以一对一直接用,注意修改背光电流本屏幕的背光是66mA。触摸定义和泰山派不一样,要修改。
适配PD控制器+充电IC+电量请移步我另一个开源项目:URL
Firefly官方有SDK和Ubutnu、Android镜像可直接移步下载,烧录官方镜像后千兆网和WIFI都是直接可用的,除了上面的充电部分和屏幕需要自行适配修改设备树。
我这里不提供下载成品镜像了,其实大差不差,您自己动手也能完成。
在资料中我会提供dts设备树全整个文件夹,和编译好的内核boot镜像,大家只需要第一步烧录官方的ubuntu系统启动成功后再单独烧录下boot就好了。
关于更多移植驱动过程中的技术问题,可以入群交流我看到后有空会回复解答 【QQ技术交流:676436122】
移植充电部分的看我另一篇开源里面有教程,还有就是触摸需要改源码资料中的:700450GT911(1).cfg 是触摸的配置cfg代码复制过去就行了。 触摸翻转的看开发笔记写的都有。
目前已知问题: 当充电部分的IC温度过高的时候会导致无法对外放电,所以只能充电,插入U盘等设备不会对外放电,温度降下来是可以的。
大家复刻的时候可以选择去掉充电部分,改为直接12V供电 电池方案感觉有点鸡肋,主要是3399功耗比较高,费电发热大。 我下图中的散热明显不够,这里选型好了风扇可以直接下单购买配套使用(选择12V PH2.0):URL链接
3D打印的文件,内壁设计的有点薄了,效果不是很好,部分地方需要胶水黏贴,这里需要打印的可以自行在二次修改。
在附件中我会上传我的设计过程中的第三方资料,与我的开发笔记总结。
硬件开发资料下载链接:
通过百度网盘分享的文件:开发资料.7z
链接:https://pan.baidu.com/s/1EhW-T_0IuV9SIIH_8fxjqw?pwd=vefk
提取码:vefk
软件部分:
主要分为两个项目:SpringBoot服务器端,微信小程序端
仓库中我会去掉AI生图服务的秘钥,微信小程序的开发的ak,sk 请替换为自己的
服务端: https://github.com/ccy-studio/syswa-idea-collector-server
小程序端: https://github.com/ccy-studio/syswa-idea-collector-wx
资料目录树:
│ 创意终端底板开发笔记 .pdf
│
├─3D&2DModel
│ └─AIO-3399J-V1.0
│ ├─AIO-3399J_3D_Model
│ │ AIO-3399J-hdmi_3D_Model.stp
│ │ AIO-3399J-USB_3D_Model.stp
│ │ AIO_3399J_bottom.jpg
│ │ AIO_3399J_side1.jpg
│ │ AIO_3399J_top.jpg
│ │
│ └─AIO-3399J_CAD
│ AIO-3399J_CAD_v1.0.dwg
│ AIO-3399J_CAD_v1.0.pdf
│
├─Development
│ AIO-3399J_V1.3接口定义0716.docx
│ AP6256 WIFI BT MODULE_REL_200207.pdf
│ AP6256_规格书_AMPAK(正基科技)WIFI模块规格书.PDF
│ C90735_以太网收发器_RTL8211E-VB-CG_规格书_WJ1177088.PDF
│ Core-3399J_核心板_产品规格书.pdf
│ Firefly-RK3399_V10_POS.pdf
│ Firefly-RK3399_V10_SCH_(2017-2-8).pdf
│ Firefly-RK3399_产品规格书.pdf
│ NanoPC-T4-1802-Schematic.pdf
│ OrangePi_4_LTS_Schematic_v1.2.pdf
│ RK3399充电管理.pdf
│ RK3588S_TABLET_REF_V11_20220218.pdf
│ TPS63070RNMR_CN.pdf
│ TPS63070RNMR_zh-cn.pdf
│
├─RK3399 开发资料
│ │ Component_datasheet.rar
│ │ RK3399_Design_Guide_V1.0_20170420.pdf
│ │ RK3399_EVB_User_Guide-20160920.pdf
│ │ RK3399_Linux_Debain_V1.1_Development_Guide170620.pdf
│ │ RK3399_Linux_Debian_v1.1开发说明170620.pdf
│ │ Rockchip_RK3399_Datasheet_V1.6-20170301.pdf
│ │
│ ├─PCB参考设计
│ │ │ RK_Excavator_ExtBoard_MipiDisplay.rar
│ │ │ RK_Excavator_MainBoard.rar
│ │ │ RK_Sapphire_RK3399.rar
│ │ │
│ │ └─RK_Excavator_MainBoard
│ │ ├─Gerber_BOM_SMT_PIK
│ │ │ │ BOM_RK_EXCAVATOR_MAIN_V12_20161111HXS.xlsx
│ │ │ │ RK_EXCAVATOR_MAIN_V12_2016-11-11制版说明.doc
│ │ │ │ RK_EXCAVATOR_MAIN_V12_20161114.pdf
│ │ │ │
│ │ │ └─gerber
│ │ │ L1.art
│ │ │ L2.art
│ │ │ L3.art
│ │ │ L4.art
│ │ │ L5.art
│ │ │ L6.art
│ │ │ nc_drill.art
│ │ │ past_bot.art
│ │ │ past_top.art
│ │ │ RK_EXCAVATOR_MAIN_V12_20161114_FZBFINAL-1-6.drl
│ │ │ RK_EXCAVATOR_MAIN_V12_20161114_FZBFINAL.rou
│ │ │ silk_bot.art
│ │ │ silk_top.art
│ │ │ solde_bot.art
│ │ │ solde_top.art
│ │ │
│ │ └─Sch_PCB
│ │ RK_EXCAVATOR_MAIN_V12_20161109HXS.DSN
│ │ RK_EXCAVATOR_MAIN_V12_20161114_FZBFINAL.brd
│ │
│ ├─周边相关物料Datasheet
│ │ └─Datasheet
│ │ 8Gb 178-D3 H9CCNNN8GTMLAR_Rev1.0.pdf
│ │ AK8963C.pdf
│ │ ALC5651 Codec Layout Guide ver 0.1_20121001.pdf
│ │ ALC5651 DataSheet_V0.9.pdf
│ │ AN_SYR837_8_瑞芯微.pdf
│ │ AP6354 datasheet_V1.1_06062014.pdf
│ │ CM32181A3OP.pdf
│ │ GL850G.pdf
│ │ GSL1680.pdf
│ │ HS0038B.pdf
│ │ KLMxGxGEND-B031 (4GB moviNAND_16Gb MLC Based)_Rev1 1 16nm.pdf
│ │ Lpddr3_178ball_Samsung_K4E6E304EE-EGCE.pdf
│ │ LSM330.pdf
│ │ MP2143.pdf
│ │ NB680_r1.02.pdf
│ │ NS4160.pdf
│ │ PT5108.pdf
│ │ RK3399 Design Specification 20151018.pdf
│ │ RK3399 SoC Feature.doc
│ │ RK808 datasheet V0.8.pdf
│ │ RK818_datasheet_CH_V0.1.pdf
│ │ RT9013.pdf
│ │ RTL8211E.pdf
│ │ SGM2019.pdf
│ │ SP3232.pdf
│ │ SY6280 Rev0.3_Datasheet.pdf
│ │ SY8088AAC-Silergy.pdf
│ │ THGBMBG6D1KBAIL.pdf
│ │ TT2102.pdf
│ │
│ └─设计文档
│ Layout Design Guide_V0.4.pdf
│ RK3399 layout requirements of interfaces.xlsx
│ RK3399_conductor_length_v1.0.xls
│ RK3399_IO_LIST_V12_for EVB&REF&Excavator-20170111.pdf
│ RK3399_SOC-package_PIN_DELAY_0V2.pdf
│ RK3399硬件设计指南_V1.1_20170112.pdf
│ Rock-chips_PDN_Design_Guide_V0.2 .pdf
│
├─SCH
│ aio_3399j_v1.3_20181030.pdf
│ AIO_3399J_v11_原理图_20171122.pdf
│ AIO_3399J_V11_贴片图_20171122_A.pdf
│ aio_3399j_v12_20180126.pdf
│ AIO_3399J_V12_20180126贴片图.pdf
│ aio_3399j_v13_20181030贴片图.pdf
│
├─Specification
│ ├─CN
│ │ AIO-3399J_一体板产品规格书V1.1.pdf
│ │
│ └─EN
│ AIO-3399J_Product Specifications V1.1.pdf
│
├─Test-Report
│ ├─V1.3
│ │ AIO-3399J-V1.3 静电测试报告.docx
│ │ AIO-3399J-V1.3老化测试报告.docx
│ │
│ └─V2.1
│ AIO-3399J -V2.1(MB-3399J-V1.0)高低温测试报告 .docx
│ AIO-3399J-V2.1 (MB-3399J-V1.0) ESD测试报告.docx
│ AIO-3399J-V2.1 出货检验报告 .xls
│ AIO-3399J-V2.1-8.2PF(20221025 OK).pdf
│ MB-3399J-V1.0生产参考电压.xlsx
│ 瑞芯微_AP6398SVRF?Test?Report(10pF+18pF).pdf
│
└─屏幕资料
│ 700450GT911(1).cfg
│ GT9xx_Driver_for_Android_V2.4_2014112801.rar
│ mipi.py
│ QT700450TP-工程图.dwg
│ QT70056W20模组规格书8001280.pdf
│ TEST_ILI9881C_BOE_7WXGA_T01_20201104.txt
│ 电容触控芯片GT9110 (中文)(1).pdf
│
└─GT9xx_Driver_for_Android_V2.4_2014112801
├─documents
│ GT9XX驱动移植说明书_for_Android_2014011401.pdf
│ ReleaseNote.txt
│
├─dtsi
│ goodix-gt9xx.dtsi
│ gt9xx_dts.txt
│
└─reference driver
goodix_tool.c
gt9xx.c
gt9xx.h
gt9xx_firmware.h
gt9xx_update.c
6. 图鉴欣赏
![]() | ![]() | ![]() |
![]() | ![]() | ![]() |
![]() | ![]() | ![]() |
7. 总结回顾
其实一开始问到必须要用核心板,且核心板就是这种很干净单纯(EMMC+DDR+PMIC+SOC)形式的核心板,还是觉得有点难度的,因为所有的外设都需要自己去实现。经历一段时间的资料收集,看一些其他的设计参考后,感觉其实还一般吧。比第一次做泰山派NAS的时候顺的多,PCB只打了一次板去验证然后总结Bug经验,第二次直接上SMT了直接过。
Firefly的SDK有很多参考的可以去做,上手也还蛮简单的。 构建rootfs倒是耗费我一些时间,不过我秉承着能用就行,后期我也不会真的专注这个玩意。 还是会去研究移植armbian这个才是我觉得有必要花时间去研究的东西。
设计图

BOM


评论