|
NB73.lua
(2.06 KB, 下载次数: 4)
接线方法:
TOOL NB73
TVCC --- VCC
GND --- GND
TTLTX --- RX
TTLRX --- TX
测试说明:
1、缺省9600波特率,AT指令集
2、依次发AT指令查询模块编号、SIM卡号、信号质量
3、返回结果中搜索OK判断成功与否
4、判断信号RSSI范围(小于25)
5、可显示模块电流,如有需要可对电流范围进行判断
Lua程序:
--F01=自动测试,TestNB73()
beep()
--成功叫一声,失败叫三声
function TestErr(void)
print("测试失败")
beep()
delayms(100)
beep()
delayms(100)
beep()
end
function TestOk(void)
print("测试通过")
beep()
end
--测试NB73硬件功能
function TestNB73(void)
local COM_485 = 1
local Parity = 0
local DataBits = 8
local StopBits = 1
local tx_str
local rx_str
local rx_len
local str
local curr
local volt
local ret = "OK"
local pos
local rssi = 99
print("开始测试NB73")
beep()
write_reg16(0x01FF,2) --启动ADC模式2,低速扫描测电流
uart_cfg(COM_485, 9600, Parity, DataBits, StopBits)
volt = read_analog(4)
curr = read_analog(5)
str = string.format("电压 %0.1fV 电流 %0.1fmA", volt, curr)
print(str)
print("1.查询IEMI")
tx_str = "AT+CGSN=1\r\n"
uart_send(COM_485, tx_str)
rx_len, rx_str = uart_recive(COM_485, 100, 100)
print(tx_str..rx_str)
if (string.find(rx_str,'OK') == nil) then
ret = "ERROR"
goto quit_err
end
print("2.查询SN")
tx_str = "AT+SN\r\n"
uart_send(COM_485, tx_str)
rx_len, rx_str = uart_recive(COM_485, 100, 100)
print(tx_str..rx_str)
if (string.find(rx_str,'OK') == nil) then
ret = "ERROR"
goto quit_err
end
print("3.查询智能卡号")
tx_str = "AT+NCCID?\r\n"
uart_send(COM_485, tx_str)
rx_len, rx_str = uart_recive(COM_485, 100, 100)
print(tx_str..rx_str)
if (string.find(rx_str,'OK') == nil) then
ret = "ERROR"
goto quit_err
end
print("4.查询信号质量")
tx_str = "AT+CSQ\r\n"
uart_send(COM_485, tx_str)
rx_len, rx_str = uart_recive(COM_485, 100, 100)
print(tx_str..rx_str)
if (string.find(rx_str,'OK') == nil) then
ret = "ERROR"
goto quit_err
end
--判断信号质量
pos = string.find(rx_str,'+CSQ:')
if (pos ~= nil) then
rx_str = string.sub(rx_str, pos + 5, pos + 6)
rssi = tonumber(rx_str)
print("rssi = ", rssi)
else
goto quit_err
end
if (rssi > 25) then
print("信号质量很差")
goto quit_err
end
::quit_err::
if (ret == "OK") then
TestOk()
else
TestErr()
end
return ret
end
运行结果:
|
|