然后根据平台的接口文档,搭建你的开发环境。这个一般使用单片机吧?或arduino?平台有对应的程序。当然单片机环境必须要有网络模块或wifi模块来联网。
在平台中建立你的设备,传感器等,建立后有对应的编号等,在程序中要用。
最后,完善程序,调试传感器,调试上传,平台就能收到数据。首先要获取传感器的数据。这个可以通过串口方式进行监控读取数据。
TCP方式是可靠连接,因此要建二个程序,一个客户端,一个服务器端。
服务器在某个端口进行监听,是否有连接。有的话则等待对方数据传过来,再进一步处理。
客户端先要连服务器端口,成功后,再连接的基础上发送数据(此数据为串口获取的数据),你最好自己封下包。防止粘包。有两种方法可以将数据从传感器传输到计算机:
1、模拟方法:传感器将模拟信号输出到计算机的ad板(或其它采样装置),ad板将模拟量转换成数字量,作为计算机能识别的数据。
2、最直接的方式是传感器具有总线接口(如RS-232、RS-485、can等),计算机通过相应的总线直接读取传感器信号。
扩展资料:
传感器的输出信号可分为三种:增量码信号、绝对码信号和开关信号。这三种信号各有优点。
delta码信号的特点是测量值与传感器输出信号的变化周期数成正比,即输出值的大小由信号变化周期数的增量决定。一般来说,当光栅位移传感器、磁光栅位移传感器和激光位移传感器采用干涉法测量位移时,传感器的输出信号是增量码信号。
绝对码信号是与被测物体状态相对应的一种信号。例如,代码盘的每个角度和方向对应一组代码,称为绝对代码。绝对码信号具有很强的抗干扰能力。无论在测量过程中发生什么,经过干扰后,一个状态总是对应于一组特定的码。呵呵,这些你都要查安捷伦传感器的手册,上面有完整的通信协议。
拿modbus协议讲,分命令和数据
命令发出时,从机根据命令独处想要的数据,例如温度 湿度
根据命令形式,可以一次读出温度 湿度等若干数据,也可以只读其中一种数据。
但不会出现发出命令后总是自动返回数据的情况,如果那样,从机会永久占用通信口,主机怎么能再改变命令要求呢?
数据形式可以是MODBUS RTU 或者MODBUS ASCII ,看说明书会有详细说明。
存放的话,可以定义数组,但因为有时候数据位长不见得都一样,也为了方便查找,最好定义成结构体,当然最完美的还是定义成链表 双向链表的形式。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)