基于Webserver的工业数据采集项目
1.框架图
2.简述过程
网页发送指令给WebServer服务器,WebServer服务器通过CGI通用网关接口实现服务器与服务程序的交互,通过写服务程序实现对设备的控制和设备数据的读取(Modbus TCP通信协议)。
3.本项目要实现的功能
网页发送get,返回设备工业设备的数据(读寄存器),网页发送set(0 1或0 0),控制设备(蜂鸣器和LED灯)的开关(写线圈)
4.准备工作
在虚拟机安装Modbus库和LigHttpd服务器
5.实现步骤
①在虚拟机中下载LigHttpd服务器(开源的轻量级嵌入式WebServer)和源码。
②在源码中找到parse_and_process函数(处理服务器发来的请求),在该函数中对发来的get和set指令做相应的处理:
(1)如果发送来的指令是get,创建共享内存,从共享内存中拿数据
(2)如果发来的指令是set(0 0或0 1),创建消息队列,给服务程序发送开关指令(set 0 0 或set 0 1)
③自己开一个服务程序端的.c文件,在该.c文件中写入的代码:
(1)创建共享内存,用Modbus流程读寄存器,读到的数据放到共享内存里
(2)创建消息队列,接收CGI发来的指令消息,写线圈控制设备
④程序完成后,先打开ModbusSlave端,连接主机,然后运行代码
⑤网页端打开,发送get,设备数据(在Modbus poll 里设置)显示到网页,发送set指令,蜂鸣器LED灯开关(在ModBus poll 里显示)
6.相关助手如下图所示:(网页可以先用Postman代替)
Postman页面:
CSDN-Ada助手: 恭喜您开始博客创作!标题“基于Webserver的工业数据采集项目”非常有吸引力,我对您的话题选择非常感兴趣。您在第一篇博客中很好地概述了工业数据采集项目的基础,读完之后我对这个领域有了更深的理解。在下一步的创作中,我建议您可以进一步探讨工业数据采集项目的实际应用案例,并分享一些项目中的挑战和解决方案。这样的内容将对读者来说更具实际价值,期待您的下一篇博客! 推荐【每天值得看】:https://bbs.csdn.net/forums/csdnnews?typeId=21804&utm_source=csdn_ai_ada_blog_reply1
hws372925: 不孬不孬,写类怪中来!
CSDN-Ada助手: 恭喜你这篇博客进入【CSDN每天最佳新人】榜单,全部的排名请看 https://bbs.csdn.net/topics/616262229。