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

相关推荐
糕冷小美n29 分钟前
elementuivue2表格不覆盖整个表格添加固定属性
前端·javascript·elementui
小哥不太逍遥44 分钟前
Technical Report 2024
java·服务器·前端
AI360labs_atyun2 小时前
字节AI双王炸来了!Seedance 2.0 + Seedream 5.0
人工智能·科技·学习·百度·ai
wanhengidc2 小时前
私有云具体是指什么
服务器·网络·游戏·智能手机·云计算
A星空1232 小时前
三、Kconfig介绍以及制作menuconfig界面
linux·运维·服务器
爱上妖精的尾巴2 小时前
8-10 WPS JSA 正则表达式:贪婪匹配
服务器·前端·javascript·正则表达式·wps·jsa
不用89k2 小时前
SpringBoot学习新手项初识请求
java·spring boot·学习
汐汐咯2 小时前
CNN学习
深度学习·学习·cnn
shadow fish3 小时前
react学习记录(三)
javascript·学习·react.js
小疙瘩3 小时前
element-ui 中 el-upload 多文件一次性上传的实现
javascript·vue.js·ui