初尝合宙Air780EP智能照明,从怀疑到拍案叫绝!

最近,老板接到一个大订单,让我开发一款智能照明灯的项目。

为了让产品更具特色,要求添加4G联网功能,并且能够根据环境光的颜色和亮度自动调整照明设备的色温和亮度,使光线更加舒适自然。

老板特别交代项目紧急,要我尽快完成开发。我心里有些担大梁的期待,又有些赶时间的无奈。
身为打工人,只能硬着头皮去网上寻找解决方案。

一、说干就干

我先寻找了一些市面上常用的开发板,但发现这些板子都不支持4G功能,必须额外加装一个4G模组——一算成本,发现这方案太贵了,根本赚不到钱。
一筹莫展之际,我忽然想到干脆直接找带4G功能的模组。在某宝搜索了一下4G模组,发现竟然有不少选择。
正当我纠结于不同模组之间如何选择时,低功耗4G模组吸引了我的注意:

什么?4G模块还能低功耗?

这商家是不是在骗人?

带着揭穿“骗局”的心态,我点开了这个名为合宙超低功耗的产品页面。

二、相见恨晚

进了淘宝店才发现,主打低功耗的4G模组不仅功能丰富、性能强大,最关键是资料齐全,对开发者很友好。

我首先研究了一下Air780EP开发板。它采用了移芯718P芯片,双核CPU,主频高达306MHz,还有一堆接口,功能齐全得让我都有点不敢相信。

当即决定买一块来测试开发。

——话说明明是来揭穿“骗局”的,怎么有点相见恨晚了呢?

Air780EP这个板子支持AT和LuatOS开发。这次我打算直接使用LuatOS在模组上进行开发,因为官方资料说用LuatOS可以快速上手,大大减少开发周期。

在正式开发之前,我先去看了一下官方社区。

合宙DoC社区:
https://doc.openluat.com/

好家伙!这技术文档写的又多又全,并且做的分类一目了然,想要什么资料一下子就找到了,简直比我自己的笔记看着都舒服。

有了这么详细的资料支持,我一下子信心倍增。

首先搭建开发环境。从官网下载了LuaTools下载调试工具,这是一个合宙自己做的下载和调试程序的工具,简直不要太好用,界面简单但功能齐全,操作起来非常顺手。

接着,下载了适用于Air780EP的固件。虽然有多个版本,但我毫不犹豫地选择了最新版,毕竟新版往往有优化和修复。

LuaTools工具下载: https://wiki.luatos.com/pages/tools.html

LuatOS固件下载: https://gitee.com/openLuat/LuatOS/releases

准备工作都搞定后,我开始写代码。

首先新建了一个main.lua文件,写入必要的框架代码。然后,导入了TCS3472扩展库,毕竟我们的重点就是这个模块。

接下来是与TCS3472模块的交互。

这个项目大致分为三步:

  1. 初始化i2c总线;

  2. 读取模块数据;

  3. 对数据进行处理。

如果是传统的MCU开发,就第一步都要写一堆的代码去实现。

而在LuatOS中,这一步只需要一步即可实现:

Lua
-- 设置i2c的id和速度

i2c.setup(i2cid,i2c_speed)

而TCS3472只需要两步就可以实现。

第一步初始化TCS3472,第二步直接读取数据就可以了:

Lua
--初始化tcs3472,传入i2c_id

tcs3472.init(i2cid)

--读取tcs3472数据

rgb_date = tcs3472.get_rgb()

你没看错,两步代码就完了这个模块的所有操作,然后我又加了个while循环读取数据,再打印测试。

全部代码最终是这个样子:

Lua
local tcs3472 = require "tcs3472"

i2cid = 1

i2c_speed = i2c.FAST

sys.taskInit(function()

    i2c.setup(i2cid,i2c_speed)

    tcs3472.init(i2cid)
    --初始化,传入i2c_id

    while 1 do

        local rgb_date = tcs3472.get_rgb()
        --读取rgb数据

        log.info("rgb_date.R:",rgb_date.R)
        --打印r数据

        log.info("rgb_date.G:",rgb_date.G)
        --打印g数据

        log.info("rgb_date.B:",rgb_date.B)
        --打印b数据

        log.info("rgb_date.C:",rgb_date.C)
        --打印c数据

        local lux_date = tcs3472.get_lux(rgb_date)
        --获取lux数据

        log.info("lux_date:",lux_date)
        --打印lux数据

        sys.wait(1000)

    end

end)

接下来,就可以拿着得到的rgb值去调试灯光了。

我决定再测试一下这个合宙Air780EP开发板的低功耗功能,但是4G模块哪可能会有真正低功耗?虽然不抱期待,但既然有这个功能,那就试一下吧。

合宙4G超低功耗解决方案: www.airpsm.cn

结果令我大吃一惊:
在最低功耗模式下,这块开发板竟然可以达到仅约3微安的耗电量。而且,它还提供了三种不同的功耗模式供选择。

最终,我选择了功耗模式2。在该模式下,待机时的功耗仅为500微安左右,并且定时器和唤醒引脚都可以正常唤醒设备。

这一发现将大幅延长电池在待机状态下的使用寿命。
——项目赚钱的机会大增!

三、效果展示

我用LuaTools将代码下载到Air780EP开发板上,程序下载后正常运行。整个过程,比我预想的要顺利得多!

  1. 下载固件和脚本

  1. 在Luatools工具中查看效果

看到这些成果,我终于松了口气,这次的开发任务顺利完成了。

从质疑到相见恨晚,这就是我的Air780EP初体验。

通过这次用Air780EP开发TCS3472模块的经历,我对这块开发板有了更深的印象。虽然一开始有些担心会不会遇到麻烦,但最终的结果让我非常满意。

看来,Air780EP确实是一个不错的选择,尤其适合那些对开发周期要求紧迫和对功耗要求严格的项目。如果下次老板再有类似需求,我想我会毫不犹豫地再次选择它。
详细资料获取请点击: www.openluat.com
在这里插入图片描述
在这里插入图片描述

  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值