CH9141K 能否设定成MIDI蓝牙?

工程师们好!


我在WCH蓝牙刚上市时买了一批去测试,还做了几款底板试用,性能很好,但后来我的产品并没有使用,因为体积不够小,也没有插针式的设计,虽然我的产品已经开始量产了,但我还在寻找一款能与手机连接的MIDI BLE 模块,目前能买到的只有两款,面积都很大,装不进我的产品,于是来的这里碰运气,果然有好运,发现了CH9141K这芯片,有设定128BITS UUID 的功能,看来很有希望,已经拍下几片回来测试。根据网上查询到的资料,要将普通的透传蓝牙设定成MIDI蓝牙很简单,只需满足两个条件,其他的MIDI码我很熟悉了,所以得请工程师们多多指教。这款芯片引脚简单,我可以在产品的底板上直接贴片生产,工序又再简化,成本再次降低,非常期待。


MIDI蓝牙格式.jpg

广播内容可以修改。

image.png9141K不支持UUID的自定义,自定义的uuid需要使用9141(QFN28封装)。

image.png


谢谢回复。


新的模块CH9141K还在几千公里外,马上就知道是不能修改UUID的,我手头还有2021年买的9141,就先焊一片来试试,不过就担心版本太旧了。目前是蓝牙模块井喷的时代,大家都在打价格战,乱成一团,就蓝牙MIDI这一块是无人之地,可用的模块太少了,我最担心的是万一那家供应商倒了,自己的产品也泡汤了,所以得找寻备胎。


CH9141K算是CH9141的廉价板,如果CH9141确实能设定为蓝牙MIDI,只要定制CH9141K-PLUS应该没有问题,从28个脚到10个脚是很大的进步,我还买到几款8脚的蓝牙芯片,一般平价产品用的蓝牙不需要那么多功能的,只要VCC,RXD,TXD,GND四个插孔,板上有一颗LED指示灯就行了,AT功能应该是有连接就透传,没连接就AT功能,目前CH的芯片是用AT...从透传转到AT的方式,这其实是有潜在风险的,谁能知道透传内容永远不会出现AT...的字符?五年前用过一款J的模块就出现这个问题。


找到我三年前买的CH9141,焊接在我特制的转接板上,测试就很容易了,接上电源后串口就接到welcome的信号,这功能不错,表示还有生命迹象哈,其他蓝牙模块都是哑巴的,赶忙测试了几个AT命令,没回应,原来是忘了先打AT...,测试结果正如所料,版本太旧了,得再买最新版本了,很可惜,CH9141K不支持更改UUID,又得另寻新欢了。


9141TEST.jpg


如果是封装的话,9141qfn28封装跟9141K的大小差不多,做成的模块大小也差不多。

如果只需要使用9141K,可以考虑使用571K,这是自行开发的芯片,与9141Kpintopin。广播包和UUID信息可以自由配置。


谢谢建议。


我已经购买了新版的CH9141模块回来测试,我发现CH9141模块的杂牌生产商很少,选择性不多,到时还得与原厂购买。倒是发现福建有人用CH9141做了用插针的UART接口,测试起来就很方便了,这些我都做过。但我提醒自己是蓝牙模块的用户,而不是生产商,更不要进入蓝牙芯片内部去搞开发,所以971K与我无缘,目前是收集多几个厂家的模块回来测试,不懂就问,总能找到合适的,因为MIDI蓝牙是客观存在的,文献也写得很清楚,就是通过设定把工业蓝牙变成MIDI蓝牙,我虽然还看不懂那些蓝牙UUID CHR的设置,也还没有模块可以测试,但测试后就能弄懂,确定以后,批量下单来装上就能卖了。


等模块到手后测试有问题再请教。


模块看起来是比较丑,但方便使用。

ch9141-ttl.jpg





买了整10种牌子蓝牙回来试,许多能设定128BITS的UUID,但设定后没有当主要UUID用,MIDI蓝牙无法设定成功,最后拿买到福建有插针的9141来试,发现版本是3.01的,说明书说要3.6才行,于是用热风枪换上新买独立的9141模块,测试结果还是3.01,请问要如何才能买到VER3.6以上的模块呢?官网有得买吗?要不然无法测试PRIMARYUUID,  也许设定后就变成MIDI蓝牙了。

1725280262149530.jpg

1725280263164516.jpg



留个邮箱,提供升级的上位机和固件。

9141从沁恒淘宝官方购买,固件都是最新版的3.06。


没试过升级固件,还是买新的比较方便哈,SO FAR 我的产品已经用上两款CH的,CH345T是老品牌了,CH554用做MIDI HOST 省电又便宜,几年前我在此询问,没想到后来的CH554就有了范例,免费抄了就能用,看来国产芯片只有CH会关注MIDI,长期可靠的MIDI蓝牙一定会有,我买了装上就能卖,洋人用了满口CHEAP,CHEAP,CHEAP。


好不容易才得到CH9141 VER3.06,果然有新功能,但要设定广播数据ADVDATA时必须把BLEMODE设定为0,即广播模式,已经设定好PRIMARYUUID,WRITEUUID,NOTIUUID, 但没有找到READUUID的设定命令,想象中的CH9141MIDI蓝牙并没有出现,也不知道少设定了什么?


