全球最实用的IT互联网信息网站!

AI人工智能P2P分享&下载搜索网页发布信息网站地图

当前位置:诺佳网 > 电子/半导体 > 接口/总线/驱动 >

合宙LuatOS | 新增Lora驱动+Si24R1驱动,支持WS2812蓝牙

时间:2022-07-02 14:36

人气:

作者:admin

标签: 驱动器  蓝牙 

导读:让我们一起,把想做的事一个个实现!仿佛昨天还在感慨五月的时光匆匆,今天却已大步流星奔向七月的全新跑道。变化的时空,燃映着不变的初心和永不停歇的步伐。感谢有你,与L...

7cc9f4fa-f95a-11ec-a2f4-dac502259ad0.gif

让我们一起,把想做的事一个个实现!

仿佛昨天还在感慨五月的时光匆匆,今天却已大步流星奔向七月的全新跑道。变化的时空,燃映着不变的初心和永不停歇的步伐。感谢有你,与LuatOS一路勇敢向前!

1

新增两种驱动
Lora驱动+Si24R1驱动


合宙为MCU行业开启了全新生态——基于LuatOS操作系统,打造一站式高效开发环境,通过丰富完备的自主产权软硬件矩阵,实现全场景覆盖。不断演进的LuatOS,将适配越来越多的单片机和无线芯片模组。

目前LuatOS新增两种驱动——Lora驱动和Si24R1驱动,demo已上传主库。注:使用Lora前需云编译最新固件。

不了解云编译的同学,可点击下图链接:

7d0b65de-f95a-11ec-a2f4-dac502259ad0.gif

LuatOS-SoC最新Lora驱动


目前已支持——LLCC68、SX1268系列高性能Lora模组,如需更多型号,欢迎寄给我们适配。

应用特色
LoRa扩频,远距离通信

驱动方式
SPI驱动,便捷开发。

适用范围

现已支持:
Air101/Air103/Air105/Esp32C3系列固件。

源码仓库

https://gitee.com/openLuat/LuatOS/tree/master/demo/lora

LuatOS-SoC最新Si24R1驱动


Si24R1是一款工作在2.4GHz ISM频段,兼具超低功耗及高稳定性的无线收发器

应用特色

2.4G通信, 兼容nRf24L01。

驱动方式

使用SPI+GPIO库直驱,纯Lua实现。

适用范围

现已支持:
Air101/Air103/Air105/Esp32C3系列固件。

源码仓库:

https://gitee.com/openLuat/LuatOS/tree/master/script/libs/si24r1

2

支持小程序
WS2812蓝牙灯带控制


合宙Air101/Air103系列MCU自带蓝牙,与常见的外控集成LED光源WS2812配合,简单开发即可做出有趣的应用。

7d0b65de-f95a-11ec-a2f4-dac502259ad0.gif

- WS2812蓝牙灯带演示视频-

如何使用:

微信小程序搜索:LuatOS蓝牙调试工具,连接Air101/Air103即可进入调试界面。用户可通过WS2812B控制界面的调色盘自由调整,实现灯带/灯盘颜色的同步改变。

7d27730a-f95a-11ec-a2f4-dac502259ad0.png

源码仓库:

https://gitee.com/openLuat/LuatOS/blob/master/script/turnkey/ws2812_nimble/main.lua

WS2812蓝牙灯带代码参考

上下滑动查看完整代码:

-- LuaTools需要PROJECT和VERSION这两个信息

PROJECT = "uart_irq"

VERSION = "1.0.0"

log.info("main", PROJECT, VERSION)

-- 引入必要的库文件(lua编写), 内部库不需要require

local sys = require "sys"

mcu.setClk(240)

log.info("main", "uart demo")

sys.subscribe("BLE_STATE_INC", function(state)

log.info("ble", "ble state changed", state)

if state == 1 then

nimble.server_init()

else

nimble.server_deinit()

end

end)

local buff = zbuff.create({8,8,24},0x000000)

-- 监听GATT服务器的WRITE_CHR事件

sys.subscribe("BLE_GATT_WRITE_CHR", function(info, data)

if data:len() == 0 then

return

end

local cmd = data:split(",")

if cmd[1]=="ws2812" then

local rgb = tonumber(cmd[2],16)

local grb = (rgb&0xff0000)>>8|(rgb&0xff00)<<8|(rgb&0xff)

buff:setFrameBuffer(8,8,24,grb)

sensor.ws2812b(pin.PB05,buff,0,300,300,300)

end

end)

sys.taskInit(function()

sys.wait(2000) -- 为了能看到日志,休眠2秒

nimble.debug(6) -- 开启日志

nimble.init() -- 初始化nimble, 会产生事件BLE_STATE_INC

end)

-- 用户代码已结束---------------------------------------

-- 结尾总是这一句

sys.run()

-- sys.run()之后后面不要加任何语句!!!!!

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信