0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于麻雀一号核心板 RW052的时光空间立方

RTThread物联网操作系统 来源:RTThread物联网操作系统 作者:RTThread物联网操作 2020-10-10 16:05 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群



概述

基于麻雀一号核心板 RW052,即博通的 WIFI 蓝牙一体的芯片 BK7252,我制作了一款桌面小工具:时光空间立方。

它可以实现:

1、微信小程序可以通过蓝牙配置小立方的参数;

2、晃动立方可以触发亮屏、亮灯;

3、立方可以通过蓝牙配网,连接 WIFI;

4、屏幕上可以显示:日期时间、实时天气、名言警句,或者是模仿摇 骰子产生随机点数;

5、立方内部有呼吸灯和彩虹灯的效果。作为一款桌面小工具,它既可以提示必要的信息,如时间、天气,又可 以趣味互动,如摇骰子、随机显示名言警句,集信息提示与娱乐一体。

外观则是完美的正方体,每个面在未启动时就像一面镜子,启动后则可 以看到一个无限五彩斑斓的内部空间。放置于办公桌面,既是一款优雅的装饰品,又是一款具有实用价值的小巧工具。

整个方案涉及的技术栈有:硬件选型,PCB 设计,RT-Thread 程序, 3D 建模打印,服务器端程序,API 接口对接,微信小程序编写等等。通过这个作品,锻炼了我实现产品的能力,让我对产品设计的不同方面 都加深了理解。


RT-Thread使用情况概述

内核部分:使用了线程、信号量、互斥量、定时器

组件部分:使用了虚拟文件系统、FinSH、netdev 网卡

软件包:

fal/EasyFlash/littlefs/netutils/cJSON/mbedtls/rt_ota 等

设备驱动:

GPIO/SPI/RTC/WLAN/BLE 等


硬件框架

核心模块RW052是官方的一个基于 BK7252 芯片的WIFI 蓝牙一体的 模组,引出了非常多的引脚,使用起来非常方便,可以直接通过 USB 供电。驱动屏幕使用了模拟 SPI,LCD 是使用了麻雀一号上屏幕厂家的同系列不 同尺寸的屏幕。WS2812 则是使用了硬件 SPI,通过 MOSI 按照时序进行输出规定协 议的波形,从而驱动 WS2812。


软件框架说明

程序运行逻辑图

程序主要文件

软件方案自我感觉比较简单,中间使用了部分信号量和互斥量保证线程 同步,整体是按照不同功能模块进行了文件拆分,方便功能划分和解耦合


软件模块说明

我这个作品里软件模块划分的比较清晰,各个模块均独立为一个单独文 件,比较好理解。屏幕、蓝牙、网络、GPIO 基本上都是遵循原有的代码逻 辑进行编写,逻辑比较清晰。所以这里我重点讲一下之前驱动 WS2812 失 败的原因与解决方案。

之前没有正确驱动 WS2812 的原因,比较多样化,比如自以为是的断 定通过 GPIO+延时函数可以实现 WS2812 的驱动逻辑,后来经过示波器 证明时序完全不在一个量级上;后来使用了 I2C,发现时序非常不好控制, 也作罢;最后使用了 SPI,但是也是经历了由模拟 SPI 到硬件 SPI 的过程。软件 SPI 理论上跟模拟 GPIO 没区别,达不到效果,使用了硬件 SPI 后发 现时序有时候会乱掉。最终使用硬件 SPI+DMA 方式,才得到了最终效果。

至于为什么使用 SPI,是从 WS2812 驱动时序来反推的。

WS2812 的时序属于单总线式的时序,每一个 bit 都是由一个高电平+ 低电平实现,一个周期要在 1.25 微秒左右。当高电平在 400 纳秒,低电 平在 800 纳秒左右,则该 bit 为 0,反之为 1。

当 SPI 时钟设置在一个比较合适的频率时,一个字节周期刚刚好可以在 1.25 微秒左右,比如 6-8MHz。这样,只需要用一个字节表示 WS2812 一个 bit 即可。

当然,一切都是可以变通的,我最开始的程序是采用了一个字节表示一 个 bit 的方式,后来发现这种方式不是很稳定,则改成了一个字节表示 2bit。这样既节省了内存开支,也比之前的时序稳定性略好。经过实际测试,虽然 仍有瑕疵,但较之前版本效果更好一些,所以最后我选择了这个方案。

代码地址

GitHubhttps://github.com/illusionlee/lightcube

代码使用了 MIT 协议,相对较为开放。因为我的一些代码仍然会有一些 BUG,所以非常期待更多人可以参与进来,issue、pr,开源精神亦在于此 吧!共同完善,争取每个人都可以拥有属于自己的时光空间立方,工作闲暇 之余,拿起来晃一晃,能够体验到一点点乐趣。

责任编辑:xj

原文标题:【RT-Thread 开源作品秀】时光空间立方

文章出处:【微信公众号:RTThread物联网操作系统】欢迎添加关注!文章转载请注明出处。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 开源
    +关注

    关注

    3

    文章

    4031

    浏览量

    45545
  • 核心板
    +关注

    关注

    6

    文章

    1343

    浏览量

    31741
  • RT-Thread
    +关注

    关注

    32

    文章

    1537

    浏览量

    44248

