学习总结(二) 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}\`);

相关推荐
donecoding11 分钟前
Corepack 完全解析:从懵到懂,包管理器自由了
前端·node.js·前端工程化
吠品15 分钟前
高性能JS数组操作:何时选用push、unshift、splice或扩展运算符?
linux·服务器·数据库
ZC跨境爬虫20 分钟前
跟着 MDN 学 HTML day_12:(HTML网页图片嵌入)
前端·javascript·css·ui·html
网络工程小王26 分钟前
【LangChain Output Parser 输出解析器】输出篇
人工智能·学习·langchain
fish_xk30 分钟前
Linux中的指令和权限
linux·运维·服务器
暴力求解31 分钟前
Linux---内核态
linux·运维·服务器
是上好佳佳佳呀38 分钟前
【前端(十二)】JavaScript 函数与对象笔记
前端·javascript·笔记
mounter62540 分钟前
深入理解 Linux 网络新特性:netkit 中的 RX/TX Queue Leasing 与 TCP Devmem
linux·服务器·网络·tcp/ip·kernel
空中海1 小时前
02. 静态逆向、Manifest 分析与 Smali 重打包
服务器·网络·windows
Rkgua1 小时前
ESModule和Commonjs模块的区别
前端·javascript