66 lines
1.1 KiB
Lua
66 lines
1.1 KiB
Lua
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
PROJECT = "4G_NETWORK"
|
||
|
|
VERSION = "1.0.0"
|
||
|
|
|
||
|
|
require "sys"
|
||
|
|
require "net"
|
||
|
|
require "log"
|
||
|
|
require "cmd"
|
||
|
|
require "uart"
|
||
|
|
require "linksocket"
|
||
|
|
|
||
|
|
|
||
|
|
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()
|