整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

IT技术栈:Javascript与硬件通信,串口的使用

avaScript本身不提供直接访问串口的功能。然而,可以使用Web API和JavaScript与串口进行通信,一般需要在浏览器环境中进行。


步骤

  1. Web Serial API:Web Serial API是一种Web API,允许JavaScript在浏览器中与串口设备通信。要使用它,需要在支持该API的浏览器中运行JavaScript。通常需要使用最新的Chrome浏览器。
  2. 请求串口访问:在JavaScript中,我们可以通过使用navigator.serial.requestPort()方法请求访问串口设备。这将提示用户选择串口设备。
const port = await navigator.serial.requestPort();
  1. 打开串口连接
await port.open({ baudRate: 9600 });
  1. 读写数据:可以使用port.readable和port.writable属性来读取和写入数据。例如,我们可以使用readable.getReader()获取一个可读数据流,并使用read()方法读取数据。对于写入,可以使用writable.getWriter()获取一个可写数据流,并使用write()方法写入数据。
  2. 关闭串口:在完成通信后,应该使用port.close()方法关闭串口连接。

使用Web Serial API进行串口通信需要在浏览器环境中运行,并且通常需要用户授权。不是所有浏览器都支持Web Serial API,而且它主要用于Web应用程序,而不是传统的本地JavaScript应用程序。

Demo

// 请求串口访问权限
async function requestSerialAccess() {
  try {
    const port = await navigator.serial.requestPort();
    await port.open({ baudRate: 9600 }); // 打开串口连接

    // 读取数据
    const reader = port.readable.getReader();

    while (true) {
      const { value, done } = await reader.read();
      if (done) {
        break;
      }
      // 处理从串口读取的数据
      console.log(value);
    }

    // 关闭串口连接
    await port.close();
  } catch (error) {
    console.error("Error:", error);
  }
}

// 添加事件监听器,用于在用户点击按钮时请求串口访问权限
const connectButton = document.getElementById("connect-button");
connectButton.addEventListener("click", requestSerialAccess);

首先我们创建了一个函数requestSerialAccess(),它请求串口访问权限,打开串口连接,然后使用一个循环来不断读取数据,将数据输出到控制台。最后,它在完成后关闭串口连接。

业控制中,MODBUS RTU以低成本、高可靠性始终占据着一定市场,但通讯调试才是最头疼的,今天就给准备入手的工友们介绍一下通讯测试的使用方法:

需要准备的硬件:笔记本电脑、USB转MODBUS接口转换器(我使用的是宇泰UT-890A);


宇泰UT-890A

第一步:电脑安装驱动

有很多工友说将串口转换器插电脑上会自动安装,我的电脑系统是WIN10无法自动安装(启用自动更新也不行),虚拟机是WIN7(可以自动安装),为了避免无端头痛,咱们还是老老实实的手动安装吧。

搜索:http://www.szutek.com/dowmser.html

下载安装包里选择对应的驱动傻瓜式安装即可;

第二步:将串口USB插入电脑

以WIN10为例:右键 此电脑 选择 设备管理 ,打开端口,显示如下图:USB Serial Port (COM3) 不同电脑 端口号(COM后边数字)可能不同,但是不影响使用,这种情况是正常的,如果出现感叹号 建议重新安装对应的驱动;



第三步:将USB转MODBUS接口转换器的端接至设备

串口通讯我们采用的是2线制,即两线半双工通讯方式,连接方式如下:


来自宇泰官网说明书

一定不要连错,是T/R+T/R- 分别连接至 RS485 +RS485-

RXD+\RXD-在四线全双工通讯下才会用到

注意:西门子PLC RTU 是用 A、B表示,其中A对应RS485-,B对应RS485+,可参考我的上篇文章:西门子PLC DB9插针 MOUDBUS接线图

第四步:下装串口测试软件,建议MODSCAN32 ,原因就是简单粗暴无脑

其中:Modscan32 是笔记本作主站读取设备的数据,如果笔记本作从站则使用Modsim32

Modscan32界面

配置Modscan32,从站地址、波特率、奇偶校验等与设备保持一致即可,

使用的连接即用到步骤2中的端口号

然后就可以使用电脑进行测试啦!

这就是本次带来的小白教程

*只要你有大病,我们就是工友*

欢迎各位指正、交流

片机与Labview串口通信

单片机与LabVIEW之间的串口通信是一种常见的数据传输方式,它允许单片机与计算机之间进行实时数据交换和控制。LabVIEW作为一种功能强大的图形化编程软件,具有友好的用户界面和强大的数据处理能力,被广泛应用于工程实践和科学研究中。通过串口通信,单片机可以将采集到的数据发送给计算机进行进一步的处理和分析,也可以接收计算机发送的控制指令,实现远程控制和自动化测试。

作为互联网行业工作者,深切建议大家认真学习并尝试涉及单片机的学习,我整理了一些资料大家可以了解下:

https://m.hqyjai.net/emb_study_blue_short.html?xt=cpx

在进行单片机与LabVIEW串口通信时,需要注意以下几个方面:

1. 串口设置:首先需要正确配置串口的参数,包括波特率、数据位、停止位、校验位等。这些参数的设置必须与单片机端的串口设置保持一致,以确保数据的正确传输。

2. 数据格式:单片机发送的数据需要按照一定的格式进行编码,以便计算机能够正确解析。常见的数据格式包括文本格式和二进制格式。在发送数据时,单片机需要按照约定的格式将数据打包成数据包,并在数据包中添加必要的头信息和校验码,以确保数据的完整性和正确性。

3. 通信协议:单片机与计算机之间的通信需要遵循一定的通信协议,以确保数据的正确传输和解析。常见的通信协议包括ASCII协议和Modbus协议等。选择合适的通信协议可以提高数据传输的可靠性和稳定性。

4. 错误处理:在串口通信过程中,可能会出现各种错误,如数据丢失、传输错误等。为了保证数据的正确性和可靠性,需要采取一定的错误处理措施,如数据校验、重传机制等。

总之,单片机与LabVIEW之间的串口通信是一种重要的数据传输方式,它可以实现单片机与计算机之间的实时数据交换和控制。在实际应用中,需要根据具体的应用场景和需求,选择合适的通信协议和数据处理方式,确保数据的正确性和可靠性。同时,也需要不断学习和实践,提高自己的技能水平和应用能力。

https://m.hqyjai.net/emb_study_blue_short.html?xt=cpx#如何学习单片机# #什么叫单片机#