lua打开是二进制代码_物联网的构建:使用Lua高级语言进行嵌入式开发

本文介绍了Lua作为一种轻量级脚本语言在物联网嵌入式开发中的使用,包括Lua的特点、如何导入Lua进行开发,以合宙Air302模块为例详细阐述烧录过程,并展示了简单的Lua代码示例,强调了Lua在物联网连云和调试中的优势,同时指出虽然Lua方便,但学习C语言的基础仍然重要。
摘要由CSDN通过智能技术生成

语言无好坏,适合就行......

选择一种语言进行开发,其实就是选择一款趁手的工具,比如拧螺丝,套筒扳手显然要比活动扳手更方便。工具趁不趁手,使用了才知道,所以不要拒绝去学习新的语言。

一、关于Lua

Lua 是一种轻量小巧的脚本语言,用标准C语言编写并以源代码形式开放, 其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。简单而言,Lua就是简单封装后的C,用来简化C中繁琐的操作,它设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。

二、导入Lua

通常,嵌入式模组厂商会将Lua脚本植入模组的固件中,开发者基于模组的固件进行开发即可,关于刷固件,不同的模组可能会有不同的工具,现以合宙的Air302模块为例进行说明:

b9cab5bcf4a380df04b2a3f5fdce2b4d.png

在VScode中点击File,然后选择Open Folder (Open Folder表示打开一个文件夹,Open File表示打开一个文件)

开发包的文件结构图如下:

a5fbf67452f3478a610e652e7338c5a4.png

demo:存放示例程序,里面有阿里云示例程序、串口示例程序、IIC示例程序、GPIO示例程序等;

FlashToolCLI:存放烧录工具,其中disk文件夹下会生成.luac文件;

lib:存放示例代码中所引用的模块,其实主要引用的是sys.lua和mqtt.lua;

tools:存放编译工具,主要是luac_536_32bits.exe;

user:存放用户程序,一般将要烧录的程序放到此处;

userdoc:存放一些文档;

剩下的就是一些文件:.ec是固件、local.ini是配置文件、air302.py是Python脚本,整个下载的过程其实就是这个脚本通过调用一些exe文件来进行,Python作为脚本语言,使用起来确实还算顺手。

打开local.ini来配置一些参数:

8edccfef08faea1e415fe988413d2433.png

这里面配置的是一些路径,最主要的是COM_PORT,填入USART口的端口号即可(若不确定端口号,可以打开串口助手来查看);

然后打开一个TERMINAL并运行air302.py脚本:

1c5303672f38a2016382348948647899.png

lfs:编译指令;

dlfs:下载脚本程序;

dlrom:仅下载固件;

dlfull:下载脚本程序及固件;

若程序无异常,将自动进行下载:

f5d064282206f1caa1fac76700a35cf2.png

下载的速度不算快,可能和波特率低有关;

下载完成后会有提示:

ac84a66dd9e73859afcf90f626508b64.png

需要注意的是,下载时要将串口助手关闭,不然会占用串口,此外还要确保开发板处于下载模式;

最后打开串口然后按开发版上的RESET键:

993e6ac76bb6ad20aeb30d04ff49afc8.png

串口的调试信息将会打印出来;

三、编程开发

由于最近在使用阿里物连网,所以就顺理成章的用连接阿里物联网的程序:

d0e74388fe3c43d162010baac90bcc63.png

程序都有注释,这一段是声明调用的部分,类似Python的import,以及C的Using

声明完成后就开始配置串口:

241995d9832e837c95453dca54ac3219.png

短短五行,就配置好了Uart,与C语言相比,lua真的减少了不少工作量。

接下来是重头戏--连云:

c9f44cd17ff840d30ebe4ac088b7769a.png

对于连接阿里物联网云,底层的代码已经有了,我们需要做的仅仅是填入设备的三元组(ProductKey、DeviceName、DeviceSecret),这似乎也太简单了!

7ac8857505da98adaf37f0d4971760b0.png

程序到sys.run()就算是结束了,稍微熟悉下lua,这个程序还是无难度的。

四、调试运行

使用lua的OS来连接阿里物联网云,真的比C更快、更轻松!

c053ed60e0592c3777dbc5dfdc2018ff.png

不过目前还有一点小问题还没有解决,由于阿里物联网云使用了物模型,在用APP来控制时,总是要对物模型进行检测,这个有点让人想不通。

五、体验心得

尽管lua比C更方便快捷,尽管lua更适合新手入门,但C还是不应该被跳过,因为要学书法,正楷总是绕不过去的。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值