VB.net web服务器
我有一个Arduino MEGA 2560,我正在建造一个智能家居。它没有WiFi或以太网端口,所以我编写了一个vb.net程序来读取串行端口。但我不知道如何制作一个网站来显示温度传感器的价值 你可以试试这样的 带有AJAX计时器的简单HTML页面VB.net web服务器,vb.net,arduino,serial-port,webserver,Vb.net,Arduino,Serial Port,Webserver,我有一个Arduino MEGA 2560,我正在建造一个智能家居。它没有WiFi或以太网端口,所以我编写了一个vb.net程序来读取串行端口。但我不知道如何制作一个网站来显示温度传感器的价值 你可以试试这样的 带有AJAX计时器的简单HTML页面 <!DOCTYPE html> <html> <body> <p>A script on this page starts this clock:</p> <p id="demo"
<!DOCTYPE html>
<html>
<body>
<p>A script on this page starts this clock:</p>
<p id="demo"></p>
<p><b>Status:</b> <span id="A1"></span></p>
<p><b>Status text:</b> <span id="A2"></span></p>
<p><b>Response:</b> <span id="A3"></span></p>
<script>
var myVar = setInterval(myTimer, 1000);
function myTimer() {
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (xhttp.readyState == 4 && xhttp.status == 200) {
document.getElementById('A1').innerHTML = xhttp.status;
document.getElementById('A2').innerHTML = xhttp.statusText;
document.getElementById('A3').innerHTML = xhttp.responseText;
}
};
xhttp.open("GET", 'TempXML.xml', true);
xhttp.send();
}
</script>
</body>
</html>
此页上的脚本启动此时钟:
地位:
状态文本:
答复:
var myVar=setInterval(myTimer,1000);
函数myTimer(){
var xhttp=newXMLHttpRequest();
xhttp.onreadystatechange=函数(){
如果(xhttp.readyState==4&&xhttp.status==200){
document.getElementById('A1').innerHTML=xhttp.status;
document.getElementById('A2').innerHTML=xhttp.statusText;
document.getElementById('A3').innerHTML=xhttp.responseText;
}
};
open(“GET”,'TempXML.xml',true);
xhttp.send();
}
简单XML
<TempXML>
<DateTime>28\02\2016 22:10:00 :: </DateTime>
<body>31 ºC :: 87 ºF</body>
</TempXML>
28\02\2016 22:10:00 ::
31 ºC::87和186;F
现在,将XML另存为“TempXML.XML”,与HTML页面位于同一文件夹中,然后将HTML加载到浏览器中。。。。HTML页面中的计时器将每秒启动并读取XML,您只需将Arduino中的数据写入\保存到XML文件中,HTML将使用新数据更新
“好的,好的”
编辑
“好的,好的”
下面是一个示例控制台应用程序,用于写入XML文件
Imports System.Xml
Module Module1
Sub Main()
Dim NewTemp = New TempData
' Set you DateTime and Temp here
NewTemp.DateTime = DateTime.Now
NewTemp.fahrenheit = 80 ' Data from your Arduino
NewTemp.celsius = 36 ' Data from your Arduino
' Create XmlWriterSettings.
Dim settings As XmlWriterSettings = New XmlWriterSettings()
settings.Indent = True
Using writer As Xml.XmlWriter = Xml.XmlWriter.Create("<Path to your XML Temp file>\TempXML.xml", settings)
' Begin writing.
writer.WriteStartDocument()
writer.WriteStartElement("TempXML") ' Root.
writer.WriteElementString("DateTime", NewTemp.DateTime.ToString)
writer.WriteElementString("body", String.Format(" :: {0} °C :: {1} °F", NewTemp.celsius.ToString, NewTemp.fahrenheit.ToString))
' End document.
writer.WriteEndElement()
writer.WriteEndDocument()
End Using
End Sub
End Module
Public Class TempData
Private _DateTime As DateTime
Public Property DateTime() As DateTime
Get
Return _DateTime
End Get
Set(ByVal value As DateTime)
_DateTime = value
End Set
End Property
Private _fahrenheit As Int32
Public Property fahrenheit() As Int32
Get
Return _fahrenheit
End Get
Set(ByVal value As Int32)
_fahrenheit = value
End Set
End Property
Private _celsius As Int32
Public Property celsius() As Int32
Get
Return _celsius
End Get
Set(ByVal value As Int32)
_celsius = value
End Set
End Property
End Class
Imports System.Xml
模块1
副标题()
Dim NewTemp=新的TempData
'在此处设置日期时间和温度
NewTemp.DateTime=DateTime.Now
NewTemp.fahrenheit=80'来自Arduino的数据
NewTemp.celsius=来自Arduino的36'数据
'创建XmlWriterSettings。
作为XmlWriterSettings的Dim设置=新的XmlWriterSettings()
settings.Indent=True
使用writer作为Xml.XmlWriter=Xml.XmlWriter.Create(“\TempXML.Xml”,设置)
“开始写作。
writer.WriteStartDocument()
writer.writeStarteElement(“TempXML”)的根。
writer.WriteElementString(“DateTime”,NewTemp.DateTime.ToString)
writer.WriteElementString(“body”,String.Format(“::{0}°C::{1}°F”,NewTemp.cercific.ToString,NewTemp.fahrenheit.ToString))
'结束文件。
writer.WriteEndElement()
writer.WriteEndDocument()
终端使用
端接头
端模块
公共类临时数据
Private\u DateTime作为DateTime
公共属性DateTime()作为DateTime
得到
返回日期时间
结束
设置(ByVal值作为日期时间)
_日期时间=值
端集
端属性
私人_华氏温度为Int32
公共财产华氏温度()为Int32
得到
返回华氏度
结束
设置(ByVal值为Int32)
_华氏温度=数值
端集
端属性
私有摄氏度为Int32
公共属性()作为Int32
得到
返回摄氏度
结束
设置(ByVal值为Int32)
_摄氏度=数值
端集
端属性
末级
请记住更改XML文件的路径,以适应PC上“XML.XmlWriter.Create”行中的位置
顺便说一句,要获得“°”度符号(您可以在上面的代码中看到)。。。将光标放在正确的位置,按住“Alt”键并键入0176,然后放开“Alt”…这个问题太宽泛了,不可能有一个像样的答案。检查@WtfArdDev我已经用一个示例控制台应用程序更新了我的答案,要将DateTime&Temp数据写入XML文件,当您从Arduino接收串行端口上的数据时,您需要实现类似的功能