- Notifications
You must be signed in to change notification settings - Fork3
xitu/jcode-bluetooth
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
用码上掘金操作蓝牙智能设备。
- Mipow-Playbulb-LED |GATT ✔︎ |SPP x
- Mipow-Playbulb-Sphere |GATT ✔︎ |SPP x
- Mipow-Playbulb-Candle |GATT ✔︎ |SPP x
- Epaper 蓝牙价签 |GATT ✔︎ |SPP x
- Divoom-Timebox-Mini |GATT ✔︎ |SPP x
- Pixoo 16x16 |GATT x |SPP ✔︎
- Pixoo-Max |GATT x |SPP ✔︎
- Ditoo-Plus |GATT x |SPP ✔︎
- Divoom Backpack |GATT x |SPP ✔︎
- Divoom Zooe |GATT x |SPP ✔︎
逐步添加中...
import{Playbulb}from'https://unpkg.com/jcode-bluetooth@0.1.0/dist/jcode-bluetooth.js';constdevice=newPlaybulb();constbutton=document.querySelector('button');functionsleep(ms){returnnewPromise(resolve=>setTimeout(resolve,ms));}button.addEventListener('click',async()=>{awaitdevice.connect();lethue=0;while(true){awaitdevice.setColor(`hsl(${hue}, 100%, 50%)`);hue=(hue+1)%360;awaitsleep(100);}});
因为Pixoo系列像素板的蓝牙协议是SPP,浏览器Web Bluetooth只支持GATT,所以需要启动本地HTTP服务做一个代理。
准备好设备,通过手机蓝牙调试工具查看设备地址,然后clone本项目到本地,安装依赖后启动server服务:
npm install&& npm run server --<设备MAC地址>
接着就可以在Web上编写代码了,Pixoo对象提供了可操作的canvas对象,你可以直接操作这个对象,绘制内容会自动同步到设备上。
import{PixooMax}from'https://unpkg.com/jcode-bluetooth@0.1.0/dist/jcode-bluetooth.js';constp=newPixooMax();constctx=p.canvas.getContext('2d');ctx.fillStyle='green';ctx.fillRect(8,8,24,24);
在线示例:Pixoo-Doodle @码上掘金