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

描述

蓝牙

 

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

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

 

1

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


 

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

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

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

 

蓝牙

 

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配合,简单开发即可做出有趣的应用。

蓝牙

 - WS2812蓝牙灯带演示视频 -

 

如何使用:

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

蓝牙

源码仓库:

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()之后后面不要加任何语句!!!!!

 

 

 

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分