VB程序实现串口数据收集并存入数据库 (vb 串口收到数据库)
概述
随着物联网技术的广泛应用,串口通信在各行各业中的应用越来越广泛。串口通信可以实现电脑和各种设备的数据传输,如传感器数据、温度数据、湿度数据等。本文将介绍如何使用VB程序实现串口数据的收集并存入数据库中。
实现步骤
1.环境准备
在开始之前,我们需要准备一些环境,如VB开发环境、串口转USB线、串口采集设备等。
2.创建VB项目
打开VB开发环境,创建一个新项目,选择“Windows 窗体应用程序”。在程序中添加一个按钮和一个文本框控件。按钮用于启动和停止串口数据的收集,文本框控件用于显示接收到的数据。
3.编写串口数据采集程序
在VB程序中实现串口数据的读取和显示,具体代码如下:
Private mySerialPort As New System.IO.Ports.SerialPort
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If Button1.Text = “开始采集” Then
mySerialPort.PortName = “COM1” ‘选择串口
mySerialPort.BaudRate = 9600 ‘设置波特率
mySerialPort.Parity = IO.Ports.Parity.None
mySerialPort.StopBits = IO.Ports.StopBits.One
mySerialPort.DataBits = 8
mySerialPort.Handshake = IO.Ports.Handshake.None
mySerialPort.ReadTimeout = 1000
mySerialPort.Open() ‘打开串口
AddHandler mySerialPort.DataReceived, AddressOf DataRecevied ‘注册事件
Button1.Text = “停止采集”
Else
mySerialPort.Close() ‘关闭串口
RemoveHandler mySerialPort.DataReceived, AddressOf DataRecevied ‘注销事件
Button1.Text = “开始采集”
End If
End Sub
Private Sub DataRecevied(ByVal sender As Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs)
‘从串口读取数据并显示在文本框中
Dim strData As String = mySerialPort.ReadLine()
Invoke(New MyDelegate(AddressOf DispRecv), String.Format(“{0} {1}”, Now.ToString,
strData))
End Sub
Public Delegate Sub MyDelegate(ByVal str As String)
Private Sub DispRecv(ByVal str As String)
TextBox1.AppendText(str & vbCrLf)
End Sub
以上代码实现启动串口采集后,读取串口数据并将数据实时显示在文本框中。
4.将数据存入数据库
接下来,我们将实现将串口数据存入数据库中。在VB程序中,可使用ADO.NET 实现数据库的访问。以下是实现串口数据存入数据库的代码:
Private Sub SaveData()
Dim myconn As New SqlConnection(“server=(local);database=myDB;uid=myUser;pwd=myPwd;”)
Dim sql As String = “insert into data (time,value) values(‘” & Now.ToString(“yyyy-MM-dd HH:mm:ss”)
& “‘,'” & TextBox1.Text & “‘)”
Dim cmd As New SqlCommand(sql, myconn)
myconn.Open()
cmd.ExecuteNonQuery()
myconn.Close()
End Sub
以上代码中,SqlConnection 类用于建立与数据库的连接,SqlCommand 类用于执行 SQL 命令,insert into 语句用于将数据插入到表中。
5.完善界面及功能
添加“保存数据”按钮,用于手动将当前采集到的数据保存到数据库中。代码如下:
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
SaveData()
End Sub
此外,还可以添加定时保存数据功能,将采集到的数据定时存入数据库中。
本文介绍了如何使用VB程序实现串口数据的收集和存储,通过以上步骤,可以实现对串口数据进行采集、存储、查询等多种操作。串口通信在各行各业中的应用范围非常广泛,如物联网、智能家居、生产控制等领域,本文所介绍的方法可为相关领域的开发提供参考。