原文标题:【RT-Thread 开源作品秀】时光空间立方

文章出处:【微信号:RTThread,微信公众号:RTThread物联网操作系统】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    高效项目的“核心”秘诀:怎么选对核心板

    核心板即系统模块(SystemofModule,SOM),是种将核心计算组件(如处理器、内存、存储和电源管理)集成在单个紧凑模块上的集成电路
    的头像 发表于 11-04 16:40 479次阅读
    高效项目的“<b class='flag-5'>核心</b>”秘诀:怎么选对<b class='flag-5'>核心板</b>?

    RK3576与RK3588核心板如何选型?1分钟速通!#RK3576核心板 #RK3588核心板

    核心板
    广州灵眸科技有限公司
    发布于 :2025年09月23日 17:31:12

    MT6769/MTK6769安卓核心板性能参数_MTK联发科核心板方案

    MT6769核心板款采用联发科MT6769芯片的高性能安卓核心板,以其性能均衡、接口丰富的特点,在智能设备领域展现了广泛的应用潜力。以下是对该核心板的详细介绍:MTK6769安卓
    的头像 发表于 09-22 19:56 1742次阅读
    MT6769/MTK6769安卓<b class='flag-5'>核心板</b>性能参数_MTK联发科<b class='flag-5'>核心板</b>方案

    星火一号添加wifi后不能进入main函数怎么解决?

    > 星火一号开发BSP,只使能RW007 WALN功能,编译正常,但是下载完不能进入MAIN函数,finsh功能正常
    发表于 09-15 08:15

    工业级核心板选购指南:2025嵌入式核心板产品推荐与应用方案解析

    平台的市场分析,结合实际应用案例,详细解读2025年十大工业级核心板品牌及其优势产品与应用方案,帮助企业和工程师做出更明智的选购决策。 、市场现状与发展趋势 根据IDC和Gartner等权威市场调研机构的报告,2025年全球嵌入式
    的头像 发表于 08-14 10:49 788次阅读

    核心板和底板:差异与协同

    在科技自主创新的浪潮中,底板与核心板是举足轻重的角色,且各自功能明确,相互协同。两者均属于嵌入式系统硬件平台,核心板侧重计算能力,底板侧重扩展能力,二者通过标准接口协同工作以实现复杂系统设计。
    的头像 发表于 08-01 14:02 791次阅读

    核心板的多领域应用与前景分析

    以 明远智睿的 SSD2351核心板 为例 、SSD2351核心板概述 SSD2351核心板作为款高性能嵌入式系统模块,近年来在工业控制
    的头像 发表于 07-03 15:38 537次阅读

    从入门级到旗舰款,全志T系列核心板怎么选?

    面对FET113i-S核心板、FET527N-C核心板和FET536-C核心板三款主流明星产品,工程师该如何选择?本文将从核心配置、功能特性到行业适配性进行全方位解析,助您找到匹配项目
    的头像 发表于 06-27 08:06 1462次阅读
    从入门级到旗舰款,全志T系列<b class='flag-5'>核心板</b>怎么选?

    7个挑选工控核心板要点,最后点至关重要

    在工业控制领域,核心板是系统运行的“心脏”,其选择至关重要。今天,就来聊聊如何挑选款合适又靠谱的工控核心板,让你的产品在性能、稳定性等方面都能脱颖而出。1.处理器处理器,是核心板的关
    的头像 发表于 06-25 11:36 475次阅读
    7个挑选工控<b class='flag-5'>核心板</b>要点,最后<b class='flag-5'>一</b>点至关重要

    强悍的I.MX8MP核心板

    在当今的嵌入式系统开发领域,款性能卓越且尺寸小巧的核心板能够为众多项目带来极大的便利。今天,我们就来深入探讨下 MYZR新款I.MX8MP 核心板,看看它究竟有哪些独特之处。
    的头像 发表于 02-13 17:05 658次阅读

    PET_RK3588_CORE核心板

    、PET_RK3588_CORE 核心板图片 二、PET_RK3588_CORE 核心板详细参数 注意:RK3588 引脚大部分是功能复用的,以上列表内的资源存在不能同时使用的情况,引脚功能复用情况 可以查询下表或查看我司
    的头像 发表于 01-15 14:12 1280次阅读
    PET_RK3588_CORE<b class='flag-5'>核心板</b>

    PET_RK3562_CORE核心板

    、PET_RK3562_CORE 核心板图片 二、PET_RK3562_CORE 核心板详细参数 注意:RK3562 引脚大部分是功能复用的,以上列表内的资源存在不能同时使用的情况,引脚功能复用
    的头像 发表于 01-15 10:58 986次阅读
    PET_RK3562_CORE<b class='flag-5'>核心板</b>

    天问ASRPRO核心板+ESP32S3#pcb设计

    核心板
    默语聆听
    发布于 :2025年01月13日 00:51:48

    为什么要选择BGA核心板

    电子又重磅推出了款全新的BGA核心板——M3562。M3562Cortex-A53核心板四核Cortex-A531.8GHz主频低成本3568方案参考价格:288
    的头像 发表于 01-07 11:36 961次阅读
    为什么要选择BGA<b class='flag-5'>核心板</b>?

    51单片机核心板原理图

    51单片机核心板原理图
    发表于 12-16 11:30 4次下载