Air202 S6 开发板是基于 Air202 GPRS 模块制作的开发实验板。该模块支持 lua语言 或 AT 指令,方便开发者根据自己的需求灵活选择。
Air202 S6开发板专注于小型化,PCB 尺寸 24.5*34mm。开发板有13*2个标准 2.54mm 排针管脚,其他设备可以直接使用杜邦线连接,免去了模块布线的步骤,方便开发。
l 一代 IPEX 天线连接器
l 一个下载/调试串口,两个通用串口
l UART1 内置串口电平转换电路,支持 3.3V ,5V 外设串口电平
l 支持4V/5V 供电
l 自弹式 Micro SIM 卡座
l 1 个通用 LED 指示灯
l 标准 2.54mm 13PIN*2 排针
l 1路Speaker音频输出
l 内置硬件看门狗芯片(仅lua版本)
l 内置1个开机按键
l 上电自动开机焊点(开发者可根据需要自行焊接)
(背)
本模块支持 4v/5v 供电。
Air202 S6 开发板支持使用18650等锂电池供电。开发板的 VBAT 针脚直接与模块的供电管脚相连,供电电压范围:3.4V~4.2V。此针脚为主要供电接口,建议用此接口供电。
(背)
Air202 S6 开发板内部集成二极管。它将 5v 管脚的电压降至 4.3V 同时经过大电容稳压后给模块供电。
(背)
请注意 |
Air202 S6 开发板采用二极管降压的方式。模块在射频大功率发射时电源部分会产生较大的电压跌落,容易导致掉电关机或重启,所以这种供电方式仅推荐用于软件下载调试用。 |
Air202 S6 开发板开机只需将 PWRKEY 针脚拉低 2s 即可开机。
(背)
为了测试方便,Air202 S6 内置了一个开机按键,开发者可以通过长按此开机键开机。
(正)
当按下开机键后 5S 内网络指示灯会开始闪烁,表示开机成功。
请注意 |
如果按开机键的时间不足,或者 VBAT 电压小于开机电压 3.5V,模块无法正常开机 |
Air202 S6 开发板支持上电自动开机。开发者可将开发板上的 JP1 跳点用锡短接。开发板上电后会自动开机。
(正)
请注意 |
配置成自动开机后,无法通过软件调用关机接口的方式实现关机,只能通过切断模块供电实现关机 |
在开机状态下将 PWRKEY 针脚拉低或者长按开机键 2S 以上,模块会进入软件关机流程。当网络指示灯不再闪烁时关机流程完成。
另一种方式是通过将 RESET 针脚拉低实现硬件关机,这种关机方式为硬件关机,通常用于在模块死机或异常状态时恢复用。
(背)
请注意 |
RESET 针脚是硬件关机功能,不能实现重启功能,但是在自动开机配置下,拉低 RESET 针脚会将模块关机,随后硬件自动上电开机,从而间接实现重启功能 |
Air202 S6 开发板下载、调试只可使用 HOST 串口。该串口需要通过 USB转TTL 数据线连接 HOST 串口进行下载。
连接方式如下:
请注意 |
应使用串口线5v vcc接模块的5v插针;应使用串口线gnd接模块的gnd插针; 应使用串口线的tx 接模块的rx 插针;应使用串口线的 rx 接模块的tx 插针。 |
Air202 S6 的 UART1 内置了电平转换电路,可以兼容 5V,3.3V 电平的 MCU 串口电平,开发者无需考虑串口电平匹配问题。
请注意 |
1、在连接 Air202 S6 串口时请务必保证外设的接收管脚有内置或外置上拉,否则无法正常通信; 2、Air202 S6 仅可使用 HOST_TX,HOST_RX 下载、调试。模块的 UART1、UART2 不支持下载脚本或基础软件; 3、Air202 S6 的 UART1、UART2 默认波特率为 115200; 4、Air202 S6 的 HOST_TX、HOST_RX的波特率为921600,如果您的串口线不支持该波特率,则可能下载、调试失败; 5、Air202 S6 的 HOST 串口只可使用合宙®的专用工具下载、调试。其他串口调试工具会出现乱码情况。 |
请注意 |
S6 默认没有内置天线,因此在使用时请务必接上天线。 |
天线连接有 3 种方式:
1. 用弹簧天线插在弹簧天线插孔上并焊接好。
2. 用 IPEX 连接器连接在板上的 1 代射频座上。
3. 用相应的 IPEX 连接器连接在模块上的三代射频座上
(正)
Air202 S6 内置 1 个 LED 网络指示灯。
(正)
Luat 出厂默认软件,闪灯规则如下:
网络模式 | 闪灯规则 |
飞行模式 | 常灭 |
未检测到 SIM 卡 | 亮 0.3 秒,灭 5.7 秒 |
检测到 SIM 卡,未注册上 GSM 网络 | 亮 0.3 秒,灭 3.7 秒 |
注册上 GSM 网络,未附着上 GPRS 网络 | 亮 0.3 秒,灭 0.7 秒 |
附着上 GPRS 网络,未连接上服务器 | 亮 0.3 秒,灭 1.7 秒 |
连接上服务器 | 亮 0.1 秒,灭 0.1 秒 |
本模块只可使用官方提供的下载工具进行程序下载、调试工作。
底层软件:也称为基础软件(core)。
底层 lod 由合宙提供,用户不可以进行修改。它是由用C语言开发完成,内嵌了Lua虚拟机,支持上层软件的运行。
不同功能的lod,可为开发者提供不同的额外功能(如tts可提供语音朗读,UI可提供显示屏支持)。
上层软件由合宙提供,用户可进行修改,实现二次开发。
上层软件分为两个部分,分别是基础运行库(lib)和二次开发代码(lua脚本)构成。
请注意 |
lua版模块出厂已经下载默认的底层软件和上层软件。用户可直接上电,使用APP“时间线”查看模块定位,或者使用下载工具查看模块运行情况。 l 开发者可以在wiki (http://wiki.openluat.com) 查询API和相关例程; l 开发者可在github (http://github.com/openLuat) 下载例程代码。 |
Luat下载调试工具是合宙推出的对Air系列模块的调试工具。
该工具有如下功能:
1、对模块打印trace进行输出分析;
2、下载合宙官方lod底层;
3、lua、AT版本互相转化(修改底层lod);
4、下载Lua脚本进行二次开发;
5、使用App验证开发板是否为良品;
6、生成量产文件进行远程升级/批量生产。
工具下载地址及使用教程:http://wiki.openluat.com/doc/tools/
请注意 |
开发者下载前,应先选择适合的 底层软件 和 上层软件。如果上层软件调用了 底层软件 不支持的功能,将出现错误。 日常开发中,仅需下载 上层软件 即可。但是如果重新下载了 底层软件,那么 上层软件 也必须更新。 |
开发者可以从github或者wiki下载例程,并根据自己的需求进行修改。开发者可使用任何编辑器书写代码(如vim、notepad++,vscode等)。
lua代码修改后,无需编译文件,请直接添加到下载工具中,下载到模块内即可。
请注意 |
基于安全设计,代码下载到模块后,无法再从模块中提取。开发者应注意源代码的备份。 |
开发者需要根据下载工具的trace内容(或报错),修改lua代码,再下载调试,重复此步骤直到实现需求。
请注意 |
开发者应该根据Trace输出的内容进行调试。 如需求助,请提供完整的Trace数据。 |
合宙™提供多个API以助开发者更轻松书写代码。具体内容情况请参阅:
http://wiki.openluat.com/doc/modules/extra/extrapi/
A:举个栗子
模块 是电脑,底层软件 是Windows。所有的程序都是在Windows上运行的。用户可以调用Windows提供的API,但是不能修改Windows的代码。
上层软件 是应用程序。上层软件中lib 是运行环境,lua 是开发者写的代码。开发者可以直接调用lib提供的API进行开发,也可以自己修改lib代码,实现其他需求。甚至可以自己根据底层软件提供的API重构代码。
PS:已经有大神做了重构版哦:http://github.com/openLuat/Luat
这样一来,应该可以明白这几者对应的关系了。
A:请检查代码是否有错误,或者模块剩余空间是否不足。
代码 > |
print("mem:",base.collectgarbage("count")) --实时打印已占用的空间。 |
A:因为模块没有GPS芯片,定位功能使用的是基站的三角定位算法。所以定位精度取决于基站的覆盖、后台数据库完备程度。
A:lua代码可以在任何操作系统编辑。但是目前仅可在windows平台使用下载工具,下载到模块中。
A:如下图所示:
底层名称 | 支持功能 | 剩余空间 | |
脚本+资源 | 文件系统 | ||
Luat_VXXXX_8955 | 默认底层 | 512KB | 694KB |
Luat_VXXXX_8955_SSL | 支持SSL功能 | 640KB | 591KB |
Luat_VXXXX_8955_TTS | 支持TTS功能 | 216KB | 214KB |
Luat_VXXXX_8955_UI | 支持SPI接口的LCD | 512KB | 642KB |
Luat_VXXXX_8955_TTS_UI | 支持TTS、SPI接口的LCD | 216KB | 118KB |
Luat_VXXXX_8955_SSL_UI | 支持SSL、SPI接口的LCD | 512KB | 496KB |
剩余空间中“脚本+资源”指:通过烧写工具烧写的文件,例如lua脚本文件,mp3音频文件,图片文件;剩余空间中“文件系统”指:例如脚本运行过程中创建的参数文件,录音文件,远程升级文件等。
请注意 |
如果用到远程升级功能,一定要为远程升级文件预留足够用的空间,至少保留升级bin文件大小+“所有脚本和资源的原始大小之和”的文件系统空间。 |
A:模块主频312MHZ,RAM为32MB,ROM为32MB。
A:这是由于GPRS模块的首要任务是与网络进行通信,所以与网络相关的中断的优先级是最高的,模块每隔4.615ms就要与网络同步一次,并且还要处理网络下发的数据,这个中断,会处理1到2毫秒,在此期间会打断其他所有的中断(包括IO中断);所以GPRS模块的IO的实时性是无法与单片机比较的,哪怕是最便宜的单片机。
Lua脚本中的定时器,支持的最小时长是1毫秒,但是1毫秒的肯定不准确,1秒以内的都不准确。。
如果要利用定时器精确地采集外部的输入脉冲,脉冲频率高于1Hz都不精确;如果对脉冲的采集精度没有要求,则可以根据自己的需求,实际采集一下试试能否满足需求
A:不推荐。 模块自动休眠后,电流过小。充电宝会认为充电充满了,就会关掉输出。开发者可以接到5V充电器,也可以接到电脑USB口。
A:首先请检查代码是否有错。如果代码没错,那么请检查是否和其他代码冲突(如同时配置了gpio和UART)。
请注意 |
一旦配置了UART,对应的cts、rts、txd、rxd均不可以再设置为gpio |
A:所有GPIO均支持输入、输出和中断。
A:详见下表:
状态 | 功耗(mah) |
开机后注册gsm网络,待机 | 3.3 |
开机后注册gsm网络,打开链接并保持(无数据传输) | 4.3 |
每1小时发送1次数据,其他时间飞行模式 | 1.7 |
飞行模式 | 1.0 |
A:请完全断电。需要开机时再拉低PWRKEY上电。
A:模块支持录音。但是Air202 S6没有麦克风。
A:录音文件为amr格式文件,码率为12.2kbps。amr文件头有6字节。每秒有1600字节数据。
录音文件总大小为:6+录音秒数*1600 。
A:不可以。
A:请使用如下代码:
请注意 |
开机后,立即执行此代码,不能正确打印数据;请稍候片刻,初始化成功后才能正确打印数据。 |
A:目前支持移动和联通的流量卡。不支持电信卡。
A:需要修改APN才可以。
A:http://wiki.openluat.com/doc/questions/script/#gprsatluatapn
A:请使用如下代码:
A:请使用如下代码:
请注意 |
开机后,立即执行此代码,不能正确打印数据;请稍候片刻,初始化成功后才能正确打印数据。 |
A:模块默认支持测量电池电压。代码如下:
代码 > |
require"misc" print(misc.getvbatvolt()) |
该代码不可以获取电池电量,电池充放电状态。开发者需要使用其他电源管理模块才可以实现该功能。
A:sn是模块私有的序列号,imei是设备号码,要发到网络的,iccid是sim卡的序列号。imsi是sim卡序列号,但是imsi会发到网络作为交互用,iccid不会。
请注意 |
模块内部默认没有sn号,用户调用misc.setsn()写入之后才有。 |
Q:Luat Air模块的“浅休眠”和“深休眠”有什么区别?
A:深休眠:
代码中调用misc.setflymode(true)进入深休眠, 调用misc.setflymode(false)退出深休眠。 深休眠状态下,会关闭语音和数据业务的协议栈,所以不能收发短信, 不能通话,不能上网进行数据传输,可以正常操作GPIO, 可以正常操作定时器。深休眠状态下的单模块功耗为1mAh, 如果还有GPS,UART等外设在运行,功耗另算。
浅休眠:
一般情况下,用户是不需要写代码去控制进入或者退出浅休眠状态, 系统自动控制进入和退出浅休眠 浅休眠状态下,不会关闭语音和数据业务的协议栈, 所以可以收发短信,可以通话,可以上网进行数据传输,可以正常操作GPIO,可以正常操作定时器 进入浅休眠状态后,收发短信时,会自动退出浅休眠,收发短信结束后,会立即自动进入浅休眠。 进入浅休眠状态后,通话时,会自动退出浅休眠,通话结束后,会立即自动进入浅休眠。 进入浅休眠状态后,数据传输时,会自动退出浅休眠,数据传输结束后,会立即自动进入浅休眠。 浅休眠状态下的单模块功耗为3.3mAh,如果还有GPS,UART等外设在运行,功耗另算。
进入浅休眠状态后,UART无法正常工作,必须先退出浅休眠,UART才能正常收发数据
[network] OPENAT_NetworkStatusChangeInd state 0:网络断开,表示GPRS网络不可用,无法进行数据连接,有可能可以打电话
[network] OPENAT_NetworkStatusChangeInd state 1:网络已连接表示GPRS网络可用,可以进行链路激活
[network] OPENAT_NetworkStatusChangeInd state 2:链路正在激活
[network] OPENAT_NetworkStatusChangeInd state 3:链路已经激活PDP已经激活,可以通过socket接口建立数据连接
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!