This commit is contained in:
parent
b2a04aa3bc
commit
921f5b6d38
|
|
@ -281,27 +281,6 @@ public class ServerDecode implements ProtocolDecoder {
|
|||
}
|
||||
break;
|
||||
}
|
||||
//睿芯独立返回信息
|
||||
case 84: {
|
||||
//log.info("limit:【{}】,HexDump:【{}】",buf.limit(),buf.getHexDump());
|
||||
//设备返回信息
|
||||
String hexDump = buf.getHexDump();
|
||||
byte[] hexByte = ByteUtil.hexStringToBytes(hexDump);
|
||||
//mac地址
|
||||
byte[] srcByte = new byte[6];
|
||||
for (int i = 2; i < 8; i++) {
|
||||
srcByte[i - 2] = hexByte[i];
|
||||
}
|
||||
String strSrc = ByteUtil.bytesToHexString(srcByte);
|
||||
String type = SomeServer.hardwareTypeMap.get(strSrc);
|
||||
//睿芯独立
|
||||
if (type != null && type.equals("2a")) {
|
||||
decode86ByRuixinDuli(buf, out);
|
||||
} else {
|
||||
decode84(buf, out);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
default: {
|
||||
//log.error("length:【{}】,limit:【{}】,HexDump:【{}】",length,buf.limit(),buf.getHexDump());
|
||||
|
|
@ -2146,152 +2125,6 @@ public class ServerDecode implements ProtocolDecoder {
|
|||
out.write(model);
|
||||
}
|
||||
|
||||
/**
|
||||
* 设备返回信息(84字节,睿芯独立)
|
||||
*
|
||||
* @param buf
|
||||
* @param out
|
||||
*/
|
||||
private void decode84(IoBuffer buf, ProtocolDecoderOutput out) {
|
||||
//实例化一个对象
|
||||
BackBytes84 model = new BackBytes84();
|
||||
|
||||
//buf.get()取到的都是通信协议中从上往下的每段字节信息,所以要对应通信协议去插入每段数据,特别要注意前后顺序,不然会将A功能的状态插入到B功能
|
||||
//读取15字节头开始插入数据
|
||||
//发送消息类型,1回复类型,0发送类型
|
||||
model.setType(buf.get());
|
||||
|
||||
//功能码 对应通信协议的暗红、黄色部分发送、返回的功能码
|
||||
model.setCheck_code(buf.get());
|
||||
|
||||
//读取发送端的mac地址对象结构
|
||||
byte[] src = model.getSrc();
|
||||
//循环读取每一字节插入mac地址对象结构中
|
||||
for (int i = 0; i < src.length; i++) {
|
||||
src[i] = buf.get();
|
||||
}
|
||||
//将mac地址插入到对象中
|
||||
model.setSrc(src);
|
||||
|
||||
//读取接收端的mac地址,如上
|
||||
byte[] dest = model.getDest();
|
||||
for (int i = 0; i < dest.length; i++) {
|
||||
dest[i] = buf.get();
|
||||
}
|
||||
model.setDest(dest);
|
||||
|
||||
//整个包长度
|
||||
model.setRemote_len(buf.get());
|
||||
|
||||
//灯1编号和开关
|
||||
model.setNumber1(buf.get());
|
||||
model.setOnoff1(buf.get());
|
||||
|
||||
//灯2编号和开关
|
||||
model.setNumber2(buf.get());
|
||||
model.setOnoff2(buf.get());
|
||||
|
||||
//灯3编号和开关
|
||||
model.setNumber3(buf.get());
|
||||
model.setOnoff3(buf.get());
|
||||
|
||||
//灯4编号和开关
|
||||
model.setNumber4(buf.get());
|
||||
model.setOnoff4(buf.get());
|
||||
|
||||
//定时器编号
|
||||
byte timer_number1 = model.getTimer_number1();
|
||||
byte timer_number2 = model.getTimer_number2();
|
||||
byte timer_number3 = model.getTimer_number3();
|
||||
byte timer_number4 = model.getTimer_number4();
|
||||
byte timer_number5 = model.getTimer_number5();
|
||||
byte timer_number6 = model.getTimer_number6();
|
||||
byte timer_number7 = model.getTimer_number7();
|
||||
byte timer_number8 = model.getTimer_number8();
|
||||
|
||||
//定时器开关
|
||||
byte timer_onoff1 = model.getTimer_onoff1();
|
||||
byte timer_onoff2 = model.getTimer_onoff2();
|
||||
byte timer_onoff3 = model.getTimer_onoff3();
|
||||
byte timer_onoff4 = model.getTimer_onoff4();
|
||||
byte timer_onoff5 = model.getTimer_onoff5();
|
||||
byte timer_onoff6 = model.getTimer_onoff6();
|
||||
byte timer_onoff7 = model.getTimer_onoff7();
|
||||
byte timer_onoff8 = model.getTimer_onoff8();
|
||||
|
||||
//定时器时间
|
||||
byte[] timer_time1 = model.getTimer_time1();
|
||||
byte[] timer_time2 = model.getTimer_time2();
|
||||
byte[] timer_time3 = model.getTimer_time3();
|
||||
byte[] timer_time4 = model.getTimer_time4();
|
||||
byte[] timer_time5 = model.getTimer_time5();
|
||||
byte[] timer_time6 = model.getTimer_time6();
|
||||
byte[] timer_time7 = model.getTimer_time7();
|
||||
byte[] timer_time8 = model.getTimer_time8();
|
||||
|
||||
byte[] timer_numbers = {timer_number1, timer_number2, timer_number3, timer_number4, timer_number5, timer_number6, timer_number7, timer_number8};
|
||||
byte[] timer_onoffs = {timer_onoff1, timer_onoff2, timer_onoff3, timer_onoff4, timer_onoff5, timer_onoff6, timer_onoff7, timer_onoff8};
|
||||
byte[][] timers = {timer_time1, timer_time2, timer_time3, timer_time4, timer_time5, timer_time6, timer_time7, timer_time8};
|
||||
|
||||
for (int i = 0; i < timer_numbers.length; i++) {
|
||||
//定时器编号
|
||||
timer_numbers[i] = buf.get();
|
||||
//定时器开关
|
||||
timer_onoffs[i] = buf.get();
|
||||
for (int j = 0; j < timers[i].length; j++) {
|
||||
timers[i][j] = buf.get();
|
||||
}
|
||||
}
|
||||
//定时器编号
|
||||
model.setTimer_number1(timer_numbers[0]);
|
||||
model.setTimer_number2(timer_numbers[1]);
|
||||
model.setTimer_number3(timer_numbers[2]);
|
||||
model.setTimer_number4(timer_numbers[3]);
|
||||
model.setTimer_number5(timer_numbers[4]);
|
||||
model.setTimer_number6(timer_numbers[5]);
|
||||
model.setTimer_number7(timer_numbers[6]);
|
||||
model.setTimer_number8(timer_numbers[7]);
|
||||
//定时器开关
|
||||
model.setTimer_onoff1(timer_onoffs[0]);
|
||||
model.setTimer_onoff2(timer_onoffs[1]);
|
||||
model.setTimer_onoff3(timer_onoffs[2]);
|
||||
model.setTimer_onoff4(timer_onoffs[3]);
|
||||
model.setTimer_onoff5(timer_onoffs[4]);
|
||||
model.setTimer_onoff6(timer_onoffs[5]);
|
||||
model.setTimer_onoff7(timer_onoffs[6]);
|
||||
model.setTimer_onoff8(timer_onoffs[7]);
|
||||
//定时器时间
|
||||
model.setTimer_time1(timers[0]);
|
||||
model.setTimer_time2(timers[1]);
|
||||
model.setTimer_time3(timers[2]);
|
||||
model.setTimer_time4(timers[3]);
|
||||
model.setTimer_time5(timers[4]);
|
||||
model.setTimer_time6(timers[5]);
|
||||
model.setTimer_time7(timers[6]);
|
||||
model.setTimer_time8(timers[7]);
|
||||
//加热状态
|
||||
model.setHeatStatus(buf.get());
|
||||
//温度
|
||||
model.setWendu(buf.getShort());
|
||||
//加热温度
|
||||
model.setHeatWendu(buf.getShort());
|
||||
//柜灯
|
||||
model.setSarkLamp(buf.get());
|
||||
//报警开关
|
||||
model.setWarn_onoff(buf.get());
|
||||
//最低报警温度
|
||||
model.setLow_wendu(buf.getShort());
|
||||
//最高报警温度
|
||||
model.setHigh_wendu(buf.getShort());
|
||||
|
||||
//15字节头的校验码
|
||||
byte[] crc16_code = model.getCrc16_code();
|
||||
for (int i = 0; i < crc16_code.length; i++) {
|
||||
crc16_code[i] = buf.get();
|
||||
}
|
||||
out.write(model);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void dispose(IoSession session) throws Exception {
|
||||
Context ctx = (Context) session.getAttribute(CONTEXT);
|
||||
|
|
|
|||
|
|
@ -1,97 +0,0 @@
|
|||
package com.ifish.websocket;
|
||||
|
||||
|
||||
|
||||
//@ServerEndpoint(value="/webSokcetServer")
|
||||
public class WebSocketServerNew {/*
|
||||
|
||||
public static ConcurrentMap<String,Session> webSessions = new ConcurrentHashMap<String,Session>();
|
||||
private static Logger log = LoggerFactory.getLogger(WebSocketServerNew.class);
|
||||
|
||||
@OnMessage
|
||||
public void onMessage(String s, Session session) throws Exception{
|
||||
JSONObject json = new JSONObject(s);
|
||||
String caozuo = json.getString("caozuo");
|
||||
if(caozuo.equals("allBut")){
|
||||
Integer interval = Float.valueOf(json.getString("interval")).intValue();
|
||||
sendOrder(0);
|
||||
Thread.sleep(interval);
|
||||
//切换手动模式
|
||||
sendOrder(1);
|
||||
Thread.sleep(interval);
|
||||
//开
|
||||
sendOrder(2);
|
||||
Thread.sleep(interval);
|
||||
//关
|
||||
sendOrder(3);
|
||||
Thread.sleep(interval);
|
||||
//开
|
||||
sendOrder(4);
|
||||
Thread.sleep(interval);
|
||||
//关
|
||||
sendOrder(5);
|
||||
Thread.sleep(interval);
|
||||
//开
|
||||
sendOrder(6);
|
||||
Thread.sleep(interval);
|
||||
//关
|
||||
sendOrder(7);
|
||||
Thread.sleep(interval);
|
||||
//修改时间
|
||||
sendOrder(8);
|
||||
Thread.sleep(interval);
|
||||
//温度报警
|
||||
sendOrder(9);
|
||||
Thread.sleep(interval);
|
||||
//定时器开关
|
||||
sendOrder(10);
|
||||
}
|
||||
else if(caozuo.equals("clear")){
|
||||
SomeServer.remoteAddress.clear();
|
||||
}
|
||||
}
|
||||
@OnOpen
|
||||
public void OnOpen(Session session) throws Exception{
|
||||
webSessions.put(session.getId(), session);
|
||||
//log.info("WebSocket is open:{}",session.getId());
|
||||
Map<String,String> macMap = new HashMap<String, String>();
|
||||
Map<String,String> macStatus = new HashMap<String, String>();
|
||||
//Session
|
||||
for (Map.Entry<String, SocketAddress> ioSession: SomeServer.remoteAddress.entrySet()) {
|
||||
if(ioSession.getValue()!=null){
|
||||
macMap.put(ioSession.getKey(), ioSession.getValue().toString());
|
||||
macStatus.put(ioSession.getKey(), "<span class='label label-success'>连接正常</span>");
|
||||
}
|
||||
else{
|
||||
macMap.put(ioSession.getKey(), "");
|
||||
macStatus.put(ioSession.getKey(), "<span class='label label-danger'>连接断开</span>");
|
||||
}
|
||||
}
|
||||
//json数据
|
||||
JSONObject json = new JSONObject();
|
||||
json.put("result", "query");
|
||||
json.put("lineCount", SomeServer.remoteAddress.size());
|
||||
json.put("data", macMap);
|
||||
json.put("status", macStatus);
|
||||
String serverIp = InetAddress.getLocalHost().getHostAddress();
|
||||
json.put("serverIp", serverIp);
|
||||
session.getBasicRemote().sendText(json.toString());
|
||||
}
|
||||
@OnClose
|
||||
public void OnClose(CloseReason c,Session session) throws IOException {
|
||||
webSessions.remove(session.getId());
|
||||
log.info("WebSocket is close:{}",session.getId());
|
||||
}
|
||||
@OnError
|
||||
public void OnError(Throwable t) {
|
||||
log.info("WebSocket error:{}",t.getMessage());
|
||||
}
|
||||
|
||||
*//**
|
||||
* 发送指令
|
||||
* @param src
|
||||
*//*
|
||||
public void sendOrder(Integer i){
|
||||
SomeServer.sendToDevice(i);
|
||||
}
|
||||
*/}
|
||||
|
|
@ -881,7 +881,8 @@ function changeColor() {
|
|||
function getFactoryInfo() {
|
||||
$.ajax({
|
||||
//url: "https://bg.zhangxinyanv5.top/page/public/getVenderList.do?rm=" + Math.random() + "&factoryCode=" + $("#factoryCode").val(),
|
||||
url: "http://192.168.199.129:7080/page/public/getVenderList.do?rm=" + Math.random() + "&factoryCode=" + $("#factoryCode").val(),
|
||||
//url: "http://192.168.199.129:7080/page/public/getVenderList.do?rm=" + Math.random() + "&factoryCode=" + $("#factoryCode").val(),
|
||||
url: "http://192.168.199.129:8080/IfishSystem/page/public/getVenderList.do?rm=" + Math.random() + "&factoryCode=" + $("#factoryCode").val(),
|
||||
//url: "https://bg.ifish7.com/page/public/getVenderList.do?rm=" + Math.random() + "&factoryCode=" + $("#factoryCode").val(),
|
||||
type: "get",
|
||||
dataType: "json",
|
||||
|
|
|
|||
|
|
@ -52,8 +52,8 @@ String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.
|
|||
var data = obj(id,mac.toString(),hardType.toString());
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
//url: "http://192.168.61.130:8080/ifishSystem/page/public/saveMacAddress.do?rm="+Math.random(),
|
||||
url: "https://bg.ifish7.com/page/public/saveMacAddress.do?rm="+Math.random(),
|
||||
url: "http://192.168.199.129:8080/IfishSystemEnglish/saveMacAddress?rm="+Math.random(),
|
||||
//url: "https://bg.ifish7.com/page/public/saveMacAddress.do?rm="+Math.random(),
|
||||
data: {"subStr":data},
|
||||
dataType: "json",
|
||||
success:function(re){
|
||||
|
|
|
|||
Loading…
Reference in New Issue