202 lines
4.4 KiB
Go
202 lines
4.4 KiB
Go
package main
|
|
|
|
import (
|
|
"encoding/json"
|
|
"fmt"
|
|
"log"
|
|
"os"
|
|
"path/filepath"
|
|
)
|
|
|
|
var exeCurDir string
|
|
|
|
|
|
/**************获取配置信息************************/
|
|
func getConf(){
|
|
exeCurDir, _ = filepath.Abs(filepath.Dir(os.Args[0]))
|
|
log.Println(exeCurDir)
|
|
|
|
//if serialParaRead(&serialParamList) == true{
|
|
// fmt.Println("read serialParam",serialParamList)
|
|
//}
|
|
|
|
if networkParaRead(&networkParamList) == true{
|
|
for _,v := range networkParamList.NetworkParam{
|
|
log.Printf("networkParam %s,%+v\n",v.Name,v)
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
func FileExist(path string) bool {
|
|
_, err := os.Lstat(path)
|
|
return !os.IsNotExist(err)
|
|
}
|
|
|
|
/*
|
|
func serialParaRead(param *SerialParamList) bool{
|
|
|
|
fileDir := exeCurDir + "/selfpara/serialpara.json"
|
|
|
|
if FileExist(fileDir) == true{
|
|
fp, err := os.OpenFile(fileDir, os.O_RDONLY, 0777)
|
|
if err != nil{
|
|
fmt.Println("open serialpara.json err",err)
|
|
return false
|
|
}
|
|
defer fp.Close()
|
|
|
|
data := make([]byte, 500)
|
|
dataCnt, err := fp.Read(data)
|
|
|
|
err = json.Unmarshal(data[:dataCnt],param)
|
|
if err != nil{
|
|
fmt.Println("serialpara unmarshal err",err)
|
|
|
|
serialParamList.SerialParam = append(serialParamList.SerialParam,SerialParam{
|
|
Name : "/dev/ttyUSB1",
|
|
BaudRate : "9600",
|
|
DataBits : "8",
|
|
StopBits : "1",
|
|
Parity : "N",
|
|
Timeout : "1000"})
|
|
serialParaWrite(serialParamList)
|
|
|
|
return false
|
|
}
|
|
return true
|
|
}else{
|
|
fmt.Println("/opt/ibox/selfpara/serialpara.json is not exist")
|
|
|
|
os.MkdirAll(exeCurDir+"/selfpara", os.ModePerm)
|
|
fileDir = exeCurDir + "/selfpara/serialpara.json"
|
|
fp, err := os.Create(fileDir)
|
|
if err != nil{
|
|
fmt.Println("create serialpara.json err",err)
|
|
return false
|
|
}
|
|
defer fp.Close()
|
|
|
|
serialParamList.SerialParam = append(serialParamList.SerialParam,SerialParam{
|
|
ID : "1",
|
|
Name : "/dev/ttyUSB1",
|
|
BaudRate : "9600",
|
|
DataBits : "8",
|
|
StopBits : "1",
|
|
Parity : "N",
|
|
Timeout : "1000"})
|
|
serialParamList.SerialParam = append(serialParamList.SerialParam,SerialParam{
|
|
ID : "2",
|
|
Name : "/dev/ttyUSB2",
|
|
BaudRate : "9600",
|
|
DataBits : "8",
|
|
StopBits : "1",
|
|
Parity : "N",
|
|
Timeout : "1000"})
|
|
serialParaWrite(serialParamList)
|
|
|
|
return true
|
|
}
|
|
}
|
|
|
|
|
|
func serialParaWrite(param SerialParamList){
|
|
|
|
fileDir := exeCurDir + "/selfpara/serialpara.json"
|
|
|
|
fp, err := os.OpenFile(fileDir, os.O_RDWR|os.O_CREATE|os.O_TRUNC, 0777)
|
|
if err != nil {
|
|
fmt.Println("open serialpara.json err",err)
|
|
return
|
|
}
|
|
defer fp.Close()
|
|
|
|
sJson,_ := json.Marshal(param)
|
|
fmt.Println(string(sJson))
|
|
|
|
_, err = fp.Write(sJson)
|
|
if err != nil {
|
|
fmt.Println("write serialpara.json err",err)
|
|
}
|
|
fmt.Println("write serialpara.json sucess")
|
|
}
|
|
|
|
*/
|
|
|
|
func networkParaRead(param *NetworkParamList) bool{
|
|
|
|
fileDir := exeCurDir + "/selfpara/networkpara.json"
|
|
|
|
if FileExist(fileDir) == true {
|
|
fp, err := os.OpenFile(fileDir, os.O_RDONLY, 0777)
|
|
if err != nil {
|
|
fmt.Println("open networkpara.json err", err)
|
|
return false
|
|
}
|
|
defer fp.Close()
|
|
|
|
data := make([]byte, 500)
|
|
dataCnt, err := fp.Read(data)
|
|
|
|
//fmt.Println(string(data[:dataCnt]))
|
|
|
|
err = json.Unmarshal(data[:dataCnt], param)
|
|
if err != nil {
|
|
fmt.Println("networkpara unmarshal err", err)
|
|
|
|
return false
|
|
}
|
|
return true
|
|
}else{
|
|
fmt.Println("networkpara.json is not exist")
|
|
|
|
|
|
os.MkdirAll(exeCurDir + "/selfpara", os.ModePerm)
|
|
fp, err := os.Create(fileDir)
|
|
if err != nil{
|
|
fmt.Println("create networkpara.json err",err)
|
|
return false
|
|
}
|
|
defer fp.Close()
|
|
|
|
networkParamList.NetworkParam = append(networkParamList.NetworkParam,NetworkParam{
|
|
ID : "1",
|
|
Name : "eth0",
|
|
DHCP : "1",
|
|
IP : "192.168.4.156",
|
|
Netmask : "255.255.255.0",
|
|
Broadcast : "192.168.4.255"})
|
|
networkParamList.NetworkParam = append(networkParamList.NetworkParam,NetworkParam{
|
|
ID : "2",
|
|
Name : "eth1",
|
|
DHCP : "1",
|
|
IP : "192.168.4.156",
|
|
Netmask : "255.255.255.0",
|
|
Broadcast : "192.168.4.255"})
|
|
networkParaWrite(networkParamList)
|
|
|
|
return true
|
|
}
|
|
}
|
|
|
|
func networkParaWrite(param NetworkParamList){
|
|
|
|
fileDir := exeCurDir + "/selfpara/networkpara.json"
|
|
|
|
fp, err := os.OpenFile(fileDir, os.O_RDWR|os.O_CREATE|os.O_TRUNC, 0777)
|
|
if err != nil {
|
|
fmt.Println("open networkpara.json err",err)
|
|
}
|
|
defer fp.Close()
|
|
|
|
sJson,_ := json.Marshal(param)
|
|
fmt.Println(string(sJson))
|
|
|
|
_, err = fp.Write(sJson)
|
|
if err != nil {
|
|
fmt.Println("write networkpara.json err",err)
|
|
}
|
|
fp.Sync()
|
|
}
|
|
|