Files
BR_YKC/4G/源代码/core/main.lua

48 lines
1.2 KiB
Lua
Raw Normal View History

2026-04-30 17:16:01 +08:00
-- main.lua
-- 功能:初始化硬件、网络、串口,注册回调,启动系统
2026-03-31 15:46:04 +08:00
PROJECT = "4G_NETWORK"
VERSION = "1.0.0"
require "sys"
require "net"
require "log"
require "uart"
2026-04-30 17:16:01 +08:00
require "netLed"
require "pmd"
2026-03-31 15:46:04 +08:00
2026-04-30 17:16:01 +08:00
-- 初始化UART1
local uartID = 1
uart.setup(uartID, 115200, 8, uart.PAR_NONE, uart.STOP_1)
2026-03-31 15:46:04 +08:00
-- 启动网络指示灯功能模块
2026-04-30 17:16:01 +08:00
pmd.ldoset(2, pmd.LDO_VLCD)
netLed.setup(true, pio.P0_1, pio.P0_4)
2026-03-31 15:46:04 +08:00
2026-04-30 17:16:01 +08:00
-- 初始化网络
net.startQueryAll(8 * 1000, 60 * 1000)
ril.request("AT+RNDISCALL=0,1")
2026-03-31 15:46:04 +08:00
2026-04-30 17:16:01 +08:00
-- 加载自定义模块(必须放在网络初始化之后)
local cmd = require "cmd"
local linksocket = require "linksocket"
2026-03-31 15:46:04 +08:00
2026-04-30 17:16:01 +08:00
-- 注册Socket数据接收回调
linksocket.setRecvCallback(function(socketId, data)
-- 打包帧格式55 AA 01 id len data AA 55
local frame = string.char(0x55, 0xAA, 0x01, socketId, #data) .. data .. string.char(0xAA, 0x55)
uart.write(uartID, frame)
log.info("Forward data from socket", socketId, "len=", #data)
end)
2026-03-31 15:46:04 +08:00
2026-04-30 17:16:01 +08:00
-- 串口数据接收处理
2026-03-31 15:46:04 +08:00
uart.on(uartID, "receive", function()
local data = uart.read(uartID, 300)
2026-04-30 17:16:01 +08:00
if data and #data > 0 then
cmd.process(data)
2026-03-31 15:46:04 +08:00
end
end)
2026-04-30 17:16:01 +08:00
-- 启动系统
2026-03-31 15:46:04 +08:00
sys.init(0, 0)
sys.run()