代码修改完成
This commit is contained in:
parent
b86186937b
commit
830d011c1d
9
main.go
9
main.go
|
|
@ -31,10 +31,11 @@ func main() {
|
||||||
|
|
||||||
//ble服务
|
//ble服务
|
||||||
service.BleDelivery()
|
service.BleDelivery()
|
||||||
go service.BleMessagePush()
|
go service.BleWriteMqtt()
|
||||||
go service.BleCacheClear()
|
// go service.BleMessagePush()
|
||||||
go service.Bletokeninit()
|
// go service.BleCacheClear()
|
||||||
go service.BleHeartBeat()
|
// go service.Bletokeninit()
|
||||||
|
// go service.BleHeartBeat()
|
||||||
|
|
||||||
go gin.Service(&gin.Config{
|
go gin.Service(&gin.Config{
|
||||||
RootPath: APPNAME,
|
RootPath: APPNAME,
|
||||||
|
|
|
||||||
|
|
@ -20,14 +20,14 @@ import (
|
||||||
"myschools.me/wyh/ble-april/mosquitto"
|
"myschools.me/wyh/ble-april/mosquitto"
|
||||||
)
|
)
|
||||||
|
|
||||||
var m map[string]*IBeancon
|
var m map[string]*BeaconApril
|
||||||
var chn chan *IBeancon
|
var chn chan *BeaconApril
|
||||||
var token string
|
var token string
|
||||||
var expiretime time.Time
|
var expiretime time.Time
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
m = make(map[string]*IBeancon, 500)
|
m = make(map[string]*BeaconApril, 500)
|
||||||
chn = make(chan *IBeancon, 500)
|
chn = make(chan *BeaconApril, 500)
|
||||||
}
|
}
|
||||||
|
|
||||||
type Bletoken struct {
|
type Bletoken struct {
|
||||||
|
|
@ -117,11 +117,7 @@ var serviceHandler MQTT.MessageHandler = func(client MQTT.Client, msg MQTT.Messa
|
||||||
// 解析out1.device
|
// 解析out1.device
|
||||||
bles := BleDecode(out1["devices"].([]interface{}))
|
bles := BleDecode(out1["devices"].([]interface{}))
|
||||||
for _, d := range bles {
|
for _, d := range bles {
|
||||||
chn <- &IBeancon{
|
chn <- d
|
||||||
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(),
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -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() {
|
func BleMessagePush() {
|
||||||
|
|
||||||
|
|
@ -186,7 +196,7 @@ func BleMessagePush() {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
if i["msg"] == "ok" {
|
if i["msg"] == "ok" {
|
||||||
m[b.DeviceID] = b
|
m[b.Mac] = b
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -293,6 +303,8 @@ type BeaconApril struct {
|
||||||
Mac string
|
Mac string
|
||||||
Rssi string
|
Rssi string
|
||||||
AdvertisementData string
|
AdvertisementData string
|
||||||
|
HappenTime time.Time
|
||||||
|
Updated int64 `json:"-"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// func NewiBeacon(data []byte, mac string) (*IBeancon, error) {
|
// func NewiBeacon(data []byte, mac string) (*IBeancon, error) {
|
||||||
|
|
@ -337,6 +349,8 @@ func BleDecode(data []interface{}) []*BeaconApril {
|
||||||
Mac: vals[2:14],
|
Mac: vals[2:14],
|
||||||
Rssi: vals[14:16],
|
Rssi: vals[14:16],
|
||||||
AdvertisementData: vals[16:],
|
AdvertisementData: vals[16:],
|
||||||
|
HappenTime: time.Now(),
|
||||||
|
Updated: time.Now().Unix(),
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
return bles
|
return bles
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue