|
|
@@ -3,13 +3,13 @@ package main
|
|
|
import (
|
|
|
"fmt"
|
|
|
"os"
|
|
|
+ "strings"
|
|
|
"time"
|
|
|
|
|
|
gps "hnyfkj.com.cn/rtu/linux/air530z"
|
|
|
baseapp "hnyfkj.com.cn/rtu/linux/baseapp"
|
|
|
camera1 "hnyfkj.com.cn/rtu/linux/camera"
|
|
|
netmgrd "hnyfkj.com.cn/rtu/linux/netmgrd"
|
|
|
- "hnyfkj.com.cn/rtu/linux/sshd"
|
|
|
)
|
|
|
|
|
|
const (
|
|
|
@@ -109,25 +109,22 @@ func main() {
|
|
|
// 03, 初始化网络管理模块
|
|
|
netmgrd.ModuleInit()
|
|
|
netmgrd.WaitAllOK(time.Duration(10) * time.Second) // 等待联网成功和网路时间同步成功
|
|
|
+ go writeDeviceIMEI()
|
|
|
|
|
|
- // 04, 初始化远程运维模块, Todo: 根据项目不同, 远程运维连接的MQTT服务器不同, 具体看情况
|
|
|
- sshd.ModuleInit("", "", "")
|
|
|
-
|
|
|
- // 05, 初始化相机拍照模块
|
|
|
+ // 04, 初始化相机拍照模块
|
|
|
if !camera1.ModuleInit(true, "192.168.100.123/24", "192.168.100.100/24") {
|
|
|
goto end_p
|
|
|
}
|
|
|
|
|
|
- // 06, 初始化与控制板通信, Todo: 根据项目不同, 使用的控制版硬件和协议都不同, 具体看情况
|
|
|
+ // 05, 初始化与控制板通信, Todo: 根据项目不同, 使用的控制版硬件和协议都不同, 具体看情况
|
|
|
|
|
|
- // 07, 后台服务器业务交互, Todo: 根据项目不同, 实现具体的业务逻辑协议都不同, 具体看情况
|
|
|
+ // 06, 后台服务器业务交互, Todo: 根据项目不同, 实现具体的业务逻辑协议都不同, 具体看情况
|
|
|
|
|
|
- // 08, 阻塞等待退出信号量
|
|
|
+ // 07, 阻塞等待退出信号量
|
|
|
<-baseapp.IsExit2()
|
|
|
|
|
|
- // 09, 退出程序并释放资源
|
|
|
+ // 08, 退出程序并释放资源
|
|
|
end_p:
|
|
|
- sshd.ModuleExit()
|
|
|
netmgrd.ModemExit()
|
|
|
gps.ModuleExit()
|
|
|
|
|
|
@@ -145,3 +142,14 @@ func help() {
|
|
|
|
|
|
fmt.Println(h)
|
|
|
}
|
|
|
+
|
|
|
+func writeDeviceIMEI() {
|
|
|
+ for {
|
|
|
+ imei := netmgrd.GetIMEI()
|
|
|
+ if imei == netmgrd.ErrUnknownModemTypeMsg || imei == "" {
|
|
|
+ continue
|
|
|
+ }
|
|
|
+ os.WriteFile("/var/device_imei.txt", []byte(strings.TrimSpace(imei)+"\n"), 0644)
|
|
|
+ break
|
|
|
+ }
|
|
|
+}
|