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

    文章

    3342

    浏览量

    42490
  • 核心板
    +关注

    关注

    5

    文章

    1013

    浏览量

    29767
  • RT-Thread
    +关注

    关注

    31

    文章

    1288

    浏览量

    40116

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

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

收藏 人收藏

    评论

    相关推荐

    51单片机核心板原理图

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

    龍鹰一号siengine SE1000开发测评

    大家好,这期测评款国产芯片(龍鹰一号siengine SE1000)。 主要侧重其中的AI能力部分,围绕着“如何在开发上跑个完整AI应用”这
    的头像 发表于 11-28 10:34 550次阅读
    龍鹰<b class='flag-5'>一号</b>siengine SE1000开发<b class='flag-5'>板</b>测评

    嵌入式核心板的分类及PCB设计

    或FLASH)、电源管理(PMIC)、晶振等。同时引出如USB、GPIO、SPI、I2C、UART、以太网、PCIe等各种接口,以满足各种应用的需求。   核心板般采用连接器、
    的头像 发表于 11-27 16:37 384次阅读

    骁龙665安卓核心板_SM6125核心板参数_安卓核心板高通方案定制

    骁龙665(SM6125)核心板款先进的智能模块,搭载了多种网络制式的LTE Cat 4模块,旨在满足现代化通讯需求。这款核心板基于64位架构,采用三星11纳米工艺技术制造,配备了八核CPU
    的头像 发表于 11-13 20:17 530次阅读
    骁龙665安卓<b class='flag-5'>核心板</b>_SM6125<b class='flag-5'>核心板</b>参数_安卓<b class='flag-5'>核心板</b>高通方案定制

    MT8390安卓核心板_MT8390 (Genio 700)核心板详细参数

    MT8390安卓核心板是基于MT8390 (Genio 700)芯片研发的高性能平台,采用先进的6nm制程工艺,显著降低功耗。该核心板配备强大的八核CPU,包括两个主频为2.2GHz的A78核心
    的头像 发表于 09-06 20:17 390次阅读
    MT8390安卓<b class='flag-5'>核心板</b>_MT8390 (Genio 700)<b class='flag-5'>核心板</b>详细参数

    如何get RK3568核心板的音频功能

    的是,飞凌嵌入式RK3568核心板凭借采样范围为0~1.8V、采样精度为10bits的ADC采样接口的加持,辅以巧妙的电路设计,可轻松实现耳机线控。 作为款面向AIOT和工业市场打造的产品
    发表于 08-29 14:34

    国产FPGA核心板!米尔紫光同创Logos-2和Xilinx Artix-7核心板

    降低40%,是国产FPGA领域的重大突破。米尔核心板主要使用PG2L100H,PG2L100H其逻辑资源133200,路PCIE接口,4对GTP高速串行接口,6个bank,共有285个FPGA管脚
    发表于 05-31 17:40

    飞凌嵌入式FET3568/3568J-C核心板现已适配OpenHarmony4.1

    核心板赋予了更强大的功能,也为开发者们提供了更加广阔的创新空间。FET3568/3568J-C核心板作为飞凌嵌入式的款明星产品,上市两年来凭借不俗的性能、卓越稳
    的头像 发表于 05-31 14:17 733次阅读
    飞凌嵌入式FET3568/3568J-C<b class='flag-5'>核心板</b>现已适配OpenHarmony4.1

    MTK8766核心板_MT8766安卓核心板联发科4G智能模块方案

    MTK8766核心板款高性能、低功耗的嵌入式系统解决方案,为各个行业设备的发展提供强大的技术支持。该核心板基于联发科MTK8766芯片,采用四核主频2.0GHz模块,支持国内4G全网通。搭载先进的12nm工艺和谷歌Andro
    的头像 发表于 04-16 20:03 937次阅读
    MTK8766<b class='flag-5'>核心板</b>_MT8766安卓<b class='flag-5'>核心板</b>联发科4G智能模块方案

    “深海一号”二期项目水下工程作业取得重要进展

    据悉,“深海一号”二期项目坐落在南海北部大陆架西区的琼东南盆地,距离海南省三亚市约132公里,“深海一号”能量站约70千米,此项目为我国首座深度高压气田,已探明天然气地质储量逾500亿立方米,最大作业水深近千米
    的头像 发表于 04-09 16:15 373次阅读

    米尔这款首发的国产核心板批量上市了!全志T527

    2023年12月,米尔电子联合战略合作伙伴全志科技,率先业内发布了国产第款T527核心板及开发。这款高性能、高性价比、八核A55的国产核心板吸引了广大客户关注,为积极响应客户需求,
    的头像 发表于 02-22 08:01 886次阅读
    米尔这款首发的国产<b class='flag-5'>核心板</b>批量上市了!全志T527

    分钟了解飞腾COMe核心板GEC-2001-01#主板

    主板核心板
    GITSTAR 集特工控
    发布于 :2024年02月02日 13:41:56

    分钟了解飞腾全国产化核心板GCE-2001#飞腾 #主板

    主板核心板
    GITSTAR 集特工控
    发布于 :2024年02月01日 17:48:25

    我国成功发射天行一号02星

    在酒泉卫星发射中心,我国成功利用快舟一号甲运载火箭将天行一号02星送入预定轨道,发射任务取得圆满成功。此次发射的时间是北京时间2024年1月11日11时52分。
    的头像 发表于 01-11 13:57 1002次阅读

    基于高通 SDM450平台研发 —— XY450 4G 核心板

    高通核心板
    jf_87063710
    发布于 :2024年01月10日 09:32:52