
百变小樱 NFC 鸟头杖
简介
百变小樱nfc鸟头杖,靠近库洛牌后触发不同控制效果,支持自定义新卡牌
简介:百变小樱nfc鸟头杖,靠近库洛牌后触发不同控制效果,支持自定义新卡牌开源协议
:CERN Open Hardware License
(未经作者授权,禁止转载)描述
百变小樱 NFC 鸟头杖
一、简介
使用 stm32f103 和 rc522 基于 HAL 库制作,鸟头杖在靠近对应卡牌后会播放音效、灯效并转发控制命令给执行器。可以自定义新卡牌、语音和控制效果,拓展性强。
B站视频地址:小樱nfc鸟头杖【开源】
二、详细原理
1、库洛牌
卡牌中会存入如下信息,可以用串口对法杖使用 /card
命令写入:
/* 卡片存储数据格式,第二扇区第零块
0: 0x25
1: 库洛牌 ID
2: 0x68
3: 0x25
4~5: 受控设备 mesh 地址,2 Byte,大端
6: 发送给受控设备的自定义数据,1 Byte
7: 指定音频文件夹,1 Byte
8: 指定音频序号,1 Byte
9: 0x68
*/
2、鸟头杖
鸟头杖在触碰到卡牌后会读出信息转发给相应地址的执行器,并播放指定语音
3、执行器
执行器是通用的,只要修改地址和操作就能作为多种控制器使用,预留的一个引脚默认为控制舵机,可自行修改为其他用途来拓展控制其他设施
三、软件
为便于更新,软件的工程使用 git 管理,存储在 gitee,地址:小樱 ncf 鸟头杖总 repo
1、语音下载
插入后如果弹出的是一个 U盘,那么把附件里的音频文件拖进去就行了
2、卡牌读写
把 C 口线调转一个方向,就是串口模式,打开任意一个串口助手,使用 /card -w
命令就可以写入卡牌信息
例:
/card -w 1 0x0006 0x00 2 1
效果:
当靠近该卡片时,法杖会读出 卡片ID(01) 和 自定义参数(0x00)发送给蓝牙 mesh 地址为 0x0006 的设备,并播放 02 号文件夹内的 001 号音频,控制器会执行的操作与法杖无关,法杖仅转发卡片内容,一般由控制器根据卡片 ID 来决定执行哪些操作。
另外,如果将地址配置为 0xFFFF
那么靠近这张卡牌则会将消息转发给所有受控设备。
目前的预设卡牌:
卡牌 | 效果 | 卡牌 ID | 蓝牙 mesh 地址 | 自定义数据 | 音频文件夹号 | 音频号 |
---|---|---|---|---|---|---|
光牌 | 开灯 | 1 | 0x0006 | 无 | 2 | 1 |
暗牌 | 关灯 | 2 | 0x0006 | 无 | 3 | 1 |
风牌 | 开/关 风扇 | 3 | 0x0007 | 无 | 4 | 1 |
可以不按照上述预设卡牌内容来设置卡牌,因为以上内容并非写入法杖的主控里,而是写在卡牌的芯片里,法杖只会转发卡牌内容到相应控制器,只需保证存在对应地址的控制器即可。一般来说,控制器根据卡牌 ID 来决定所需要执行的操作,但还是留了一个自定义数据字节,暂时没有设计用处,但也会发送给控制器。
3、自定义卡牌和控制效果
如果需要添加额外的卡牌和触发效果,那么卡牌的配置过程和上述一样,不过写入的内容根据实际情况决定,仅需额外补充对应语音至法杖,无需对法杖代码进行修改,不过控制器需要根据所需来对其代码进行相应修改。对于控制器的代码修改相关内容详见其对应代码仓库。
对于受控设备的蓝牙 mesh 地址,可以按照如下要求设定:
0XFFFF 广播地址 设备短地址不能配置成这个
0X0002 到 0XFF00 单播地址 设备地址(用户设置短地址可在这个范围内)
0X0001 中心机地址 中心机
0xFF01 到 0XFFFE 系统地址 一般不建议使用
另外,法杖的地址固定为 0005
,建议大于这个数
对于自定义音频,其文件夹开头必须为两位数字,名称总共不超过 12 个字节,汉字一个字占两个字节,文件夹下的音频以三位数字开头,最多 255 个音频,名称长度同文件夹。音频格式使用 MP3
,采样率可用 8/11.025/12/16/22.05/24/32/44.1/48KHZ
,有高音质需求请自行改装主控 PCB,将 CH8001 芯片的 DAC 引脚接至外置 DAC。
四、硬件
1、库洛牌
法杖的正反插 Type-C 口线分别为 串口
和 语音下载
。
提供三种方法制作卡牌,分别为:
- 彩色 PCB 丝印
- 普通 PCB 贴贴纸
- 3D 打印贴贴纸
如果使用 PCB 制作,那么只要买不带线圈的芯片就行,尺寸 5*8mm,目前测试 IC 卡、UID 卡和 CUID 卡都能读写。
2、鸟头杖
空间有限,PCB 为螺丝固定,其他如喇叭、开关等等均为胶粘,除外壳螺丝为 M2*10 自攻螺丝外,其他均为 M2*5 自攻螺丝
开关位置:
灯珠位置:
买这种带引出焊盘的 PCB 的 ws2812 或者插件 ws2812 都行,粘接在内部
电池:
读卡天线:
感值约 1uH,自己绕线的话大概 20mm 绕个四五匝左右就行
有两种接法,我用的是单天线接法,距离正好够读卡,如果用双天线的话需要注意两天线长度相同
单:
双:
另,读卡芯片可用 ws1850s 替代,更便宜且测试通过。
3、执行器
开灯器:
风扇控制器:
注:舵机旋转角度需要根据实际开关来修改
4、模型
提供 step 模型和 Fusion360 工程文件,以供修改控制器为适合的尺寸
更新记录:
2025年3月24日:完成设计并发布
2025年3月26日:补充鸟头杖成本,补充库洛牌模型,完善部分描述
设计图

BOM


评论