| | |
| | | public int distance; // 距离(毫米) |
| | | public int power; // 电量(0-100) |
| | | public int buttonPressed; // 按钮状态 |
| | | |
| | | public boolean buttonPressed2; |
| | | public void reset() { |
| | | sequenceNum = 0; |
| | | tagId = ""; |
| | |
| | | distance = 0; |
| | | power = 0; |
| | | buttonPressed = 0; |
| | | buttonPressed2=false; |
| | | } |
| | | } |
| | | |
| | |
| | | |
| | | // 解析按钮状态 (位置28-29) |
| | | result.buttonPressed = HexUtils.fastHexToByte(cleanedMessage[28], cleanedMessage[29]); |
| | | |
| | | result.buttonPressed2 =result.buttonPressed==1; |
| | | // 日志和更新操作可以考虑优化或减少调用频率 |
| | | String hexData = "55AA01 包序:" + result.sequenceNum + ",标签编号:" + result.tagId + ",基站编号:" + result.anchorId + |
| | | ",距离:" + result.distance + ",电量:" + result.power + |
| | | ",按钮状态:" + result.buttonPressed; |
| | | MessageViewPanel.showData(hexData, ip, port, 0, "UDPA", "55AA01", "ALL"); |
| | | if (MessageViewPanel.isWindowVisible) { |
| | | StringBuilder sb = new StringBuilder(); |
| | | sb.append("55AA01 Seq:") |
| | | .append(result.sequenceNum) |
| | | .append(",Tagid:") |
| | | .append(result.tagId) |
| | | .append(",Anchorid:") |
| | | .append(result.anchorId) |
| | | .append(",Distance:") |
| | | .append(result.distance) |
| | | .append(",Power:") |
| | | .append(result.power) |
| | | .append(",Button:") |
| | | .append(result.buttonPressed); |
| | | MessageViewPanel.showData(sb.toString(), ip, port, 0, "UDPA", "55AA01", "ALL"); |
| | | } |
| | | |
| | | String time = EfficientTimeFormatter.getCurrentTimeFormatted(); |
| | | Dell_BaseStation.updateBaseStationProperty(result.anchorId, "ipAddress", ip); |