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

学习总结(二) node.js服务器如何使用net模块向硬件发送命令与接收数据?

服务器server.js:

const net = require("net");  //此模块用于tcp/ip通讯

当收到get请求时:

server.get("/cfjcApi/v1/SkyTempHudi", (req, res) => {

    let client = new net.Socket();

    client.connect(网络模块端口, 网络模块Ip, () => {    //此模块需要设置好波特率等通讯参数

    let cmd = dataCtl.makeCmd(0, parseInt("0XA1"), 0, []); //调用函数生成要发送的命令

    client.write(cmd);                                                             //发送命令

    client.on("data", function (data) {                                     //当收到数据时

        client.end();                                                                 //断开与485转网络模块的连接 

        return res.send({ result: Array.from(data), type: 1 })   //将收到的数据与设备类型发送至请求方

    });

});

}

浏览器:

async function MeasureselectedStore() {

    let res = await fetch(`http://192.168.0.163:3000/cfjcApi/v1/SkyTempHudi`);

    let json = await res.json();

    let skytemphudi = json;

    if (skytemphudi.type === 1) {//对应数据处理}

    else if (skytemphudi.type === 2) {//对应数据处理}

}

这是测量通用设备的方式,不涉及根据设备位置查找设备类型.

测量某个位置的设备时,

服务器在res.query.storename中得到设备位置,然后根据设备位置去查找设备类型,然后发送

浏览器则fetch(`http://192.168.0.163:3000/cfjcApi/GrainTempHudi?storename=${storename}`);

相关文章:

学习总结(二) node.js服务器如何使用net模块向硬件发送命令与接收数据?

服务器server.js: const net require("net"); //此模块用于tcp/ip通讯 当收到get请求时: server.get("/cfjcApi/v1/SkyTempHudi", (req, res) > { let client new net.Socket(); client.connect(网络模块端口, 网络模块Ip, () > { //此模块…...

rust工程

文章目录 CargomacOS配置rust环境vscode配置 目录结构Cargo.tomlcargo命令hello world 跟web交互WebAssembly 跟Android交互配置Android环境JNI例子NDK例子 Rust 是一种现代的、系统级的编程语言,它强调并发安全、内存安全和高性能。Rust 的设计目标是提供一种有着良…...

Java并发工具类

JDK并发包中常用并发工具类: CountDownLatch、CyclicBarrier和Semaphore工具类提供了一种并发流程控制的手段; Exchanger工具类则提供了在线程间交换数据的一种手段。 等待多线程完成的CountDownLatch CountDownLatch允许一个或多个线程等待其他线程完成…...

晨控CK-GW208与三菱L系列PLC以TCP通讯手册

晨控CK-GW208是一款支持标准工业以太网协议的IO-LINK主站网关,方便用户快速便捷的集成到 PLC 等控制系统中。 CK-GW208主站网关集成 8 路 IO-LINK 通信端口,采用即插即用模式,无需繁琐的配置,减轻现场安装调试的工作量。为了满足…...

c++11 标准模板(STL)(std::basic_istringstream)(五)

定义于头文件 <sstream> template< class CharT, class Traits std::char_traits<CharT> > class basic_istringstream;(C11 前)template< class CharT, class Traits std::char_traits<CharT>, class Allocator std::allo…...

【案例教程】高分论文密码:大尺度空间模拟预测与数字制图

尺度空间模拟预测和数字制图技术和不确定性分析广泛应用于高分SCI论文之中&#xff0c;号称高分论文密码。大尺度模拟技术可以从不同时空尺度阐明农业生态环境领域的内在机理和时空变化规律&#xff0c;又可以为复杂的机理过程模型大尺度模拟提供技术基础。在本次培训中&#x…...

uniapp 自定义手机顶部状态栏(适配状态栏高度)

开启页面自定义导航栏功能 uniapp 在 pages.json 页面设置了全局的 globalStyle 的 "navigationStyle": "custom" 或单页面的 style 的 "navigationStyle": "custom" 之后页面顶部就没有自带的导航栏了&#xff0c;这时用户可自定义该…...

【LeetCode】1448.统计二叉树中好节点的数目

题目 给你一棵根为 root 的二叉树&#xff0c;请你返回二叉树中好节点的数目。 「好节点」X 定义为&#xff1a;从根到该节点 X 所经过的节点中&#xff0c;没有任何节点的值大于 X 的值。 示例 1&#xff1a; 输入&#xff1a;root [3,1,4,3,null,1,5] 输出&#xff1a;4 …...

C语言基础之——数组

前言&#xff1a;本篇文章&#xff0c;我们将对一维数组&#xff0c;和二维数组进行展开式的讲解&#xff0c;并进行实际应用。 目录 一.一维数组 1.一维数组的创建和初始化 &#xff08;1&#xff09;数组的创建 &#xff08;2&#xff09;数组的初始化 2.一维数组的使用…...

c# 插入排序

插入排序&#xff08;Insertion Sort&#xff09;&#xff1a;将未排序的元素逐个插入到已排序的序列中的正确位置。 原始数据&#xff1a;{4&#xff0c;3&#xff0c;2&#xff0c;90&#xff0c;10} 第一个循环j0 首先取出索引为1的元素 3 &#xff0c;索引为0的元素4&…...

action和mutation之间的利用 代码解释

场景&#xff1a;购物车点击按钮 context.commit(‘changeCount’, { goodsNum, goodsId })解释这段代码 这段代码是在使用 Vuex 进行状态管理时常见的一种写法。下面对代码进行解释&#xff1a; context.commit 是 Vuex 中的一个方法&#xff0c;用于触发一个名为 changeC…...

WPF基础入门-Class4-WPF绑定

WPF基础入门 Class4&#xff1a;WPF绑定 1、cs文件中设置需要绑定的数据&#xff1a; public partial class Class_4 : Window{public Class_4(){InitializeComponent();List<Color> test new List<Color>();test.Add(new Color() { Code "Yellow",…...

【广州华锐互动】VR高校虚拟实验教学平台提供丰富的资源支持,提高教学效果

随着科技的不断进步&#xff0c;虚拟现实(VR)技术已经逐渐渗透到各个领域&#xff0c;其中包括教育。 广州华锐互动利用VR虚拟现实技术打造的VR高校虚拟实验教学平台&#xff0c;是一种新型的教学工具&#xff0c;它提供了一个在线的教学资源管理平台&#xff0c;包含教学平台、…...

pytorch学习(7)——神经网络优化器torch.optim

1 optim 优化器 PyTorch神经网络优化器&#xff08;optimizer&#xff09;通过调整神经网络的参数&#xff08;weight和bias&#xff09;来最小化损失函数&#xff08;Loss&#xff09;。 学习链接&#xff1a; https://pytorch.org/docs/stable/optim.html 1.1 优化器基类 使…...

leetcode做题笔记​101. 对称二叉树

给你一个二叉树的根节点 root &#xff0c; 检查它是否轴对称。 思路一&#xff1a;递归 bool isSymmetric(struct TreeNode* root){if (root NULL) return true;return fun(root->left, root->right); }int fun(struct TreeNode* l_root, struct TreeNode* r_root) {…...

边缘计算相关概念--学习笔记

一.边缘计算概念 边缘计算将数据的处理&#xff0c;应用程序的运行甚至一些功能服务的实现&#xff0c;由网络中心下放到网络边缘的节点上&#xff0c;在网络边缘侧的智能网关上就近采集并且处理数据&#xff0c;不需要将大量未处理的数据上传到远程的大数据平台。边缘计算理论…...

flutter windows编译错误 flutter_assemble.vcxproj

flutter 编译windows是出现错误。 [ 44 ms] d:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppCommon.targets(248,5): error MSB8066: &#xfffd;&#xfffd;E:\work\kkview_kuaichuan\kkview_kuaichuan\build\windows\C…...

通过运行中的容器生成 Docker Compose 配置文件

背景 笔者之前有一次不小心删除了原始的 docker-compose.yml 文件&#xff0c;不过正在运行的 Docker 容器还在&#xff0c;找了许久&#xff0c;发现一个方法可以从这些容器中生成一个等效的 Docker Compose 配置文件。本文将介绍使用 autocompose 工具从正在运行的容器中反向…...

rancher界面无法登陆问题解决,登录超时;

1.找到rancher主机&#xff0c;查看日志 docker ps | grep rancher # rancher 容器 名称 jolly_ptolemy docker logs -f jolly_ptolemy 日志提示&#xff0c; java.sql.SQLException: Got error 28 from storage engine&#xff0c;磁盘满了 2.磁盘管理 df -h #查看磁盘使…...

Django(6)-django项目自动化测试

Django 应用的测试应该写在应用的 tests.py 文件里。测试系统会自动的在所有以 tests 开头的文件里寻找并执行测试代码。 我们的 polls 应用现在有一个小 bug 需要被修复&#xff1a;我们的要求是如果 Question 是在一天之内发布的&#xff0c; Question.was_published_recentl…...

别只写对话了!Ren‘Py高级玩家都在用的5个隐藏技巧:转场、音效、变量与存档

别只写对话了&#xff01;RenPy高级玩家都在用的5个隐藏技巧&#xff1a;转场、音效、变量与存档 当你已经能够用RenPy制作基础视觉小说时&#xff0c;是否发现自己的作品总像"电子版小说"&#xff1f;真正的商业级作品会通过动态转场、环境音效、分支剧情等设计让玩…...

ComfyUI-WanVideoWrapper:让AI视频生成变得像搭积木一样简单

ComfyUI-WanVideoWrapper&#xff1a;让AI视频生成变得像搭积木一样简单 【免费下载链接】ComfyUI-WanVideoWrapper 项目地址: https://gitcode.com/GitHub_Trending/co/ComfyUI-WanVideoWrapper 你是否曾经想过&#xff0c;如果能把AI视频生成的复杂过程拆解成一个个简…...

用51单片机+普中开发板DIY一个抢答器,从Proteus仿真到实物烧录全流程记录

从零打造51单片机抢答器&#xff1a;普中开发板实战全记录 第一次接触单片机项目时&#xff0c;我盯着闪烁的LED灯兴奋了整整半小时——那种"让机器听我指挥"的成就感&#xff0c;至今记忆犹新。这次要挑战的是更实用的抢答器制作&#xff0c;不仅涉及编程逻辑&#…...

OpenClaw日志分析技巧:GLM-4.7-Flash任务执行问题定位

OpenClaw日志分析技巧&#xff1a;GLM-4.7-Flash任务执行问题定位 1. 为什么需要关注OpenClaw日志 上周我在尝试用GLM-4.7-Flash模型自动处理一批技术文档时&#xff0c;遇到了一个诡异现象&#xff1a;任务明明显示执行成功&#xff0c;但最终输出文件却是空的。这个经历让我…...

LLaMA-Factory推理性能优化指南:如何用vLLM和量化技术提升3倍吞吐量

LLaMA-Factory推理性能优化实战&#xff1a;从参数调优到量化部署 当你的LLaMA-Factory模型推理请求从每秒10次飙升到1000次时&#xff0c;服务器突然开始报警——显存爆满、响应延迟激增、API错误率直线上升。这不是灾难片的开场&#xff0c;而是每个AI工程师终将面对的性能瓶…...

Windows 7 SP2:让经典系统在现代硬件上重获新生的完整解决方案

Windows 7 SP2&#xff1a;让经典系统在现代硬件上重获新生的完整解决方案 【免费下载链接】win7-sp2 UNOFFICIAL Windows 7 Service Pack 2, to improve basic Windows 7 usability on modern systems and fully update Windows 7. 项目地址: https://gitcode.com/gh_mirror…...

别再手动复制数组了!用NumPy广播机制5分钟搞定形状不同的数组运算

NumPy广播机制&#xff1a;告别低效循环&#xff0c;用智能扩展提升数组运算效率 你是否曾在处理数据时遇到过这样的场景&#xff1a;需要将一个34的矩阵与一个14的行向量相加&#xff0c;结果却因为维度不匹配而报错&#xff1f;大多数Python初学者会本能地选择用循环或复制数…...

SlopeCraft:解锁Minecraft地图艺术创作的神器

SlopeCraft&#xff1a;解锁Minecraft地图艺术创作的神器 【免费下载链接】SlopeCraft Map Pixel Art Generator for Minecraft 项目地址: https://gitcode.com/gh_mirrors/sl/SlopeCraft 副标题&#xff1a;面向创意玩家的方块世界艺术生成工具&#xff0c;让照片秒变立…...

Qwen-Image-Edit-2509入门指南:无需代码,用自然语言编辑图片

Qwen-Image-Edit-2509入门指南&#xff1a;无需代码&#xff0c;用自然语言编辑图片 1. 什么是Qwen-Image-Edit-2509&#xff1f; 想象一下&#xff0c;你只需要对着电脑说"把这张照片里的蓝天换成夕阳"&#xff0c;图片就自动完成了修改——这就是Qwen-Image-Edit…...

OpenClaw+nanobot镜像:学术PDF自动摘要系统实战

OpenClawnanobot镜像&#xff1a;学术PDF自动摘要系统实战 1. 为什么需要自动化文献处理 作为一名经常需要阅读大量学术论文的研究者&#xff0c;我发现自己每周要花费数小时在重复性劳动上&#xff1a;下载PDF、快速浏览摘要、标记关键段落、整理参考文献。这些机械性工作不…...