sim-modem/main.go

132 lines
3.4 KiB
Go
Raw Normal View History

2024-07-18 16:34:26 +00:00
package main
import (
"log"
2024-07-23 16:02:28 +00:00
"os"
2024-07-22 15:53:34 +00:00
2024-08-08 10:26:33 +00:00
"gitea.unprism.ru/KRBL/sim-modem/api/modem"
2024-08-09 15:17:20 +00:00
"gitea.unprism.ru/KRBL/sim-modem/api/modem/at"
2024-07-18 16:34:26 +00:00
)
func main() {
log.Println("CGSG forever!!!")
if err := mainE(); err != nil {
log.Println("MAIN finished with error:", err.Error())
}
log.Println("END")
}
func mainE() error {
2024-08-06 17:37:20 +00:00
logger := log.New(os.Stdout, "main : ", log.LstdFlags)
m := modem.New(log.New(logger.Writer(), "modem : ", log.LstdFlags))
2024-08-09 08:21:02 +00:00
2024-08-02 16:43:15 +00:00
logger.Println("||||||||||||||||| INIT |||||||||||||||")
2024-07-23 14:59:26 +00:00
if err := m.Init(); err != nil {
2024-08-07 14:34:56 +00:00
logger.Println("Init ended with error:", err.Error())
logger.Println("Try to turn on")
if err := m.PowerOn(); err != nil {
return err
}
logger.Println("Reinit")
if err := m.Init(); err != nil {
return err
}
2024-07-23 14:59:26 +00:00
}
2024-08-06 17:37:20 +00:00
if !m.IsConnected() {
logger.Println("AAAAAAAAAAAAAAA Modem is not connected")
2024-07-26 19:58:34 +00:00
return nil
}
2024-08-09 08:21:02 +00:00
2024-08-09 15:17:20 +00:00
// logger.Println("||||||||||||||||| GET INFO |||||||||||||||||")
// logger.Println(m.Update())
// logger.Printf("DATA: %+v\n", m.GetData())
2024-07-29 13:51:54 +00:00
2024-08-09 15:17:20 +00:00
logger.Println("||||||||||||||||| SMS |||||||||||||||||")
// resp, err := m.At().Send("AT+CNUM")
// logger.Println("CNUM:", resp, err)
2024-08-09 08:42:55 +00:00
// // if err := m.Sms().Send("+79218937173", "CGSG forever"); err != nil {
// // return err
// // }
// if ms, err := m.Sms().ReadNew(); err != nil {
2024-07-29 17:03:22 +00:00
// return err
2024-08-09 08:42:55 +00:00
// } else {
// logger.Println("NEW:", ms)
2024-07-29 17:03:22 +00:00
// }
2024-08-09 15:17:20 +00:00
Cmd := func(cmd string) {
resp, err := m.At().Send(cmd)
logger.Println(cmd, "===>", resp, err)
}
_ = Cmd
var resp at.Resp
var err error
buf := make([]byte, 256)
_ = resp
_ = err
_ = buf
// Select ME PMS
// resp, err = m.At().Send("AT+CPMS=?")
// logger.Println("Possible mem storages:", resp, err)
// resp, err = m.At().Send("AT+CPMS?")
// logger.Println("Prefered mem storage:", resp, err)
// Cmd("AT")
// logger.Println("SEND SMS")
// logger.Println(m.Sms().Send("+79218937173", "CGSG forever!!!"))
// m.At().RawSend("\r\n\x1A\r\n")
for {
readLen, err := m.At().SerialPort().Read(buf)
if err != nil {
return err
}
if readLen > 0 {
logger.Println(string(buf[:readLen]))
}
2024-08-02 16:43:15 +00:00
}
2024-08-09 15:17:20 +00:00
// resp, err = m.At().Send("AT+CPMS?")
// logger.Println("Prefered mem storage:", resp, err)
// resp, err = m.At().Send("AT+CREG?")
// logger.Println("Network registration:", resp, err)
// resp, err = m.At().Send("AT+CPMS?")
// logger.Println("Prefered mem storage:", resp, err)
// resp, err = m.At().Send("AT+CPMS=?")
// logger.Println("Possible mem storage:", resp, err)
// resp, err = m.At().Send("AT+CNMI?")
// logger.Println("New message indications:", resp, err)
// resp, err = m.At().Send("AT+CMGL=\"REC UNREAD\"")
// logger.Println("New messages:", resp, err)
// resp, err = m.At().Send("AT+CNMI=2,1")
// logger.Println("AT+CNMI=2,1:", resp, err)
// resp, err = m.At().Send("AT+CNMI?")
// logger.Println("New message indications:", resp, err)
// logger.Println("Reading port...")
// for {
// readLen, err := m.At().SerialPort().Read(buf)
// if err != nil {
// return err
// }
// if readLen > 0 {
// logger.Println(string(buf[:readLen]))
// }
// }
// for {
// resp, err = m.At().Send("AT+CSQ")
// logger.Println("AT+CSQ:", resp, err)
// time.Sleep(500 * time.Millisecond)
// }
// logger.Println("||||||||||||||||| Checking gps status |||||||||||||||||")
// st, err := m.Gps().GetStatus()
// if err != nil {
// return err
// }
// logger.Printf("GPS Status:%+v\n", st)
2024-07-29 17:03:22 +00:00
2024-08-07 14:34:56 +00:00
// logger.Println("Turn off", m.PowerOff())
2024-07-23 14:59:26 +00:00
return nil
2024-07-18 16:34:26 +00:00
}