当前位置: 首页 > news >正文

运城个人网站建设网站设计怎么做好

运城个人网站建设,网站设计怎么做好,给个网址2021年能用的,网站建设推广一对一服务目录 1.pom坐标2.控制层3.接口4.实现类-通过串口向设备发数据5.监听设备通过串口返回数据6.创建响应结果类ResponseResult 1.pom坐标 ?xml version1.0 encodingUTF-8? project xmlnshttp://maven.apache.org/POM/4.0.0 xml… 目录 1.pom坐标2.控制层3.接口4.实现类-通过串口向设备发数据5.监听设备通过串口返回数据6.创建响应结果类ResponseResult 1.pom坐标 ?xml version1.0 encodingUTF-8? project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersionparentgroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-parent/artifactIdversion2.3.4.RELEASE/versionrelativePath/ /parentgroupIdcom.example/groupIdartifactIdrxtxcommon/artifactIdversion0.0.1-SNAPSHOT/versionnamerxtxcommon/namedescriptionDemo project for Spring Boot/descriptionpropertiesjava.version1.8/java.version/propertiesdependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-test/artifactIdscopetest/scope/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-devtools/artifactIdoptionaltrue/optional/dependency!--websocket--dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-websocket/artifactId/dependencydependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdversion1.18.20/versionscopeprovided/scope/dependency!--jSerialComm库串口通讯--dependencygroupIdcom.fazecast/groupIdartifactIdjSerialComm/artifactIdversion2.6.2/version/dependency/dependenciesbuildpluginsplugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactId/plugin/plugins/build /project 2.控制层 import com.fazecast.jSerialComm.SerialPort; import com.example.rxtxcommon.entity.ResponseResult; import com.example.rxtxcommon.service.SerialPortService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.socket.WebSocketSession; import java.io.IOException; import java.util.ArrayList; import java.util.List;RestController RequestMapping(/serial) public class SerialController {Autowiredprivate SerialPortService serialPortService;public ListSerialPort serialPortList;public int countsend;public int countreceive;GetMapping(/discover)public ResponseResultListString discoverSerialPort() {ListSerialPort list1 serialPortService.discoverSerialPort();ListString list new ArrayList();serialPortList list1;list1.forEach(item - {list.add(item.getSystemPortName());});ResponseResultListString response new ResponseResult(list.size() 0 ? 500 : 1, , list);return response;}GetMapping(/open)public ResponseResultBoolean openSerialPort(SerialPort port1) {WebSocketSession session null;for (SerialPort port : serialPortList) {if (port.getSystemPortName().equals(COM10)) {return serialPortService.openSerialPort(port, session);}}return ResponseResult.getErrorResult(Failed to find port );}GetMapping(/send)public String sendData(SerialPort port1, String data) throws IOException {//发送数据注意提前与接收设备沟通好协议发送什么样类型的数据设备才可以进行响应否则设备无响应for (SerialPort port : serialPortList) {if (port.getSystemPortName().equals(COM10)) {serialPortService.sendData(port, data);}}return Data sent (countsend);}GetMapping(/close)public String closeSerialPort(SerialPort port1) {for (SerialPort port : serialPortList) {// 遍历串口列表并为每个串口设置参数serialPortService.closeSerialPort(port);}return Serial port closed;}}3.接口 import com.fazecast.jSerialComm.SerialPort; import com.example.rxtxcommon.entity.ResponseResult; import org.springframework.web.socket.WebSocketSession;import java.io.IOException; import java.util.List;public interface SerialPortService {ListSerialPort discoverSerialPort();boolean closeSerialPort(SerialPort port);void sendData(SerialPort port, String data) throws IOException;ResponseResultBoolean openSerialPort(SerialPort port, WebSocketSession session); }4.实现类-通过串口向设备发数据 import com.fazecast.jSerialComm.SerialPort; import com.example.rxtxcommon.config.DataListener; import com.example.rxtxcommon.entity.ResponseResult; import com.example.rxtxcommon.service.SerialPortService; import com.example.rxtxcommon.utils.ByteUtils; import org.springframework.stereotype.Service; import org.springframework.web.socket.WebSocketSession;import java.io.IOException; import java.io.InputStream; import java.util.Arrays; import java.util.List;Service public class SerialPortServiceImp implements SerialPortService {public ListSerialPort serialPortList;Overridepublic ListSerialPort discoverSerialPort() {serialPortList Arrays.asList(SerialPort.getCommPorts());// 遍历串口列表并打印每个串口的名称for (SerialPort port : serialPortList) {System.out.println(获取串口: port.getSystemPortName());}return serialPortList;}//关闭串口Overridepublic boolean closeSerialPort(SerialPort port) {for (SerialPort portItem : serialPortList) {if (portItem.getSystemPortName().equals(COM10)) {if (portItem ! null) {System.out.println(断开端口 portItem.getSystemPortName() 连接);return portItem.closePort();}}}return false;}//发送数据到串口Overridepublic void sendData(SerialPort port, String data) throws IOException {byte[] buffer2 ByteUtils.hexStr2Byte(data);port.writeBytes(buffer2, buffer2.length);}Overridepublic ResponseResultBoolean openSerialPort(SerialPort port, WebSocketSession session) {if (port.getSystemPortName().equals(COM10)) {int baudRate 2400; // 波特率int parity SerialPort.EVEN_PARITY; // 校验位int dataBits 8; // 数据位int stopBits SerialPort.ONE_STOP_BIT; // 停止位if (port.openPort()) {try {boolean setComResult port.setComPortParameters(baudRate, dataBits, stopBits, parity); // 设置参数boolean setComTimes port.setComPortTimeouts(SerialPort.TIMEOUT_READ_SEMI_BLOCKING, 20000, 0); // 设置超时if (setComResult setComTimes) {port.addDataListener(new DataListener(port.getSystemPortName(), session));}} catch (Exception e) {e.printStackTrace();return ResponseResult.getErrorResult(Failed to open port port.getSystemPortName() e.getMessage().toString());}System.out.println(COM10 Serial port open 打开);return ResponseResult.getSuccessResult(COM10 Serial port open);} else {return ResponseResult.getErrorResult(Failed to open port port.getSystemPortName());}}return ResponseResult.getErrorResult(Failed to find port port.getSystemPortName());}}5.监听设备通过串口返回数据 import com.fazecast.jSerialComm.SerialPort; import com.fazecast.jSerialComm.SerialPortDataListener; import com.fazecast.jSerialComm.SerialPortEvent; import com.example.rxtxcommon.utils.ByteUtils; import lombok.SneakyThrows; import org.springframework.web.socket.TextMessage; import org.springframework.web.socket.WebSocketSession;public class DataListener implements SerialPortDataListener {private WebSocketSession session;private String portName;//通过websocket打开监听设备的时候绑定session返回给前端数据public DataListener(String portName, WebSocketSession session) {this.portName portName;this.session session;}Overridepublic int getListeningEvents() {return SerialPort.LISTENING_EVENT_DATA_WRITTEN;}SneakyThrowsOverridepublic void serialEvent(SerialPortEvent event) {String hexString ;if (event.getEventType() SerialPort.LISTENING_EVENT_DATA_WRITTEN) {byte[] newData new byte[event.getSerialPort().bytesAvailable()];int numRead event.getSerialPort().readBytes(newData, newData.length);hexString ByteUtils.byteArrayToHexString(newData);}System.out.println(监听接收串口 portName ;数据 hexString);session.sendMessage(new TextMessage(hexString));} } 6.创建响应结果类ResponseResult import lombok.Data; import java.io.Serializable;Data public class ResponseResultT implements Serializable {/*** responseCode : 成功默认为1*/public static final int CODE_SUCCESS 1;/*** responseCode : 失败默认为500*/public static final int CODE_ERROR 500;private Integer code;private String message;private T data;public ResponseResult(Integer code, String message, T data) {this.code code;this.message message;this.data data;}public ResponseResult(Integer code, String message) {this.code code;this.message message;this.data data;}public static T ResponseResultT getSuccessResult(String message, T data) {return new ResponseResult(CODE_SUCCESS, message, data);}public static T ResponseResultT getSuccessResult(String message) {return new ResponseResult(CODE_SUCCESS, message);}public static T ResponseResultT getErrorResult(String message) {return new ResponseResult(CODE_ERROR, message);} }
http://www.pierceye.com/news/327716/

相关文章:

  • 女人动漫做受网站wordpress如何作页面
  • 做网站导航栏素材图建筑设计网站制作
  • 淘宝的网站建设方案国家为何要求所有网站均须备案
  • 企业网站模板下载哪家公司强温州建设公司网站
  • 网站编辑能在家做wordpress 做的商城
  • 空间信息网站开发公司工程项目质量安全管理体系
  • 网站流量被黑包装回收网站建设
  • 网站拒绝被百度收录成品网站1688特色
  • 深圳住房和建设局网站官网打不开WordPress 斗鱼
  • 纯文本网站连接西宁圆井模板我自己做的网站
  • 职业院校专题建设网站wordpress文章版权投诉
  • 网站改版好吗如何解决旅游网站建设问题
  • 爱站网使用的是什么网站模仿网站页面违法吗
  • 做民宿的网站wordpress 短信平台
  • 婚恋网站上认识人 带你做原油交易怎么用手机创造网站
  • 网站建设投标书服务方案范本天津北京网站建设公司
  • 网站建设好评公司微企点建站怎么样
  • 某网站开发项目成本估计推广普通话作文500字
  • 制作网站需要哪些工作网站建设佰金手指科杰十三
  • 外贸哪家做网站wordpress excel搜索
  • 苏州做网站推广的英文搜索网站
  • 政务微网站建设方案深圳市易捷网络科技有限公司
  • 云南网站建设哪家好长沙网站建设营销
  • 四川省建设厅注册中心网站网站管理内容
  • 百度提交网站wordpress广告设置
  • 余姚市城乡建设局网站石家庄上门足疗
  • 深圳工程造价建设信息网站php网站建设题目
  • 龙岗网站制作织梦整合wordpress
  • 代做效果图网站哪家好汉中市建设局网站
  • 东阳海天建设集团网站网站蜘蛛爬行统计