Files
BR_YKC/4G/code/core/main.lua
2026-03-31 15:46:04 +08:00

65 lines
1.4 KiB
Lua

--- testSocket
-- @module asyncSocket
-- @author AIRM2M
-- @license MIT
-- @copyright openLuat.com
-- @release 2018.10.27
PROJECT = "4G_NETWORK"
VERSION = "1.0.0"
require "sys"
require "net"
require "log"
require "cmd"
require "uart"
require "linksocket"
-- 初始化 UART1
uart.setup(1, 115200, 8, uart.PAR_NONE, uart.STOP_1)
-- 启动网络指示灯功能模块
require "netLed"
pmd.ldoset(2,pmd.LDO_VLCD)
netLed.setup(true,pio.P0_1,pio.P0_4)
local uartID = 1
local function toHexcode(str)
local hexcode = ""
for i = 1, #str do
hexcode = hexcode .. string.format("%02X", str:byte(i))
end
return hexcode
end
uart.on(uartID, "receive", function()
local data = uart.read(uartID, 300)
if data and type(data) == "string" and #data > 0 then
log.info("UART received:", toHexcode(data))
if data:byte(1) == 0x55 and data:byte(2) == 0xAA and data:byte(-2) == 0xAA and data:byte(-1) == 0x55 then
local Main_Cmd = data:byte(3)
local Sub_Cmd = data:byte(4)
local payload = data:sub(5, -3)
if Main_Cmd ==0x01 then
handleCmd01(Sub_Cmd, payload)
end
if Main_Cmd == 0x02 then
handleCmd02(Sub_Cmd, payload)
end
end
else
log.warn("UART receive callback triggered but no valid data")
end
end)
net.startQueryAll(8 * 1000, 60 * 1000)
ril.request("AT+RNDISCALL=0,1")
sys.init(0, 0)
sys.run()