diff --git a/conf/gateway.conf b/conf/gateway.conf index 196af62..2346668 100644 --- a/conf/gateway.conf +++ b/conf/gateway.conf @@ -109,10 +109,10 @@ }, { "adrh":0, - "adrl":0, + "adrl":1, "type":0, "version":"yunhorn_ys_l_v1", - "flip":false, + "flip":true, "id":"018B5704-55BE-40CA-9D3E-90EF157C2489" } ], diff --git a/conf/gateway.conf.0314 b/conf/gateway.conf.0314 new file mode 100644 index 0000000..750223d --- /dev/null +++ b/conf/gateway.conf.0314 @@ -0,0 +1,114 @@ +{ + "gateway_info": { + "id": "F23FACD2-7D85-4FCC-88E3-C5B78931A26D", + "version": "yunhorn_gw_c_v1", + "location": [113.960347, 22.54143], + "单位": "深圳市云兴科技", + "config": [{ + "id": "EC13C2D9-6A93-4894-BB5B-89BDAA786D8A", + "version": "yunhorn_kgl_c8_v1", + "data": [ + ["男厕位", 1], + ["男厕位", 2], + ["男厕位", 3], + ["男厕位", 4], + ["男厕位", 5], + ["男厕位", 6], + ["男厕位", 7], + ["男厕位", 8] + ] + }, { + "id": "82BF7B5E-EC0D-4DB6-807F-B097C3C84073", + "version": "yunhorn_kgl_c8_v1", + "data": [ + ["母婴", 1], + ["残卫", 1], + ["残卫", 2], + ["男便池", 4], + ["男便池", 5], + ["男便池", 6], + ["男便池", 7], + ["男便池", 8] + ] + }, { + "id": "F5B7FDCC-79A8-499E-A925-F2FF357BE30D", + "version": "yunhorn_kgl_c8_v1", + "data": [ + ["男厕位", 9], + ["男厕位", 10], + ["女厕位", 14], + ["女厕位", 15], + ["女厕位", 16], + ["女厕位", 17], + ["女厕位", 18], + [null, null] + ] + }, + { + "id": "00DD66A6-378E-450D-98AA-44AC02741980", + "version": "yunhorn_kgl_c16_v1", + "data": [ + ["女厕位", 1], + ["女厕位", 2], + ["女厕位", 3], + ["女厕位", 4], + ["女厕位", 5], + ["女厕位", 6], + ["女厕位", 7], + ["女厕位", 8], + ["女厕位", 9], + ["女厕位", 10], + ["女厕位", 11], + ["女厕位", 12], + ["女厕位", 13], + ["男便池", 1], + ["男便池", 2], + ["男便池", 3] + ] + }, + { + "id": "4E5D52DD-EB81-43C0-A2B6-04E432412EBA", + "version": "yunhorn_kgl_l_v1", + "data": [ + ["纸巾卷", 1] + ] + } + ] + }, + "devices_list": [ + ["15394892-E8B0-4FF2-BC35-1BF380BD1B68", "port1", "yunhorn_xsy_l_v1", "1"] + ], + "serialports_list": { + "port1": { + "com": "/dev/ttyUSB0", + "bauds": 9600, + "size": 8, + "parity": "N", + "stopbits": 1, + "readtimeout": 1000, + "note": "液位" + } + }, + "rs485devices": { + "15394892-E8B0-4FF2-BC35-1BF380BD1B68": { + "version": "yunhorn_xsy_l_v1", + "num": "1", + "command": [ + [8, 3, 0, 1, 0, 2, 149, 82] + ] + } + }, + "loradevices_list": { + "4E5D52DD-EB81-43C0-A2B6-04E432412EBA": { + "version": "yunhorn_zjj_l_v1", + "num": "1", + "command": [ + [85, 2, 242, 170] + ] + } + }, + "iconurl": "http://192.168.3.188/icons/", + "websocketurl": ["192.168.3.216:8080", "/echo"], + "post_to_server": "https://smartoilets.cn/socketServer/statis/push", + "debug": true +} diff --git a/conf/gateway.conf.0318 b/conf/gateway.conf.0318 new file mode 100644 index 0000000..b5712da --- /dev/null +++ b/conf/gateway.conf.0318 @@ -0,0 +1,121 @@ +{ + "gateway_info": { + "id": "F23FACD2-7D85-4FCC-88E3-C5B78931A26D", + "version": "yunhorn_gw_c_v1", + "location": [113.960347, 22.54143], + "单位": "深圳市云兴科技", + "config": [{ + "id": "EC13C2D9-6A93-4894-BB5B-89BDAA786D8A", + "version": "yunhorn_kgl_c8_v1", + "data": [ + ["男厕位", 1], + ["男厕位", 2], + ["男厕位", 3], + ["男厕位", 4], + ["男厕位", 5], + ["男厕位", 6], + ["男厕位", 7], + ["男厕位", 8] + ] + }, { + "id": "82BF7B5E-EC0D-4DB6-807F-B097C3C84073", + "version": "yunhorn_kgl_c8_v1", + "data": [ + ["母婴", 1], + ["残卫", 1], + ["残卫", 2], + ["男便池", 4], + ["男便池", 5], + ["男便池", 6], + ["男便池", 7], + ["男便池", 8] + ] + }, { + "id": "F5B7FDCC-79A8-499E-A925-F2FF357BE30D", + "version": "yunhorn_kgl_c8_v1", + "data": [ + ["男厕位", 9], + ["男厕位", 10], + ["女厕位", 14], + ["女厕位", 15], + ["女厕位", 16], + ["女厕位", 17], + ["女厕位", 18], + [null, null] + ] + }, + { + "id": "00DD66A6-378E-450D-98AA-44AC02741980", + "version": "yunhorn_kgl_c16_v1", + "data": [ + ["女厕位", 1], + ["女厕位", 2], + ["女厕位", 3], + ["女厕位", 4], + ["女厕位", 5], + ["女厕位", 6], + ["女厕位", 7], + ["女厕位", 8], + ["女厕位", 9], + ["女厕位", 10], + ["女厕位", 11], + ["女厕位", 12], + ["女厕位", 13], + ["男便池", 1], + ["男便池", 2], + ["男便池", 3] + ] + }, + { + "id": "4E5D52DD-EB81-43C0-A2B6-04E432412EBA", + "version": "yunhorn_kgl_l_v1", + "data": [ + ["纸巾卷", 1] + ] + } + ] + }, + "devices_list": [ + ["00DD66A6-378E-450D-98AA-44AC02741980", "port2", "yunhorn_kgl_c16_v1", "1"] + ], + "serialports_list": { + "port2": { + "com": "/dev/ttyUSB1", + "bauds": 9600, + "size": 8, + "parity": "N", + "stopbits": 1, + "readtimeout": 1000, + "note": "液位" + } + }, + "rs485devices": { + "15394892-E8B0-4FF2-BC35-1BF380BD1B68": { + "version": "yunhorn_xsy_l_v1", + "num": "1", + "command": [ + [8, 3, 0, 1, 0, 2, 149, 82] + ] + }, + "00DD66A6-378E-450D-98AA-44AC02741980": { + "version": "yunhorn_kgl_c16_v1", + "num": "1", + "command": [ + [3, 2, 0, 0, 0, 16, 120, 36] + ] + } + }, + "loradevices_list": { + "4E5D52DD-EB81-43C0-A2B6-04E432412EBA": { + "version": "yunhorn_zjj_l_v1", + "num": "1", + "command": [ + [85, 2, 242, 170] + ] + } + }, + "iconurl": "http://192.168.3.188/icons/", + "websocketurl": ["192.168.3.216:8080", "/echo"], + "post_to_server": "https://smartoilets.cn/socketServer/statis/push", + "debug": true +} diff --git a/conf/gateway.conf.bak0319 b/conf/gateway.conf.bak0319 new file mode 100644 index 0000000..2394e26 --- /dev/null +++ b/conf/gateway.conf.bak0319 @@ -0,0 +1,133 @@ +{ + "gateway_info": { + "id": "F23FACD2-7D85-4FCC-88E3-C5B78931A26D", + "version": "yunhorn_gw_c_v1", + "location": [113.960347, 22.54143], + "单位": "深圳市云兴科技", + "config": [{ + "id": "EC13C2D9-6A93-4894-BB5B-89BDAA786D8A", + "version": "yunhorn_kgl_c8_v1", + "data": [ + ["男厕位", 1], + ["男厕位", 2], + ["男厕位", 3], + ["男厕位", 4], + ["男厕位", 5], + ["男厕位", 6], + ["男厕位", 7], + ["男厕位", 8] + ] + }, { + "id": "82BF7B5E-EC0D-4DB6-807F-B097C3C84073", + "version": "yunhorn_kgl_c8_v1", + "data": [ + ["母婴", 1], + ["残卫", 1], + ["残卫", 2], + ["男便池", 4], + ["男便池", 5], + ["男便池", 6], + ["男便池", 7], + ["男便池", 8] + ] + }, { + "id": "F5B7FDCC-79A8-499E-A925-F2FF357BE30D", + "version": "yunhorn_kgl_c8_v1", + "data": [ + ["男厕位", 9], + ["男厕位", 10], + ["女厕位", 14], + ["女厕位", 15], + ["女厕位", 16], + ["女厕位", 17], + ["女厕位", 18], + [null, null] + ] + }, + { + "id": "00DD66A6-378E-450D-98AA-44AC02741980", + "version": "yunhorn_kgl_c16_v1", + "data": [ + ["女厕位", 1], + ["女厕位", 2], + ["女厕位", 3], + ["女厕位", 4], + ["女厕位", 5], + ["女厕位", 6], + ["女厕位", 7], + ["女厕位", 8], + ["女厕位", 9], + ["女厕位", 10], + ["女厕位", 11], + ["女厕位", 12], + ["女厕位", 13], + ["男便池", 1], + ["纸巾卷", 2], + ["男便池", 3] + ] + }, + { + "id": "4E5D52DD-EB81-43C0-A2B6-04E432412EBA", + "version": "yunhorn_kgl_l_v1", + "data": [ + ["纸巾卷", 1] + ] + } + ] + }, + "devices_list": [ + ["00DD66A6-378E-450D-98AA-44AC02741980", "port2", "yunhorn_kgl_c16_v1", "1"], + ["15394892-E8B0-4FF2-BC35-1BF380BD1B68", "port1", "yunhorn_xsy_l_v1", "1"] + ], + "serialports_list": { + "port1": { + "com": "/dev/ttyUSB0", + "bauds": 9600, + "size": 8, + "parity": "N", + "stopbits": 1, + "readtimeout": 1000, + "note": "液位" + }, + "port2": { + "com": "/dev/ttyUSB1", + "bauds": 9600, + "size": 8, + "parity": "N", + "stopbits": 1, + "readtimeout": 1000, + "note": "液位" + } + }, + + "rs485devices": { + "15394892-E8B0-4FF2-BC35-1BF380BD1B68": { + "version": "yunhorn_xsy_l_v1", + "num": "1", + "command": [ + [8, 3, 0, 1, 0, 2, 149, 82] + ] + }, + "00DD66A6-378E-450D-98AA-44AC02741980": { + "version": "yunhorn_kgl_c16_v1", + "num": "1", + "command": [ + [3, 2, 0, 0, 0, 16, 120, 36] + ] + } + }, + "loradevices_list": { + "4E5D52DD-EB81-43C0-A2B6-04E432412EBA": { + "version": "yunhorn_zjj_l_v1", + "num": "1", + "command": [ + [85, 2, 242, 170] + ] + } + }, + "iconurl": "http://192.168.3.167/icons/", + "websocketurl": ["192.168.3.216:8080", "/echo"], + "post_to_server": "https://smartoilets.cn/socketServer/statis/push", + "debug": true, + "openserial":false +} diff --git a/db/gateway.db b/db/gateway.db index 215fc0a..d620166 100644 Binary files a/db/gateway.db and b/db/gateway.db differ diff --git a/loadconfig.go b/loadconfig.go index 6d5dbac..81a4bcb 100644 --- a/loadconfig.go +++ b/loadconfig.go @@ -114,6 +114,19 @@ func init() { demoDevice.ONLINE = true log.Println("init demoDevice success:", demoDevice) + var device2 Device + device2.Lock() + device2.ID = demoDevice.ID + device2.VERSION = demoDevice.VERSION + device2.ONLINE = demoDevice.ONLINE + device2.DATA = make(map[string]interface{}) + + device2.DATA["data7"] = 0 + device2.DATA["data8"] = 0 + + device2.Unlock() + DEVICEDATAS.DATA[demoDevice.VERSION+"_1"] = device2 + dbdata_init() } diff --git a/tcpserver.go b/tcpserver.go index ac14a29..f99eca0 100644 --- a/tcpserver.go +++ b/tcpserver.go @@ -46,7 +46,7 @@ func handleConn(conn net.Conn) { log.Println("write msg error!", err) stopChan <- true } else { - log.Println("write msg success!", conn.RemoteAddr()) + //log.Println("write msg success!", conn.RemoteAddr()) //暂时写死,演示用 lora心跳包给云端 var device Device @@ -56,7 +56,7 @@ func handleConn(conn net.Conn) { device.ONLINE = true device.DATA = make(map[string]interface{}) device.DATA["data"] = 1 - go send_data(1005, device) + //go send_data(1005, device) } } } diff --git a/worker.go b/worker.go index 9505a58..342bd46 100644 --- a/worker.go +++ b/worker.go @@ -30,7 +30,7 @@ func yunhorn_wireless(data_buf []byte){ adrh := data_buf[0] adrl := data_buf[1] - if (adrh==0 && adrl==0) || (adrh==0 && adrl==1) { + if (adrh==0 && adrl==0) || (adrh==0 && adrl==0) { go yunhorn_ys_l_v1(data_buf) }else{ dataType := data_buf[2] @@ -142,7 +142,7 @@ func yunhorn_ys_l_v1(data_buf []byte) { demoDevice.DATA["data"+strconv.Itoa(2)] = 0 demoDevice.DATA["data"+strconv.Itoa(3)] = 0 - if data_int0[0]==0 && data_int1[0]==0 { + if data_int0[0]==0 && data_int1[0]==0 && data_type[0]==0 { demoDevice.DATA["data"+strconv.Itoa(8)] = data_int[0] var device Device device.Lock() @@ -152,18 +152,30 @@ func yunhorn_ys_l_v1(data_buf []byte) { device.DATA = make(map[string]interface{}) device.DATA["data8"] = data_int[0] device.Unlock() - DEVICEDATAS.DATA[demoDevice.VERSION+"_1"] = device + DEVICEDATAS.DATA[demoDevice.VERSION+"_1"].DATA["data8"] = data_int[0] } else { - demoDevice.DATA["data"+strconv.Itoa(7)] = data_int[0] + if data_int[0] == 0{ + demoDevice.DATA["data"+strconv.Itoa(7)] = 1 + }else{ + demoDevice.DATA["data"+strconv.Itoa(7)] = 0 + } var device Device device.Lock() device.ID = demoDevice.ID device.VERSION = demoDevice.VERSION device.ONLINE = demoDevice.ONLINE device.DATA = make(map[string]interface{}) - device.DATA["data7"] = data_int[0] + + + if data_int[0] == 0{ + device.DATA["data7"] = 1 + }else{ + device.DATA["data7"] = 0 + } + + //device.DATA["data7"] = data_int[0] device.Unlock() - DEVICEDATAS.DATA[demoDevice.VERSION+"_1"] = device + DEVICEDATAS.DATA[demoDevice.VERSION+"_1"].DATA["data7"] = device.DATA["data7"] } device.DATA = demoDevice.DATA