1.硬件介绍
Lua的开发硬件可以选择图1.1.15所示的上海合宙官方推出的开发板,也可以选择叶帆科技推出的YF3300-Air724UG物联网智能网关(如图1.3.10所示)。考虑到后续章节要对接RS485接口的温湿度模块,所以本小节采用的硬件为YF3300-Air724UG物联网智能网关。相关外部的接口定义和图1.2.19所示的YF3300 4G-Cat1硬件接口示意图完全一样。
● 图1.3.10 YF3300-Air724UG物联网智能网关
Air724UG共有28个GPIO,部分引脚需要打开对应的ldo电压域才能正常工作,GPIO 29,30,31管脚通过pmd.ldoset(x,pmd.LDO_VSIM1)指令开启,GPIO 0,1,2,3,4管脚通过pmd.ldoset(x,pmd.LDO_VLCD)开启。
YF3300-Air724UG有电源,通信状态,用户状态三个LED灯,对应的GPIO管脚分别是5、1、4。
两路开关量输入I1、I2分别对应的GPIO为22、23。
一路继电器输出Q1对应的GPIO为11。
2. GPIO标准输入输出库
GPIO标准输入输出库如表1-1所示。pins模块提供两个函数,一个是setup配置GPIO,一个是close关闭GPIO的使用。
pins.setup(pin, val, pull)
表1-1 GPIO标准输入输出库
(续)
pins.close(pin)
pin的定义如上表所示。
采用以上的标准库,我们编写一个每隔1000ms,设置三个LED灯和继电器Q,且同时读取I1、I2开关量状态的示例代码。
和图1.3.7所示的一样,新建一个GPIOTest的项目,然后输入如下的代码:
3. GPIO输入输出调试
编写完代码,参考图1.3.9所示把相关代码部署到YF3300-Air724UG物联网智能网关,如果一切正常,此时应该可以看到三个LED灯每隔1000ms闪烁一次,另外给I1和I2分别输入一个3~24V的电压,可以从调试控制台观察到I1和I2的状态变化(如图1.3.11所示)。
● 图1.3.11 LuatIDE GPIO调试界面