代码修改完成

This commit is contained in:
wyh 2022-03-07 08:37:38 +08:00
parent b86186937b
commit 830d011c1d
2 changed files with 29 additions and 14 deletions

View File

@ -31,10 +31,11 @@ func main() {
//ble服务
service.BleDelivery()
go service.BleMessagePush()
go service.BleCacheClear()
go service.Bletokeninit()
go service.BleHeartBeat()
go service.BleWriteMqtt()
// go service.BleMessagePush()
// go service.BleCacheClear()
// go service.Bletokeninit()
// go service.BleHeartBeat()
go gin.Service(&gin.Config{
RootPath: APPNAME,

View File

@ -20,14 +20,14 @@ import (
"myschools.me/wyh/ble-april/mosquitto"
)
var m map[string]*IBeancon
var chn chan *IBeancon
var m map[string]*BeaconApril
var chn chan *BeaconApril
var token string
var expiretime time.Time
func init() {
m = make(map[string]*IBeancon, 500)
chn = make(chan *IBeancon, 500)
m = make(map[string]*BeaconApril, 500)
chn = make(chan *BeaconApril, 500)
}
type Bletoken struct {
@ -117,11 +117,7 @@ var serviceHandler MQTT.MessageHandler = func(client MQTT.Client, msg MQTT.Messa
// 解析out1.device
bles := BleDecode(out1["devices"].([]interface{}))
for _, d := range bles {
chn <- &IBeancon{
DeviceID: fmt.Sprintf("%s:%s:%s:%s:%s:%s", d.Mac[0:2], d.Mac[2:4], d.Mac[4:6], d.Mac[6:8], d.Mac[8:10], d.Mac[10:12]),
HappenTime: time.Now(),
Updated: time.Now().Unix(),
}
chn <- d
}
}
@ -135,6 +131,20 @@ func BleDelivery() {
}
func BleWriteMqtt() {
topic := "april"
for {
if b, ok := <-chn; ok {
if err := mosquitto.DistributeObject(&topic, 1, false, b); err != nil {
logrus.WithFields(logrus.Fields{
"func": "BleWriteMqtt",
}).Warnf("mosquitto.DistributeObject: %s", err.Error())
continue
}
}
}
}
// 取出数据进行处理
func BleMessagePush() {
@ -186,7 +196,7 @@ func BleMessagePush() {
continue
}
if i["msg"] == "ok" {
m[b.DeviceID] = b
m[b.Mac] = b
}
}
@ -293,6 +303,8 @@ type BeaconApril struct {
Mac string
Rssi string
AdvertisementData string
HappenTime time.Time
Updated int64 `json:"-"`
}
// func NewiBeacon(data []byte, mac string) (*IBeancon, error) {
@ -337,6 +349,8 @@ func BleDecode(data []interface{}) []*BeaconApril {
Mac: vals[2:14],
Rssi: vals[14:16],
AdvertisementData: vals[16:],
HappenTime: time.Now(),
Updated: time.Now().Unix(),
})
}
return bles