parent
b1ca040ef0
commit
e4270b51b8
|
@ -31,4 +31,4 @@ mybatis.configuration.default-enum-type-handler=com.zjyr.beidouservice.common.Co
|
||||||
#mybatis.configuration.log-impl=lombok.extern.slf4j.Slf4j
|
#mybatis.configuration.log-impl=lombok.extern.slf4j.Slf4j
|
||||||
#config log
|
#config log
|
||||||
logging.config=file:config/logback.xml
|
logging.config=file:config/logback.xml
|
||||||
log4j.logger.org.mybatis=debug
|
#log4j.logger.org.mybatis=debug
|
|
@ -1,3 +1,4 @@
|
||||||
socket.server-host=localhost
|
socket.server-host=localhost
|
||||||
socket.server-port=10000
|
socket.server-port=10000
|
||||||
socket.server-mode=tcp
|
socket.server-mode=tcp
|
||||||
|
socket.heart-timeout=60
|
||||||
|
|
|
@ -4,8 +4,6 @@
|
||||||
<property name="LOG_PATH" value="./logs"/>
|
<property name="LOG_PATH" value="./logs"/>
|
||||||
<property name="LOG_LEVEL" value="info"/>
|
<property name="LOG_LEVEL" value="info"/>
|
||||||
<property name="SVR_LOG_LEVEL" value="info"/>
|
<property name="SVR_LOG_LEVEL" value="info"/>
|
||||||
<property name="DEBUG_LOG_LEVEL" value="debug"/>
|
|
||||||
<property name="INFO_LOG_LEVEL" value="info"/>
|
|
||||||
|
|
||||||
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
|
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
|
||||||
<encoder charset="UTF-8">
|
<encoder charset="UTF-8">
|
||||||
|
@ -48,7 +46,7 @@
|
||||||
</encoder>
|
</encoder>
|
||||||
</appender>
|
</appender>
|
||||||
|
|
||||||
<logger name="com.zjyr.beidouservice.mapper" level="debug" additivity="false">
|
<logger name="com.zjyr.beidouservice.mapper" level="${LOG_LEVEL}" additivity="false">
|
||||||
<appender-ref ref="DATA"/>
|
<appender-ref ref="DATA"/>
|
||||||
<appender-ref ref="CONSOLE"/>
|
<appender-ref ref="CONSOLE"/>
|
||||||
</logger>
|
</logger>
|
||||||
|
|
|
@ -3,6 +3,7 @@ package com.zjyr.beidouservice.adapter.impl.netty;
|
||||||
import com.zjyr.beidouservice.adapter.impl.netty.decode.YuanRongProtocolDecode;
|
import com.zjyr.beidouservice.adapter.impl.netty.decode.YuanRongProtocolDecode;
|
||||||
import com.zjyr.beidouservice.adapter.impl.netty.encode.ProtocolStartEncode;
|
import com.zjyr.beidouservice.adapter.impl.netty.encode.ProtocolStartEncode;
|
||||||
import com.zjyr.beidouservice.adapter.impl.netty.encode.YuanRongProtocolEncode;
|
import com.zjyr.beidouservice.adapter.impl.netty.encode.YuanRongProtocolEncode;
|
||||||
|
import com.zjyr.beidouservice.config.NettySocketConfigure;
|
||||||
import com.zjyr.beidouservice.pojo.vo.binary.BaseBinaryProtocol;
|
import com.zjyr.beidouservice.pojo.vo.binary.BaseBinaryProtocol;
|
||||||
import io.netty.channel.ChannelInitializer;
|
import io.netty.channel.ChannelInitializer;
|
||||||
import io.netty.channel.socket.SocketChannel;
|
import io.netty.channel.socket.SocketChannel;
|
||||||
|
@ -53,19 +54,21 @@ public class ChannelInit<T> extends ChannelInitializer<SocketChannel> {
|
||||||
@Resource
|
@Resource
|
||||||
private MessageHandler<T> messageHandler;
|
private MessageHandler<T> messageHandler;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private NettySocketConfigure nettySocketConfigure;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void initChannel(SocketChannel channel) {
|
protected void initChannel(SocketChannel channel) {
|
||||||
channel.pipeline()
|
channel.pipeline()
|
||||||
.addLast("idle", new IdleStateHandler(0, 0, 60, TimeUnit.SECONDS))
|
.addLast(new IdleStateHandler(0, 0, nettySocketConfigure.getHeartTimeout(), TimeUnit.SECONDS))
|
||||||
.addLast("decode",
|
.addLast(new LengthFieldBasedFrameDecoder(MAX_FRAME_LENGTH,
|
||||||
new LengthFieldBasedFrameDecoder(MAX_FRAME_LENGTH,
|
|
||||||
LENGTH_FIELD_OFFSET,
|
LENGTH_FIELD_OFFSET,
|
||||||
LENGTH_FIELD_LENGTH,
|
LENGTH_FIELD_LENGTH,
|
||||||
LENGTH_ADJUSTMENT,
|
LENGTH_ADJUSTMENT,
|
||||||
INITIAL_BYTES_TO_STRIP))
|
INITIAL_BYTES_TO_STRIP))
|
||||||
.addLast("decodeProtocol", new YuanRongProtocolDecode())
|
.addLast(new YuanRongProtocolDecode())
|
||||||
.addLast("startFlag", new ProtocolStartEncode(2))
|
.addLast(new ProtocolStartEncode(2))
|
||||||
.addLast("encode", new YuanRongProtocolEncode<T>())
|
.addLast(new YuanRongProtocolEncode<T>())
|
||||||
.addLast("message", messageHandler);
|
.addLast("message", messageHandler);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,11 +1,16 @@
|
||||||
package com.zjyr.beidouservice.adapter.impl.netty.decode;
|
package com.zjyr.beidouservice.adapter.impl.netty.decode;
|
||||||
|
|
||||||
import com.zjyr.beidouservice.common.CommonEnumHandler;
|
import com.zjyr.beidouservice.common.CommonEnumHandler;
|
||||||
|
import com.zjyr.beidouservice.common.impl.BeidouStatusName;
|
||||||
import com.zjyr.beidouservice.common.impl.ControlCommandName;
|
import com.zjyr.beidouservice.common.impl.ControlCommandName;
|
||||||
|
import com.zjyr.beidouservice.common.impl.SendStatusName;
|
||||||
import com.zjyr.beidouservice.common.impl.SensorStatusName;
|
import com.zjyr.beidouservice.common.impl.SensorStatusName;
|
||||||
|
import com.zjyr.beidouservice.common.impl.TelphoneStatusName;
|
||||||
|
import com.zjyr.beidouservice.common.impl.WirelessStatusName;
|
||||||
import com.zjyr.beidouservice.pojo.vo.binary.BaseBinaryProtocol;
|
import com.zjyr.beidouservice.pojo.vo.binary.BaseBinaryProtocol;
|
||||||
import com.zjyr.beidouservice.pojo.vo.binary.ControllerStatus;
|
import com.zjyr.beidouservice.pojo.vo.binary.ControllerStatus;
|
||||||
import com.zjyr.beidouservice.pojo.vo.binary.MessageContent;
|
import com.zjyr.beidouservice.pojo.vo.binary.MessageContent;
|
||||||
|
import com.zjyr.beidouservice.pojo.vo.binary.SensorCotrolAck;
|
||||||
import io.netty.buffer.ByteBuf;
|
import io.netty.buffer.ByteBuf;
|
||||||
import io.netty.buffer.ByteBufUtil;
|
import io.netty.buffer.ByteBufUtil;
|
||||||
import io.netty.channel.ChannelHandlerContext;
|
import io.netty.channel.ChannelHandlerContext;
|
||||||
|
@ -24,10 +29,9 @@ import java.util.List;
|
||||||
@Slf4j
|
@Slf4j
|
||||||
public class YuanRongProtocolDecode extends ByteToMessageDecoder {
|
public class YuanRongProtocolDecode extends ByteToMessageDecoder {
|
||||||
@Override
|
@Override
|
||||||
protected void decode(ChannelHandlerContext channelHandlerContext,
|
protected void decode(ChannelHandlerContext channelHandlerContext, ByteBuf buf, List<Object> list) {
|
||||||
ByteBuf buf,
|
|
||||||
List<Object> list) throws Exception {
|
|
||||||
log.info("\n{}", ByteBufUtil.prettyHexDump(buf));
|
log.info("\n{}", ByteBufUtil.prettyHexDump(buf));
|
||||||
|
try {
|
||||||
short msgLength = buf.readShort();
|
short msgLength = buf.readShort();
|
||||||
byte version = buf.readByte();
|
byte version = buf.readByte();
|
||||||
int recvMajorId = buf.readInt();
|
int recvMajorId = buf.readInt();
|
||||||
|
@ -54,11 +58,8 @@ public class YuanRongProtocolDecode extends ByteToMessageDecoder {
|
||||||
.wirelessStatus(wireStatus)
|
.wirelessStatus(wireStatus)
|
||||||
.telphoneStatus(phoneStatus)
|
.telphoneStatus(phoneStatus)
|
||||||
.build();
|
.build();
|
||||||
MessageContent<ControllerStatus> msgCtx = MessageContent.<ControllerStatus>builder()
|
MessageContent<ControllerStatus> msgCtx = MessageContent.<ControllerStatus>builder().msgType(
|
||||||
.msgType(msgType)
|
msgType).msgSize(msgSize).msgBody(status).build();
|
||||||
.msgSize(msgSize)
|
|
||||||
.msgBody(status)
|
|
||||||
.build();
|
|
||||||
|
|
||||||
list.add(BaseBinaryProtocol.<ControllerStatus>builder()
|
list.add(BaseBinaryProtocol.<ControllerStatus>builder()
|
||||||
.msgLength(msgLength)
|
.msgLength(msgLength)
|
||||||
|
@ -74,11 +75,49 @@ public class YuanRongProtocolDecode extends ByteToMessageDecoder {
|
||||||
.build());
|
.build());
|
||||||
}
|
}
|
||||||
case COMMAND_REPORT_SENSOR -> {
|
case COMMAND_REPORT_SENSOR -> {
|
||||||
|
SendStatusName sendStatus = CommonEnumHandler.codeOf(SendStatusName.class, buf.readByte());
|
||||||
|
BeidouStatusName beidouStatus = CommonEnumHandler.codeOf(BeidouStatusName.class,
|
||||||
|
buf.readByte());
|
||||||
|
WirelessStatusName wireStatus = CommonEnumHandler.codeOf(WirelessStatusName.class,
|
||||||
|
buf.readByte());
|
||||||
|
TelphoneStatusName phoneStatus = CommonEnumHandler.codeOf(TelphoneStatusName.class,
|
||||||
|
buf.readByte());
|
||||||
|
byte[] beidouSignle = new byte[3];
|
||||||
|
buf.readBytes(beidouSignle, 0, 3);
|
||||||
|
|
||||||
|
SensorCotrolAck ack = SensorCotrolAck.builder()
|
||||||
|
.sendStatus(sendStatus)
|
||||||
|
.beidouStatus(beidouStatus)
|
||||||
|
.wirelessStatus(wireStatus)
|
||||||
|
.telphoneStatus(phoneStatus)
|
||||||
|
.beidouFreq(beidouSignle)
|
||||||
|
.build();
|
||||||
|
|
||||||
|
MessageContent<SensorCotrolAck> msgCtx = MessageContent.<SensorCotrolAck>builder().msgType(
|
||||||
|
msgType).msgSize(msgSize).msgBody(ack).build();
|
||||||
|
list.add(BaseBinaryProtocol.<SensorCotrolAck>builder()
|
||||||
|
.msgLength(msgLength)
|
||||||
|
.version(version)
|
||||||
|
.recvMajorId(recvMajorId)
|
||||||
|
.recvMinorId(recvMinorId)
|
||||||
|
.sendMajorId(sendMajorId)
|
||||||
|
.sendMinorId(sendMinorId)
|
||||||
|
.cryptoType(cryptCytp)
|
||||||
|
.timeStamp(timeStamp)
|
||||||
|
.statusCode(statusCode)
|
||||||
|
.msgContent(msgCtx)
|
||||||
|
.build());
|
||||||
}
|
}
|
||||||
case COMMAND_REPORT_QUERY_SENSOR -> {
|
case COMMAND_REPORT_QUERY_SENSOR -> {
|
||||||
}
|
}
|
||||||
default -> log.error("Unsupport Command: {}({})", cmd, msgType);
|
default -> log.error("Unsupport Command: {}({})", cmd, msgType);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
} catch (Exception ex) {
|
||||||
|
log.error("Clear buffer because error data");
|
||||||
|
buf.resetReaderIndex();
|
||||||
|
buf.resetWriterIndex();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,40 @@
|
||||||
|
package com.zjyr.beidouservice.common.impl;
|
||||||
|
|
||||||
|
import com.zjyr.beidouservice.common.EnumerationBase;
|
||||||
|
|
||||||
|
public enum BeidouStatusName implements EnumerationBase {
|
||||||
|
BEIDOU_NORMAL(0, "BEIDOU_NORMAL"),
|
||||||
|
BEIDOU_MODULE_EXCEPTION(1, "BEIDOU_MODULE_EXCEPTION"),
|
||||||
|
BEIDOU_SATELLITE_EXCEPTION(2, "BEIDOU_SATELLITE_EXCEPTION"),
|
||||||
|
;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The Code.
|
||||||
|
*/
|
||||||
|
private final Integer code;
|
||||||
|
/**
|
||||||
|
* The Desc.
|
||||||
|
*/
|
||||||
|
private final String desc;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Instantiates a new Beidou adapter type name.
|
||||||
|
*
|
||||||
|
* @param val the val
|
||||||
|
* @param desc the desc
|
||||||
|
*/
|
||||||
|
BeidouStatusName(int val, String desc) {
|
||||||
|
this.code = val;
|
||||||
|
this.desc = desc;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Integer getValue() {
|
||||||
|
return this.code;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getDescription() {
|
||||||
|
return this.desc;
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,41 @@
|
||||||
|
package com.zjyr.beidouservice.common.impl;
|
||||||
|
|
||||||
|
import com.zjyr.beidouservice.common.EnumerationBase;
|
||||||
|
|
||||||
|
public enum SendStatusName implements EnumerationBase {
|
||||||
|
SEND_SUCCESS(0, "SEND_SUCCESS"),
|
||||||
|
SEND_WAIT_IDLE(1, "SEND_WAIT_IDLE"),
|
||||||
|
SEND_DEVICE_UNEXISTS(2, "SEND_DEVICE_UNEXISTS"),
|
||||||
|
SEND_CONTROL_LOCKED(3, "SEND_CONTROL_LOCKED"),
|
||||||
|
;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The Code.
|
||||||
|
*/
|
||||||
|
private final Integer code;
|
||||||
|
/**
|
||||||
|
* The Desc.
|
||||||
|
*/
|
||||||
|
private final String desc;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Instantiates a new Beidou adapter type name.
|
||||||
|
*
|
||||||
|
* @param val the val
|
||||||
|
* @param desc the desc
|
||||||
|
*/
|
||||||
|
SendStatusName(int val, String desc) {
|
||||||
|
this.code = val;
|
||||||
|
this.desc = desc;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Integer getValue() {
|
||||||
|
return this.code;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getDescription() {
|
||||||
|
return this.desc;
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,40 @@
|
||||||
|
package com.zjyr.beidouservice.common.impl;
|
||||||
|
|
||||||
|
import com.zjyr.beidouservice.common.EnumerationBase;
|
||||||
|
|
||||||
|
public enum TelphoneStatusName implements EnumerationBase {
|
||||||
|
TELPHONE_NORMAL(0, "TELPHONE_NORMAL"),
|
||||||
|
TELPHONE_NOT_DETECTION(1, "TELPHONE_NOT_DETECTION"),
|
||||||
|
TELPHONE_BREAKDOWN(2, "TELPHONE_BREAKDOWN"),
|
||||||
|
;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The Code.
|
||||||
|
*/
|
||||||
|
private final Integer code;
|
||||||
|
/**
|
||||||
|
* The Desc.
|
||||||
|
*/
|
||||||
|
private final String desc;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Instantiates a new Beidou adapter type name.
|
||||||
|
*
|
||||||
|
* @param val the val
|
||||||
|
* @param desc the desc
|
||||||
|
*/
|
||||||
|
TelphoneStatusName(int val, String desc) {
|
||||||
|
this.code = val;
|
||||||
|
this.desc = desc;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Integer getValue() {
|
||||||
|
return this.code;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getDescription() {
|
||||||
|
return this.desc;
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,40 @@
|
||||||
|
package com.zjyr.beidouservice.common.impl;
|
||||||
|
|
||||||
|
import com.zjyr.beidouservice.common.EnumerationBase;
|
||||||
|
|
||||||
|
public enum WirelessStatusName implements EnumerationBase {
|
||||||
|
|
||||||
|
WIRELESS_NORMAL(0, "WIRELESS_NORMAL"),
|
||||||
|
WIRELESS_BREAKDOWN(0, "WIRELESS_BREAKDOWN"),
|
||||||
|
;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The Code.
|
||||||
|
*/
|
||||||
|
private final Integer code;
|
||||||
|
/**
|
||||||
|
* The Desc.
|
||||||
|
*/
|
||||||
|
private final String desc;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Instantiates a new Beidou adapter type name.
|
||||||
|
*
|
||||||
|
* @param val the val
|
||||||
|
* @param desc the desc
|
||||||
|
*/
|
||||||
|
WirelessStatusName(int val, String desc) {
|
||||||
|
this.code = val;
|
||||||
|
this.desc = desc;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Integer getValue() {
|
||||||
|
return this.code;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getDescription() {
|
||||||
|
return this.desc;
|
||||||
|
}
|
||||||
|
}
|
|
@ -27,6 +27,8 @@ public class NettySocketConfigure {
|
||||||
*/
|
*/
|
||||||
private String serverMode;
|
private String serverMode;
|
||||||
|
|
||||||
|
private Integer heartTimeout;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Init global value.
|
* Init global value.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -1,11 +1,26 @@
|
||||||
package com.zjyr.beidouservice.controller;
|
package com.zjyr.beidouservice.controller;
|
||||||
|
|
||||||
|
import com.zjyr.beidouservice.common.impl.SensorControlActionName;
|
||||||
|
import com.zjyr.beidouservice.common.impl.SensorControlModeName;
|
||||||
|
import com.zjyr.beidouservice.common.impl.SensorControlTunnelName;
|
||||||
import com.zjyr.beidouservice.pojo.dto.BaseProtocolDTO;
|
import com.zjyr.beidouservice.pojo.dto.BaseProtocolDTO;
|
||||||
import com.zjyr.beidouservice.pojo.dto.GetUserConfig;
|
import com.zjyr.beidouservice.pojo.dto.GetUserConfig;
|
||||||
|
import com.zjyr.beidouservice.pojo.po.BeidouAdapterControlContent;
|
||||||
|
import com.zjyr.beidouservice.pojo.vo.binary.SensorControlProtocol;
|
||||||
|
import com.zjyr.beidouservice.service.AdapterProtocolService;
|
||||||
|
import com.zjyr.beidouservice.service.BaidouAdapterService;
|
||||||
|
import jakarta.annotation.Resource;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.http.HttpHeaders;
|
import org.springframework.http.HttpHeaders;
|
||||||
import org.springframework.stereotype.Controller;
|
import org.springframework.stereotype.Controller;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
|
import org.springframework.web.bind.annotation.RequestHeader;
|
||||||
|
import org.springframework.web.bind.annotation.ResponseBody;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The type Auth user.
|
* The type Auth user.
|
||||||
|
@ -14,6 +29,12 @@ import org.springframework.web.bind.annotation.*;
|
||||||
//@RequestMapping(value = "/auth")
|
//@RequestMapping(value = "/auth")
|
||||||
@Slf4j
|
@Slf4j
|
||||||
public class AuthUser {
|
public class AuthUser {
|
||||||
|
@Resource
|
||||||
|
BaidouAdapterService baidouAdapterService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
AdapterProtocolService adapterProtocolService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Third string.
|
* Third string.
|
||||||
*
|
*
|
||||||
|
@ -35,46 +56,38 @@ public class AuthUser {
|
||||||
* @param headers the headers
|
* @param headers the headers
|
||||||
* @return the user config
|
* @return the user config
|
||||||
*/
|
*/
|
||||||
@PostMapping("/getuserconfig")
|
@PostMapping("/sensor/control")
|
||||||
@ResponseBody
|
@ResponseBody
|
||||||
public String getUserConfig(@RequestBody BaseProtocolDTO<GetUserConfig> mr, @RequestHeader HttpHeaders headers) {
|
public String getUserConfig(@RequestBody BaseProtocolDTO<GetUserConfig> mr, @RequestHeader HttpHeaders headers) {
|
||||||
return """
|
List<BeidouAdapterControlContent> adapterInfo = new ArrayList<>();
|
||||||
{
|
|
||||||
"ver": 1,
|
for (int i = 0; i < 2; i++) {
|
||||||
"cryptoType": 0,
|
adapterInfo.add(BeidouAdapterControlContent.builder()
|
||||||
"timeStamp": 1688954003,
|
.districtsCode(0x10 + i)
|
||||||
"code": 0,
|
.sensorId(0x3f00 + i)
|
||||||
"msgContent": {
|
.controlAction(SensorControlActionName.ACTION_DISTRICTS_BASED)
|
||||||
"scgCtrlAppId": 7,
|
.build());
|
||||||
"scgTunnelAppId": 8,
|
|
||||||
"cliPrivateKey": "WGAlqvys3O83VmWug6Z8NzUrxGr/PNHSeOVFnKLSe2k=",
|
|
||||||
"cliPublicKey": "6BWnmkCJqJC5iNoCEZWTxwGNG7qwkxFoVgAk4DoIKCk=",
|
|
||||||
"cliAddress": "10.10.10.1/32",
|
|
||||||
"vmConfig": [
|
|
||||||
{
|
|
||||||
"vmId": 1,
|
|
||||||
"vmName": "Windows10_1",
|
|
||||||
"svrPublicKey": "8KEaqtWM5U35SR8S3QJriGHPr0VIqvk8A7BEuOjjp1M=",
|
|
||||||
"vmNetwork": "10.0.4.16/30",
|
|
||||||
"scgGateway": "101.35.234.160:10010"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"vmId": 2,
|
|
||||||
"vmName": "Windows10_2",
|
|
||||||
"svrPublicKey": "q3ep8hN2v3VpHbcru+rTmvyBt13iH0DkEsVAyT2LpVo=",
|
|
||||||
"vmNetwork": "192.168.100.210/24",
|
|
||||||
"scgGateway": "efc.xajhuang.com:10000"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"vmId": 3,
|
|
||||||
"vmName": "Windows10_3",
|
|
||||||
"svrPublicKey": "q3ep8hN2v3VpHbcru+rTmvyBt13iH0DkEsVAyT2LpVo=",
|
|
||||||
"vmNetwork": "172.18.2.152/26",
|
|
||||||
"scgGateway": "localhost:10000"
|
|
||||||
}
|
}
|
||||||
]
|
|
||||||
|
SensorControlProtocol sp =
|
||||||
|
adapterProtocolService.createSensorControlProtocol(SensorControlTunnelName.TUNNEL_BEIDOU,
|
||||||
|
new byte[]{0x01, 0x02, 0x03},
|
||||||
|
8,
|
||||||
|
14,
|
||||||
|
20,
|
||||||
|
35,
|
||||||
|
3,
|
||||||
|
5,
|
||||||
|
SensorControlModeName.CONTROL_TYPE_QUIET,
|
||||||
|
0,
|
||||||
|
adapterProtocolService.createSensorCtrlInfo(
|
||||||
|
adapterInfo));
|
||||||
|
Long id = baidouAdapterService.getAllAdapter().get(0).getId();
|
||||||
|
if (id != null) {
|
||||||
|
baidouAdapterService.sendCommond(id, sp);
|
||||||
}
|
}
|
||||||
}""";
|
|
||||||
|
return "{\"result\": 0}";
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -0,0 +1,19 @@
|
||||||
|
package com.zjyr.beidouservice.pojo.vo.binary;
|
||||||
|
|
||||||
|
import com.zjyr.beidouservice.common.impl.BeidouStatusName;
|
||||||
|
import com.zjyr.beidouservice.common.impl.SendStatusName;
|
||||||
|
import com.zjyr.beidouservice.common.impl.TelphoneStatusName;
|
||||||
|
import com.zjyr.beidouservice.common.impl.WirelessStatusName;
|
||||||
|
import lombok.Builder;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@Builder
|
||||||
|
public class SensorCotrolAck {
|
||||||
|
private byte[] beidouFreq;
|
||||||
|
|
||||||
|
private SendStatusName sendStatus;
|
||||||
|
private BeidouStatusName beidouStatus;
|
||||||
|
private WirelessStatusName wirelessStatus;
|
||||||
|
private TelphoneStatusName telphoneStatus;
|
||||||
|
}
|
|
@ -9,7 +9,7 @@ import com.zjyr.beidouservice.pojo.entry.ControlDevice;
|
||||||
import com.zjyr.beidouservice.pojo.po.BeidouAdapterDevice;
|
import com.zjyr.beidouservice.pojo.po.BeidouAdapterDevice;
|
||||||
import com.zjyr.beidouservice.pojo.vo.ControlAdapterSocketCtx;
|
import com.zjyr.beidouservice.pojo.vo.ControlAdapterSocketCtx;
|
||||||
import com.zjyr.beidouservice.pojo.vo.binary.ControllerStatus;
|
import com.zjyr.beidouservice.pojo.vo.binary.ControllerStatus;
|
||||||
import com.zjyr.beidouservice.pojo.vo.binary.HeartProtocol;
|
import com.zjyr.beidouservice.pojo.vo.binary.SensorCotrolAck;
|
||||||
import com.zjyr.beidouservice.service.AdapterProtocolService;
|
import com.zjyr.beidouservice.service.AdapterProtocolService;
|
||||||
import com.zjyr.beidouservice.service.BaidouAdapterService;
|
import com.zjyr.beidouservice.service.BaidouAdapterService;
|
||||||
import io.netty.channel.Channel;
|
import io.netty.channel.Channel;
|
||||||
|
@ -59,9 +59,9 @@ public class BaidouSocketAdapterServiceImpl<T extends ApplicationEvent> implemen
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void sendCommond(Channel ch, Object command) {
|
public void sendCommond(Channel ch, Object command) {
|
||||||
if (command instanceof HeartProtocol heart) {
|
//if (command instanceof HeartProtocol heart) {
|
||||||
tcpServer.sendData(ch, adapterProtocolService.createTransmissionProtocol(heart));
|
tcpServer.sendData(ch, adapterProtocolService.createTransmissionProtocol(command));
|
||||||
}
|
//}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -99,6 +99,13 @@ public class BaidouSocketAdapterServiceImpl<T extends ApplicationEvent> implemen
|
||||||
status.getWirelessStatus(),
|
status.getWirelessStatus(),
|
||||||
status.getTelphoneStatus(),
|
status.getTelphoneStatus(),
|
||||||
HelperUtils.bytesToHexString(status.getBeidouSignalStrength()));
|
HelperUtils.bytesToHexString(status.getBeidouSignalStrength()));
|
||||||
|
} else if (event.getEvtMessage() instanceof SensorCotrolAck ack) {
|
||||||
|
log.info("+++{}, {}, {}, {}, {}",
|
||||||
|
ack.getSendStatus(),
|
||||||
|
ack.getBeidouStatus(),
|
||||||
|
ack.getWirelessStatus(),
|
||||||
|
ack.getTelphoneStatus(),
|
||||||
|
HelperUtils.bytesToHexString(ack.getBeidouFreq()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue