package serial;
import java.io.*;
import java.util.*;
import java.util.concurrent.BlockingQueue;
import javax.comm.*;
public class SimpleRead extends Observable implements Runnable, SerialPortEventListener {
private InputStream inputStream;
private static SerialPort serialPort;
private SimpleRead readThread;
private volatile String message;
private final BlockingQueue proQueue;
public SimpleRead(CommPortIdentifier portId,BlockingQueue publicBoxQueue) {
this.proQueue = publicBoxQueue;
try {
serialPort = (SerialPort) portId.open("SimpleReadApp", 2000);/* open方法打开通讯端口,获得一个CommPort对象。它使程序独占端口。如果端口正被其他应用程序占用,将使用CommPortOwnershipListener事件机制,传递一个PORT_OWNERSHIP_REQUESTED事件。每个端口都关联一个InputStream 何一个OutputStream。如果端口是用open方法打开的,那么任何的getInputStream都将返回相同的数据流对象,除非有close被调用。有两个参数,第一个为应用程序名;第二个参数是在端口打开时阻塞等待的毫秒数。*/
} catch (PortInUseException e) {
e.printStackTrace();
}
try {
inputStream = serialPort.getInputStream();/*获取端口的输入流对象*/
} catch (IOException e) {
e.printStackTrace();
}
try {
serialPort.addEventListener(this);/*注册一个SerialPortEventListener事件来监听串口事件*/
} catch (TooManyListenersException e) {
e.printStackTrace();
}
serialPort.notifyOnDataAvailable(true);/*数据可用*/
try {
serialPort.setSerialPortParams(9600,
SerialPort.DATABITS_8,
SerialPort.STOPBITS_1,
SerialPort.PARITY_NONE);/*设置串口初始化参数,依次是波特率,数据位,停止位和校验*/
} catch (UnsupportedCommOperationException e) {
e.printStackTrace();
}
this.run();
}
@Override
public void run() {
}
//串口事件
@Override
public void serialEvent(SerialPortEvent event) {
switch (event.getEventType()) {
case SerialPortEvent.BI:/*Break interrupt,通讯中断*/
case SerialPortEvent.OE:/*Overrun error,溢位错误*/
case SerialPortEvent.FE:/*Framing error,传帧错误*/
case SerialPortEvent.PE:/*Parity error,校验错误*/
case SerialPortEvent.CD:/*Carrier detect,载波检测*/
case SerialPortEvent.CTS:/*Clear to send,清除发送*/
case SerialPortEvent.DSR:/*Data set ready,数据设备就绪*/
case SerialPortEvent.RI:/*Ring indicator,响铃指示*/
case SerialPortEvent.OUTPUT_BUFFER_EMPTY:/*Output buffer is empty,输出缓冲区清空*/
break;
case SerialPortEvent.DATA_AVAILABLE:/*Data available at the serial port,端口有可用数据。读到缓冲数组,输出到终端*/
byte[] readBuffer = new byte[50];
try {
int len = 0 ;
int temp = 0 ; // 接收每一个读取进来的数据
while((temp = inputStream.read())!= -1){
// 表示还有内容,文件没有读完
if(temp == 13) {
proQueue .put(new String(readBuffer).trim());
readBuffer = new byte[50];
len = 0;
continue;
}
readBuffer[len] = (byte)temp ;
len++ ;
}
} catch (IOException | InterruptedException e) {
e.printStackTrace();
}
break;
}
}
public static void sendComm(String data) {
byte[] writerBuffer = data.getBytes();
OutputStream outputStream;
try {
outputStream = serialPort.getOutputStream();
outputStream.write(writerBuffer);
outputStream.flush();
} catch (IOException e) {
e.printStackTrace();
}
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
嵌入式作业 http mqtt+源代码+文档说明
共120个文件
xml:84个
class:11个
java:10个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 173 浏览量
2023-12-17
18:23:59
上传
评论
收藏 756KB ZIP 举报
温馨提示
- 不懂运行,下载完可以私聊问,可远程教学 该资源内项目源码是个人的课程设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。
资源推荐
资源详情
资源评论
收起资源包目录
嵌入式作业 http mqtt+源代码+文档说明 (120个子文件)
MqttReceiveConfig.class 5KB
HttpClient.class 3KB
SimpleRead.class 3KB
SendMqttMessage.class 3KB
DataCenter.class 3KB
DataController.class 2KB
PushCallback.class 1KB
Main.class 1KB
TemperatureDataBuffer.class 1KB
LightDataBuffer.class 1KB
ArduinoCloudApplication.class 706B
chart.html 4KB
chart.html 4KB
arduinoCloud.iml 9KB
arduinoConnector.iml 517B
multiTask.ino 3KB
org.eclipse.paho.client.mqttv3-1.2.1.jar 217KB
SimpleRead.java 4KB
HttpClient.java 3KB
MqttReceiveConfig.java 3KB
SendMqttMessage.java 3KB
DataCenter.java 2KB
Main.java 2KB
DataController.java 1KB
TemperatureDataBuffer.java 571B
LightDataBuffer.java 567B
ArduinoCloudApplication.java 310B
echarts.simple.min.js 300KB
echarts.simple.min.js 300KB
jquery-3.3.1.min.js 85KB
jquery-3.3.1.min.js 85KB
算数平均滤波法.png 93KB
中位数滤波法.png 87KB
消抖滤波法.png 64KB
application.properties 864B
application.properties 670B
workspace.xml 46KB
workspace.xml 38KB
uiDesigner.xml 9KB
uiDesigner.xml 9KB
pom.xml 4KB
Maven__org_springframework_integration_spring_integration_stream_4_3_12_RELEASE.xml 757B
Maven__org_springframework_boot_spring_boot_test_autoconfigure_1_5_8_RELEASE.xml 757B
Maven__org_springframework_boot_spring_boot_starter_thymeleaf_1_5_8_RELEASE.xml 750B
Maven__org_springframework_integration_spring_integration_mqtt_4_3_12_RELEASE.xml 743B
Maven__org_springframework_integration_spring_integration_core_4_3_12_RELEASE.xml 743B
Maven__org_springframework_boot_spring_boot_starter_logging_1_5_8_RELEASE.xml 736B
Maven__org_springframework_boot_spring_boot_starter_tomcat_1_5_8_RELEASE.xml 729B
Maven__org_springframework_boot_spring_boot_autoconfigure_1_5_8_RELEASE.xml 722B
Maven__org_springframework_boot_spring_boot_starter_test_1_5_8_RELEASE.xml 715B
Maven__org_springframework_boot_spring_boot_starter_web_1_5_8_RELEASE.xml 708B
Maven__com_vaadin_external_google_android_json_0_0_20131108_vaadin1.xml 688B
Maven__org_springframework_boot_spring_boot_starter_1_5_8_RELEASE.xml 680B
Maven__org_eclipse_paho_org_eclipse_paho_client_mqttv3_1_0_2.xml 669B
Maven__org_springframework_boot_spring_boot_test_1_5_8_RELEASE.xml 659B
Maven__nz_net_ultraq_thymeleaf_thymeleaf_layout_dialect_1_4_0.xml 655B
Maven__org_springframework_spring_expression_4_3_12_RELEASE.xml 653B
Maven__org_apache_tomcat_embed_tomcat_embed_websocket_8_5_23.xml 648B
Maven__org_springframework_spring_messaging_4_3_12_RELEASE.xml 646B
compiler.xml 636B
Maven__org_springframework_retry_spring_retry_1_2_1_RELEASE.xml 635B
Maven__org_springframework_spring_context_4_3_12_RELEASE.xml 632B
Maven__com_fasterxml_jackson_core_jackson_annotations_2_8_0.xml 632B
Maven__org_springframework_spring_webmvc_4_3_12_RELEASE.xml 625B
Maven__org_springframework_boot_spring_boot_1_5_8_RELEASE.xml 624B
Maven__org_apache_tomcat_tomcat_annotations_api_8_5_23.xml 624B
Maven__org_thymeleaf_thymeleaf_spring4_2_1_5_RELEASE.xml 622B
Maven__org_hibernate_hibernate_validator_5_3_5_Final.xml 622B
Maven__com_fasterxml_jackson_core_jackson_databind_2_8_10.xml 618B
Maven__org_springframework_spring_beans_4_3_12_RELEASE.xml 618B
Maven__org_apache_tomcat_embed_tomcat_embed_core_8_5_23.xml 613B
Maven__org_springframework_spring_core_4_3_12_RELEASE.xml 611B
Maven__org_springframework_spring_test_4_3_12_RELEASE.xml 611B
Maven__io_github_openfeign_form_feign_form_spring_3_0_3.xml 610B
Maven__org_springframework_spring_web_4_3_12_RELEASE.xml 604B
Maven__org_springframework_spring_aop_4_3_12_RELEASE.xml 604B
Maven__org_apache_tomcat_embed_tomcat_embed_el_8_5_23.xml 599B
Maven__javax_validation_validation_api_1_1_0_Final.xml 599B
Maven__org_springframework_spring_tx_4_3_12_RELEASE.xml 597B
Maven__org_jboss_logging_jboss_logging_3_3_1_Final.xml 596B
Maven__com_fasterxml_jackson_core_jackson_core_2_8_10.xml 590B
Maven__org_unbescape_unbescape_1_1_0_RELEASE.xml 566B
Maven__org_thymeleaf_thymeleaf_2_1_5_RELEASE.xml 566B
Maven__org_apache_httpcomponents_httpclient_4_5_3.xml 565B
Maven__ch_qos_logback_logback_classic_1_1_11.xml 563B
Maven__io_github_openfeign_form_feign_form_3_0_3.xml 561B
Maven__net_sourceforge_nekohtml_nekohtml_1_9_21.xml 554B
Maven__org_apache_httpcomponents_httpcore_4_4_8.xml 551B
Maven__org_slf4j_log4j_over_slf4j_1_7_25.xml 550B
Maven__ch_qos_logback_logback_core_1_1_11.xml 542B
Maven__org_hamcrest_hamcrest_library_1_3.xml 541B
Maven__org_javassist_javassist_3_21_0_GA.xml 538B
Maven__org_mockito_mockito_core_1_10_19.xml 537B
Maven__org_slf4j_jcl_over_slf4j_1_7_25.xml 536B
Maven__com_jayway_jsonpath_json_path_2_2_0.xml 534B
Maven__commons_codec_commons_codec_1_10.xml 531B
Maven__net_minidev_accessors_smart_1_1.xml 530B
Maven__org_skyscreamer_jsonassert_1_4_0.xml 525B
Maven__org_assertj_assertj_core_2_6_0.xml 523B
Maven__org_slf4j_jul_to_slf4j_1_7_25.xml 522B
共 120 条
- 1
- 2
资源评论
机智的程序员zero
- 粉丝: 1958
- 资源: 4206
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功