| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- package main
- import (
- "time"
- "github.com/sirupsen/logrus"
- "lc/common/onvif/discovery"
- "lc/common/util"
- )
- // /usr/local/srs/objs srs的服务器路径
- //球机 一键报警
- var gopool *util.Pool
- var IDGen util.IdWorker
- var appname = "camera"
- var appversion = "1.0.1"
- func DiscoveryCamera(args ...interface{}) interface{} {
- for {
- devices, err := discovery.StartDiscovery(5 * time.Second)
- if err == nil && len(devices) > 0 {
- for _, d := range devices {
- err := GetLcDeviceMgr().Update(d.ID, d.XAddr)
- if err != nil {
- logrus.Warnf("DiscoveryCamera.Update:未配置该ID[%s],addr[%s]", d.ID, d.XAddr)
- }
- logrus.Infof("DiscoveryCamera.Update:ID[%s],addr[%s]", d.ID, d.XAddr)
- }
- }
- time.Sleep(10 * time.Minute)
- }
- return 0
- }
- func GetNextUint64() uint64 {
- u64, err := IDGen.NextId()
- if err != nil {
- logrus.Errorf("IDGen.NextId发生错误:%s", err.Error())
- u64 = util.MlNow().Unix()
- }
- return uint64(u64)
- }
- func main() {
- util.InitLogrus("release")
- if err := loadAppConfig(); err != nil {
- logrus.Errorf("加载app.json失败:%s", err.Error())
- return
- }
- IDGen.InitIdWorker(1000, 1)
- GetMQTTMgr()
- if err := GetLcDeviceMgr().initAllLcDevice(); err != nil {
- logrus.Errorf("调用initAllLcDevice失败:%s", err.Error())
- return
- }
- gopool = util.NewPool(5)
- gopool.Add(DiscoveryCamera, 1) //发现摄像头
- gopool.Add(GetMQTTMgr().MQTTMessageHandle, 2) //发布进程
- gopool.Add(GetMQTTMgr().MQTTConnectMgr, 3) //保持连接
- gopool.Add(GetLcDeviceMgr().Handle, 4) //mqtt来消息执行
- gopool.Run()
- gopool.Wait()
- }
|