正在打开串口...

[15:58:24.371]发→◇AT+BLEMODE?

[15:58:24.428]收←◆2
OK

[15:58:49.541]发→◇AT+BLESTA?

[15:58:49.599]收←◆02
OK

[15:59:23.708]发→◇AT+NAME?

[15:59:23.764]收←◆CH9141BLE2U
OK

[16:01:48.013]发→◇AT+ADVEN?

[16:01:48.071]收←◆
ERR:03

[16:02:37.502]发→◇AT+BLEMODE?

[16:02:37.558]收←◆2
OK

[16:02:49.521]发→◇AT+BLEMODE=0

[16:02:49.589]收←◆OK

[16:03:32.168]发→◇AT...

[16:03:32.224]收←◆OK

[16:03:46.614]发→◇AT+NAME?

[16:03:46.670]收←◆CH9141BLE2U
OK

[16:04:00.793]发→◇AT+ADVEN?

[16:04:00.850]收←◆ON
OK

[16:04:27.289]发→◇AT+ADVDAT?

[16:04:27.349]收←◆FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
OK

[16:08:58.428]发→◇AT+ADVDAT=03B80E5AEDE84B33A7516CE34EC4C700

[16:08:58.487]收←◆OK

[16:26:24.394]发→◇AT+PRIMARYUUID?

[16:26:24.452]收←◆00000000000000000000000000000000
OK

[16:27:51.666]发→◇AT+PRIMARYUUID=03B80E5AEDE84B33A7516CE34EC4C700

[16:27:51.746]收←◆OK

[16:29:09.133]发→◇AT+WRITEUUID?

[16:29:09.190]收←◆00000000000000000000000000000000
OK

[16:30:53.131]发→◇AT+WRITEUUID=7772E5DB38684112A1A9F2669D106BF3

[16:30:53.213]收←◆OK

[16:33:24.526]发→◇AT+NOTIUUID?

[16:33:24.587]收←◆00000000000000000000000000000000
OK

[16:33:46.884]发→◇AT+NOTIUUID=7772E5DB38684112A1A9F2669D106BF3

[16:33:46.963]收←◆OK

[16:35:19.882]发→◇AT+SEVEREN?

[16:35:19.942]收←◆OFF
OK

[16:36:08.564]发→◇AT+SEVEREN=ON

[16:36:08.642]收←◆OK

[16:36:51.422]发→◇AT+VER?

[16:36:51.480]收←◆
ERR:02

[16:36:57.726]发→◇AT+VER

[16:36:57.784]收←◆VER:V3.06
OK

[16:38:42.650]发→◇AT...

[16:38:42.708]收←◆OK

[16:41:25.025]发→◇AT+BLEMODE?

[16:41:25.085]收←◆0
OK

[16:42:43.979]发→◇AT+BLEMODE=2

[16:42:44.045]收←◆OK



一切设定完毕后,重新开机,蓝牙的指示灯恢复闪动,表示是工作在从机状态,用蓝牙助手连接,发现CH9141并没有工作在设定的PRIMARYUUID状态。


无标题9141.jpg


ADVDAT设定后询问得到正确数据,但重开或RESET后询问得不到原来的设定,其他PRIMARYUUID设定都正常,显然ADVDAT并没有保存进芯片,该用什么命令才能保存呢?


[18:22:01.510]收←◆OK

[18:22:01.734]收←◆Welcome
[18:22:58.556]发→◇AT...

[18:22:58.613]收←◆OK

[18:23:25.495]发→◇AT+ADVDAT?

[18:23:25.553]收←◆FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
OK

[18:24:16.998]发→◇AT+PRIMARYUUID

[18:24:25.463]发→◇AT+PRIMARYUUID?

[18:24:25.523]收←◆03B80E5AEDE84B33A7516CE34EC4C700
OK

[18:24:38.873]发→◇AT+WRITEUUID?

[18:24:38.931]收←◆7772E5DB38684112A1A9F2669D106BF3
OK

[18:25:21.056]发→◇AT+NOTIUUID?

[18:25:21.113]收←◆7772E5DB38684112A1A9F2669D106BF3
OK

[18:25:45.589]发→◇AT+ADVDAT?

[18:25:45.649]收←◆FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
OK

[18:26:09.473]发→◇AT+ADVDAT=03B80E5AEDE84B33A7516CE34EC4C700

[18:26:09.534]收←◆OK

[18:26:19.805]发→◇AT+ADVDAT?

[18:26:19.863]收←◆03B80E5AEDE84B33A7516CE34EC4C700
OK

[18:26:43.286]发→◇AT+RESET

[18:26:43.342]收←◆OK

[18:26:43.567]收←◆Welcome
[18:26:51.264]发→◇AT...

[18:26:51.322]收←◆OK

[18:27:03.927]发→◇AT+ADVDAT?

[18:27:03.981]收←◆FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
OK


配置广播模式的数据无法保存,只会在当前的AT指令模式下生效。一旦断电或者复位则不再生效。


如此说来CH9141 VER3.06还不具备保存广播数据的功能,这样就无法实验MIDI蓝牙了,如果还有软件更新记得通知一下,有没有其他模块可以介绍让我继续实验?


可以使用592进行二次开发。


只有登录才能回复,可以选择微信账号登录