# 基于RT-Thread的辉光管语音番茄钟 **Repository Path**: yuanzihao/speech_nixie_tube_pomodoro ## Basic Information - **Project Name**: 基于RT-Thread的辉光管语音番茄钟 - **Description**: 基于W600(WiFi模块)+RT-Thread(RTOS)+SU-03T(离线语音模块)的双IN12辉光管番茄钟。 参加嘉立创星火计划的基于RT-Thread辉光管语音番茄钟代码仓库 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: https://oshwhub.com/yuanzihao/71439defe4df4fd281e0669e989eb97f - **GVP Project**: No ## Statistics - **Stars**: 14 - **Forks**: 2 - **Created**: 2022-11-17 - **Last Updated**: 2026-04-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: RT-Thread, W600, SU-03T, 辉光管 ## README **去[语雀](https://www.yuque.com/yzhh/embedded_diy/nixie_tube_clock)看文档更详细** # 前期规划 1. 能用国产就先用国产。 2. 两个带小数点的IN12辉光管,可插拔设计,坏了方便换。 3. 三路TYPE-C直插供电,可以在背后插也可以在侧面插。 4. 支持WIFI对时,使用国产联盛德微电子的芯片**W600**作为主控,RTOS选用国产RTOS-**RT-Thread-4.1.0**。 5. 支持掉电时间自走,暂定选国产深圳兴威帆电子的**SD3078**+可充电电池,±3.8PPM,常温每年误差2分钟,宽温每年误差10分钟。 6. 加一个离线语音模块(现成模块,预计成本20)和主控交流,声控显示时间。用机芯智能的**SU-03T**。要有控制语音模块断电的引脚,接到**CH432S**那里,负责语音模块的断电和串口切换。 7. 加入外部FLASH-**W25Q128**(不管用不用的完,我就要大的),用FlashDB记录有多少次番茄钟。 8. 无源蜂鸣器鸣叫提示。 9. CH423扩展芯片+高压三极管来驱动辉光管。 10. ~~QMI8658-IMU来实现旋转调整记时,检测震动,把手机放到番茄钟下面,开始计时后如果有拿起手机的动作,则计时清零,~~硬件上有,软件没做。 11. 来一个触摸按钮。 12. 要有自动下崽电路,可以利用星通智联的官方下载器通过串口直接下载,后发现与Xshell冲突,已经改为手动复位升级下载。 13. 能知道目前的环境温湿度,用国产奥松电子的**AHT20-F**,湿度精度:±2%RH(25℃),温度精度:±0.3℃。 14. 因为SU-03T的固件升级串口和通讯串口是一个,通讯线需要在语音模块升级中断开,而且还能独立供电,语音模块独立供电开关,考虑用两个USB转串口,一个给w600.一个给语音模块,语音模块要升级时,用另一个串口控制台给w600发命令让语音模块断电并切换串口线。 15. 需要预留底部防滑橡胶安装位置。 # 用途 - 当个摆件,辉光管的观感还是挺舒服的。 - 普通番茄钟,陪伴学习工作。 - 计时提醒,可以说`番茄钟`唤醒语音,然后说`一分钟后叫我`,`半小时后叫我`等。 - 显示时间模式,轮询显示时分秒。 - 解压的按键,触摸上分外壳,按下去番茄钟就自+1。 - 通过腾讯连连小程序-WOL远程唤醒电脑,也能用`开启电脑|打开电脑`来语音唤醒电脑。具体实现看这个[《基于RT-Thread+RA6M4的远程开机助手》](https://www.yuque.com/yzhh/embedded_diy/xy8tcg)更详细(原理是一样的)。 # 整体结构预览 ![image](https://gitee.com/yuanzihao/speech_nixie_tube_pomodoro/raw/master/5_image/image.png) ![整体结构预览.gif](https://gitee.com/yuanzihao/speech_nixie_tube_pomodoro/raw/master/5_image/整体结构预览.gif) # 系统框架 ## 硬件框架 ![](https://gitee.com/yuanzihao/speech_nixie_tube_pomodoro/raw/master/5_image/硬件框架.jpg) ## 软件框架 ![](https://gitee.com/yuanzihao/speech_nixie_tube_pomodoro/raw/master/5_image/软件框架.jpg) ## 语音框架 ![](https://gitee.com/yuanzihao/speech_nixie_tube_pomodoro/raw/master/5_image/语音框架.jpg) # 作品完整图片 ![image.jpg](https://gitee.com/yuanzihao/speech_nixie_tube_pomodoro/raw/master/5_image/image.jpg) # 嘉立创开源地址 [[DIY]基于RT-Thread的辉光管语音番茄钟](https://oshwhub.com/yuanzihao/71439defe4df4fd281e0669e989eb97f) # 代码地址 [yzh/基于RT-Thread的辉光管语音番茄钟](https://gitee.com/yuanzihao/speech_nixie_tube_pomodoro) # 视频演示 [点击查看【bilibili】](https://player.bilibili.com/player.html?bvid=BV1Pv4y1U7R5) # 如何使用 ## 番茄钟模式 - 轻触番茄钟上方触摸按钮即会开始计时,学习时间结束,休息时间结束都会有蜂鸣器鸣叫提醒。 - 番茄钟开始后,99秒内显示秒数,99秒后显示分钟数。 - 辉光管左边小数点闪烁表示在学习/工作模式,右边小数点闪烁表示在休息模式。 - 做事要专心,学习就学习,休息就放空自己。 ![番茄钟模式.gif](https://gitee.com/yuanzihao/speech_nixie_tube_pomodoro/raw/master/5_image/番茄钟模式.gif) ## 计数模式 - 轻触上方触摸按钮番茄钟显示的数字就会+1,从0开始,到99开始重复循环。 - 按下后抬起时时候蜂鸣器会鸣叫一声并且显示数字+1。 - 纯纯解压手贱用的。 ![计数模式.gif](https://gitee.com/yuanzihao/speech_nixie_tube_pomodoro/raw/master/5_image/计数模式.gif) ## 显示时间模式 - 小时-分钟-秒表轮询显示。 - 左边小数点闪烁表示当前显示的是小时。 - 两边小数点都闪烁表示当前显示的是分钟。 - 右边小数点闪烁表示当前显示的是秒钟。 ![显示时间模式.gif](https://gitee.com/yuanzihao/speech_nixie_tube_pomodoro/raw/master/5_image/显示时间模式.gif) ## 模式切换 - 对辉光管说`番茄钟`来唤醒语音模块。 - 唤醒后在十秒内说`番茄钟模式`,`计数模式`,`显示时间模式`等切换到对应的模式。 ## 连接WIFI - 只支持连接2.4GWIFI,试过airkiss配网失败率挺大的,毕竟不是做卖出去的产品,本次就偷懒直接手动通过finsh控制台连接吧,连接一次就行,路由器连接信息会掉电保存。 - 详情看下图,先连接番茄钟后面的Type-c口,打开一个串口终端,我这里用的是Xshell,115200波特率打开并输入`wifi scan`确保你要连接的WIFI能被番茄钟搜到,然后输入 `wifi join wifi名字 wifi密码`等待他能获取到ip就是连接成功了。 ![连接WIFI.gif](https://gitee.com/yuanzihao/speech_nixie_tube_pomodoro/raw/master/5_image/连接WIFI.gif) ## 语音相关 ### 计时提醒相关 支持10秒,30秒,十分钟,二十分钟,半小时,四十分钟,五十分钟,一小时的语音提醒,还可以再扩展。 ### 唤醒电脑相关 - 需要重新编译固件,在board.h中配置自己的电脑IP和MAC地址 - ![image.png](https://gitee.com/yuanzihao/speech_nixie_tube_pomodoro/raw/master/5_image/ip.png) - 在腾讯连连软件包处配置自己的设备三元组(只用语音唤醒电脑的话就不用) - ![image.png](https://gitee.com/yuanzihao/speech_nixie_tube_pomodoro/raw/master/5_image/三元组.png) ### 温湿度相关 - 唤醒语音模块后说`现在温度多少`。 - 唤醒语音模块后说`现在湿度多少`。 - 唤醒语音模块后说`现在温湿度多少`。 # 如何烧录升级 我在这里暂时上传一下代码压缩包,最好还是在[Gitee上](https://gitee.com/yuanzihao/speech_nixie_tube_pomodoro)克隆一下。 [基于RT-Thread的辉光管语音番茄钟.zip](https://www.yuque.com/attachments/yuque/0/2022/zip/1982600/1668616990527-e1c46671-6963-4a80-a0fd-a9aad1803820.zip) ## 给主控W600刷程序升级 用到的升级软件 [ThingsTurn_Serial_Tool.zip](https://www.yuque.com/attachments/yuque/0/2022/zip/1982600/1668617119621-b3bfd265-ec37-4eea-a328-02444d4e64b3.zip) 固件,要最新的就去gitee仓库找。 [rtthread_2M-20221117.zip](https://www.yuque.com/attachments/yuque/0/2022/zip/1982600/1668617557356-2dea3896-7a1b-463d-bba3-663d1998b0f8.zip) 内部有两个ch340,驱动要自己解决。还需要一个串口终端,Xshell或者mobaxterm等都可以,自己搜索下载就可以。 ![升级主控.gif](https://gitee.com/yuanzihao/speech_nixie_tube_pomodoro/raw/master/5_image/升级主控.gif) ## 给语音模块SU-03T刷程序升级 用到的升级软件 [uart_update_tool.zip](https://www.yuque.com/attachments/yuque/0/2022/zip/1982600/1668617132615-d3c05830-198e-491d-a205-6aec4f3e96fd.zip) 固件,要最新的就去gitee仓库找。 [jx_su_03t_release_update_20221117.zip](https://www.yuque.com/attachments/yuque/0/2022/zip/1982600/1668617677320-4abc8dbf-d0f1-4420-9c81-57c838c1ba3e.zip) 内部有两个ch340,驱动要自己解决。还需要一个串口终端,Xshell或者mobaxterm等都可以,自己搜索下载就可以。在下面这个例子中,COM6是番茄钟后面的那个TYPE-C-CH340E,连接到主控W600,COM9是番茄钟左边那个TYPE-C-CH340E,通过双路模拟切换开关连接到语音模块。 ![升级语音模块.gif](https://gitee.com/yuanzihao/speech_nixie_tube_pomodoro/raw/master/5_image/升级语音模块.gif) # 问题记录 ## 为什么我克隆下Gitee仓库后MDK编译不过去 - 大概率是因为`1_code\packages`目录下的软件包没有用[ENV工具](https://www.rt-thread.org/document/site/#/development-tools/env/env)重新下载,使用 `pkgs --upgrade` 命令即可解决该问题。 # 已知问题 1. 布局时没注意到开启WIFI后发热很大,导致现在AHT20测到的不是环境温度,而是PCB板温度。 # 小问题记录 ## 为什么辉光管运行过程中需要每隔一段时间轮询一遍所有管脚 辉光管内部的阴极在通电的时候会产生散发电子的溅射现象,而溅射现象的电子会将阴极的金属离子转移到周围的阴极上或者是玻璃管外壳的内壁上,这就会出现外壳内部发黑遮挡住显示,或者是造成周围的阴极部分表面无法正常产生辉光放电,这就是阴极中毒现象。需要加入防中毒程序。 # 参考资料连接 1. [辉光管升压](https://blog.csdn.net/u012388993/article/details/121723574) 2. [【N32G457】基于RT-Thread和N32G457的数字气压表](https://club.rt-thread.org/ask/article/8c3eb4956c83965c.html) 3. [【12月】基于RT-Thread的物联网辉光钟](https://club.rt-thread.org/ask/article/61206b584d24e5c8.html) 4. [RT-Thread文档中心](https://www.rt-thread.org/document/site/#/rt-thread-version/rt-thread-standard/README)