合宙Air103 LuatOS开发小试

一、简介

 使用LuatOS开发Air103,先点个灯熟悉流程。可以使用官方建议的vs code的LuatIDE进行开发会比较方便;
 但是由于用Lua脚本语言开发,编辑器显得不那么重要了,随便用都一样。本人懒虫,直接拿裸编辑器写了(个人喜好Sublime)。
 用LuaTools通过串口烧录。

二、安装工具SDK

 编辑器随便就行,记事本也不是不可以(doge);
 通过串口烧录固件及脚本,去官方wiki下载LuaTools得到压缩包;
合宙Air103 LuatOS开发小试_第1张图片
 解压压缩包可以得到Luatools_v2.exe文件,双击运行即可在同目录下创建多个文件夹并获取相应资源(如果提示更新就先更新),其中重点关注resource文件夹,各个芯片最新的固件以及例程都在里面;
合宙Air103 LuatOS开发小试_第2张图片
合宙Air103 LuatOS开发小试_第3张图片

三、编写点灯脚本

 \resource\103_lua_lod\core_V0006\demo\gpio\文件夹内找到main.lua并拷贝作为参考,其实这就是官方给的点灯例程,由于Air103和Air101官方核心板的led引脚不同,但是固件及例程是通用的,所以需要修改引脚;
 到官方wiki找到核心板的引脚图,找到LED分别是24,25,26号脚,新版固件可直接写作pin.PB40,pin.PB41,pin.PB42,对代码进行修改后如下;

-- LuaTools需要PROJECT和VERSION这两个信息
PROJECT = "gpiodemo"
VERSION = "1.0.0"

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

-- sys库是标配
_G.sys = require("sys")

if wdt then
    --添加硬狗防止程序卡死,在支持的设备上启用这个功能
    wdt.init(15000)--初始化watchdog设置为15s
    sys.timerLoopStart(wdt.feed, 10000)--10s喂一次狗
end

--下面的GPIO引脚编号,请根据实际需要进行更改!
--[[-- v0006及以后版本可用pin方式
local LEDA = gpio.setup(pin.PB24, 0, gpio.PULLUP) -- PB24输出模式
local LEDB = gpio.setup(pin.PB25, 0, gpio.PULLUP) -- PB25输出模式
local LEDC = gpio.setup(pin.PB26, 0, gpio.PULLUP) -- PB26输出模式
]]

local LEDA = gpio.setup(40, 0, gpio.PULLUP) -- PB24输出模式
local LEDB = gpio.setup(41, 0, gpio.PULLUP) -- PB25输出模式
local LEDC = gpio.setup(42, 0, gpio.PULLUP) -- PB26输出模式

sys.taskInit(function()
    local count = 0
    local uid = ""
    if mcu then
        uid = mcu.unique_id():toHex()
    elseif nbiot then
        uid = nbiot.imei()
    end
    while 1 do
        -- 一闪一闪亮晶晶
        LEDA(count & 0x01 == 0x01 and 1 or 0)
        LEDB(count & 0x02 == 0x02 and 1 or 0)
        LEDC(count & 0x03 == 0x03 and 1 or 0)
        log.info("gpio", "Go Go Go", uid, count)
        sys.wait(1000)
        count = count + 1
    end
end)

-- 用户代码已结束---------------------------------------------
-- 结尾总是这一句
sys.run()
-- sys.run()之后后面不要加任何语句!!!!!

四、烧录固件及脚本

 接上板卡,打开LuaTools,左上角选择通用串口打印,找到正确串口,波特率设为921600;
合宙Air103 LuatOS开发小试_第4张图片
 点击左下角“创建项目”,输入项目名称后确定;
合宙Air103 LuatOS开发小试_第5张图片

 点击右上角项目管理测试,点击选择底层CORE后面的选择文件,找到合适的固件,参考文件目录\LuaTools\resource\103_lua_lod\core_V0006\LuatOS-SoC_V0006_AIR103.soc,选择;
合宙Air103 LuatOS开发小试_第6张图片
 点击“增加脚本”,找到刚才修改的脚本文件并选择;
合宙Air103 LuatOS开发小试_第7张图片
 最后点击“下载底层和脚本”即可开始烧录。第一次选择底层和脚本,不更改固件的话后续烧录程序只需选择“下载脚本”即可;
合宙Air103 LuatOS开发小试_第8张图片
 等待进度条走完,下方显示“下载成功”就完事儿了;
合宙Air103 LuatOS开发小试_第9张图片
 返回之前的页面就可以看到调试信息了;
合宙Air103 LuatOS开发小试_第10张图片

其他

 首先,LuatIDE十分方便强大,但是本人试用的时候总是出现烧录不正常,调试出错等问题,尚未搞清楚原因,所以才选择了使用编辑器+LuaTools。
 LuaTools这个工具也十分方便,不光是烧录,还有检查语法,加密脚本,远程升级等诸多功能,非常方便开发者使用。此次只是小试牛刀,体验相当不错;
 总的来说,LuatOS提供了使用Lua语言快速开发的途径,相比于Micropython,个人感觉其更加方便强大还有趣。啊总之就是说,支持国产,合宙加油!!!

你可能感兴趣的:(物联网,单片机,iot,lua)