欢迎光临散文网 会员登陆 & 注册

基于ASP动态网页与Kingview的实时温度采集系统——可发布于局域网在多种设备上显示

2023-08-20 22:50 作者:桥柳风  | 我要投稿

2023年8月20日 阴天有雨

下午3时许,闲来无事,便浮想联翩。早已学过使用Kingview软件通过数据采集卡采集传感器数据,并将其显示在电脑屏幕上。奈何只能在一台电脑上查看。早就想过是否可以躺在床上,拿手机就能查看家中各个传感器的数据(温度、湿度、光照强度等)。在Android手机、iPhone、Windows、MAC设备上跨平台显示的最好方法就是利用浏览器查看网页。想到这些,便开始在网上搜集资料,具体实施步骤如下。

首先,新建一个工程将其命名为1。

然后新建一个画面,命名为“温度采集”。

在图库中选择一个仪表,将其拖入画面。

适当调整大小,并添加文字“温度(℃)”。

设备连接选择PLC-莫迪康-ModbusRTU,端口COM3,设备地址1,波特率9600,通信方式485,数据位8,停止位1,无校验。

然后在数据词典中新建变量,命名为“温度”。具体设置如下图:

再新建一个变量q1,变量类型为内存实数;

由于31寄存器的数值为实际温度的13000000倍,因此在应用程序命令语言中写下如下代码:q1=温度/13000000;此时q1即为实际温度值。

然后双击仪表进行变量替换,将模拟量1替换为刚刚创建的变量q1。

硬件连接方式如下:

将USB接头插在电脑上,系统开始工作。

测试系统可以正常运行后,停止运行,然后在数据词典中新建一个变量q,类型为内存字符串,其具体设置如下:

然后在数据改变命令语言中写下如下代码:

FileDelete("D:\a\a.txt"); //删除D盘a文件夹中的a.txt文件

q=StrFromReal(q1, 2,"f");//将数据类型为内存实数的q1转换为字符串变量q

FileWriteStr ("D:\a\a.txt",0,q,1);// 在D盘a文件夹中创建a.txt文件并将字符串变量q写入

接下来是ASP网页制作,在D盘a文件夹中新建一个文本文档,在其中写入如下代码:

<%@ Language=VBScript %>

<html>

<head>

    <title>温度采集</title>

    <script>

        function fetchData() {

            var xmlhttp = new XMLHttpRequest();

            xmlhttp.onreadystatechange = function() {

                if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {

                    document.getElementById("txtContent").innerHTML = xmlhttp.responseText;

                }

            }

            xmlhttp.open("GET", "g.asp", true);

            xmlhttp.send();

        }


        // 每100ms调用一次fetchData函数

        setInterval(fetchData,100);

    </script>

</head>

<body onload="fetchData()">

    <h1>温度</h1>


    <div id="txtContent"></div>

</body>

</html>

保存好,将其命名为default.asp


再从D盘a文件夹中新建一个文本文档,在其中写入如下代码:

<%@ Language=VBScript %>

<% 

' 创建FileSystemObject对象

Set fs = Server.CreateObject("Scripting.FileSystemObject")

' 打开文本文件

Set txtFile = fs.OpenTextFile(Server.MapPath("a.txt"), 1)

' 读取整个文件内容

fileContent = txtFile.ReadAll

' 关闭文件

txtFile.Close

' 输出文件内容

Response.Write fileContent

%>

保存好,将其命名为g.asp

确保D盘a文件夹内有如下3个文件:

然后在Windows电脑中启用如下服务:

在电脑的开始菜单中搜索Internet Information Services (IIS)管理器,打开它,右击网站,点击添加网站。

网站名称填写“温度”,物理路径选择刚才那三个文件的路径D:\a,选择本机的ip地址(在此之前确保电脑连接wifi,或其它局域网)

其余默认,然后点击确定。

然后右击温度选择管理网站,点击浏览,

这时还不会显示温度的具体数值。

然后打开Kingview,运行系统。再次打开网站,这时就会实时显示温度数值。

然后在连接同一个WiFi的手机或平板的浏览器中,输入电脑的IP地址,就可以显示实时温度数值。

接下来还可以深入学习动态网页制作,制作出更加美观的画面。通过内网穿透还可以实现外出的时候查看家中各个传感器的数值,从而不必在同一个局域网内,就可以查看数据。

基于ASP动态网页与Kingview的实时温度采集系统——可发布于局域网在多种设备上显示的评论 (共 条)

分享到微博请遵守国家法律