新聞中心
概述

成都創(chuàng)新互聯(lián)堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站建設(shè)、成都網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的烏蘇網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
隨著物聯(lián)網(wǎng)技術(shù)的廣泛應(yīng)用,串口通信在各行各業(yè)中的應(yīng)用越來(lái)越廣泛。串口通信可以實(shí)現(xiàn)電腦和各種設(shè)備的數(shù)據(jù)傳輸,如傳感器數(shù)據(jù)、溫度數(shù)據(jù)、濕度數(shù)據(jù)等。本文將介紹如何使用VB程序?qū)崿F(xiàn)串口數(shù)據(jù)的收集并存入數(shù)據(jù)庫(kù)中。
實(shí)現(xiàn)步驟
1.環(huán)境準(zhǔn)備
在開(kāi)始之前,我們需要準(zhǔn)備一些環(huán)境,如VB開(kāi)發(fā)環(huán)境、串口轉(zhuǎn)USB線、串口采集設(shè)備等。
2.創(chuàng)建VB項(xiàng)目
打開(kāi)VB開(kāi)發(fā)環(huán)境,創(chuàng)建一個(gè)新項(xiàng)目,選擇“Windows 窗體應(yīng)用程序”。在程序中添加一個(gè)按鈕和一個(gè)文本框控件。按鈕用于啟動(dòng)和停止串口數(shù)據(jù)的收集,文本框控件用于顯示接收到的數(shù)據(jù)。
3.編寫(xiě)串口數(shù)據(jù)采集程序
在VB程序中實(shí)現(xiàn)串口數(shù)據(jù)的讀取和顯示,具體代碼如下:
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 = “開(kāi)始采集” Then
mySerialPort.PortName = “COM1” ‘選擇串口
mySerialPort.BaudRate = 9600 ‘設(shè)置波特率
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() ‘打開(kāi)串口
AddHandler mySerialPort.DataReceived, AddressOf DataRecevied ‘注冊(cè)事件
Button1.Text = “停止采集”
Else
mySerialPort.Close() ‘關(guān)閉串口
RemoveHandler mySerialPort.DataReceived, AddressOf DataRecevied ‘注銷(xiāo)事件
Button1.Text = “開(kāi)始采集”
End If
End Sub
Private Sub DataRecevied(ByVal sender As Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs)
‘從串口讀取數(shù)據(jù)并顯示在文本框中
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
以上代碼實(shí)現(xiàn)啟動(dòng)串口采集后,讀取串口數(shù)據(jù)并將數(shù)據(jù)實(shí)時(shí)顯示在文本框中。
4.將數(shù)據(jù)存入數(shù)據(jù)庫(kù)
接下來(lái),我們將實(shí)現(xiàn)將串口數(shù)據(jù)存入數(shù)據(jù)庫(kù)中。在VB程序中,可使用ADO.NET 實(shí)現(xiàn)數(shù)據(jù)庫(kù)的訪問(wèn)。以下是實(shí)現(xiàn)串口數(shù)據(jù)存入數(shù)據(jù)庫(kù)的代碼:
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 類(lèi)用于建立與數(shù)據(jù)庫(kù)的連接,SqlCommand 類(lèi)用于執(zhí)行 SQL 命令,insert into 語(yǔ)句用于將數(shù)據(jù)插入到表中。
5.完善界面及功能
添加“保存數(shù)據(jù)”按鈕,用于手動(dòng)將當(dāng)前采集到的數(shù)據(jù)保存到數(shù)據(jù)庫(kù)中。代碼如下:
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
SaveData()
End Sub
此外,還可以添加定時(shí)保存數(shù)據(jù)功能,將采集到的數(shù)據(jù)定時(shí)存入數(shù)據(jù)庫(kù)中。
本文介紹了如何使用VB程序?qū)崿F(xiàn)串口數(shù)據(jù)的收集和存儲(chǔ),通過(guò)以上步驟,可以實(shí)現(xiàn)對(duì)串口數(shù)據(jù)進(jìn)行采集、存儲(chǔ)、查詢等多種操作。串口通信在各行各業(yè)中的應(yīng)用范圍非常廣泛,如物聯(lián)網(wǎng)、智能家居、生產(chǎn)控制等領(lǐng)域,本文所介紹的方法可為相關(guān)領(lǐng)域的開(kāi)發(fā)提供參考。
相關(guān)問(wèn)題拓展閱讀:
- vb串口收數(shù)據(jù)解釋
- 利用VB實(shí)現(xiàn)串口接收單片機(jī)數(shù)據(jù)
vb串口收數(shù)據(jù)解釋
Select Case MSComm1.CommEvent 檢查mscomm1的通訊事件的代碼,詳細(xì)的通訊事件代碼如下:
通訊事件包括下列設(shè)置值:
常數(shù)值–描述
comEvSend在傳輸緩沖區(qū)中有比 Sthreshold 數(shù)凱消少的字符。
comEvReceive收到 Rthreshold 個(gè)字橋廳符。該事件將持續(xù)產(chǎn)生直到用 Input 屬性從接收緩沖區(qū)中刪除數(shù)據(jù)。
comEvCTSClear To Send 線的狀態(tài)發(fā)生盯消知變化。
comEvDSRData Set Ready 線的狀態(tài)發(fā)生變化。該事件只在 DST 從 1 變到 0 時(shí)才發(fā)生。
comEvCDCarrier Detect 線的狀態(tài)發(fā)生變化。
comEvRing檢測(cè)到振鈴信號(hào)。一些 UART(通用異步接收— 傳輸)可能不支持該事件。
comEvEOF收到文件結(jié)束(ASCII 字符為 26)字符。
case 2是處理接收事件的代碼。改成1就不是處理接收事件了。
判斷 MSComm1.CommEvent的值,如果為2,則執(zhí)行下面語(yǔ)句。
利用VB實(shí)現(xiàn)串口接收單片機(jī)數(shù)據(jù)
InputModeBinary
=
‘通空升過(guò)
Input
屬性以二進(jìn)制方式檢取回?cái)?shù)據(jù)
寫(xiě)法有錯(cuò),正確寫(xiě)法:
MSComm1.InputMode
=
comInputModeBinary
‘以二進(jìn)制帶虧前方式蠢清接收
或:
MSComm1.InputMode
=
‘以二進(jìn)制方式接收
vb 串口收到數(shù)據(jù)庫(kù)的介紹就聊到這里吧,感謝你花時(shí)間閱讀本站內(nèi)容,更多關(guān)于vb 串口收到數(shù)據(jù)庫(kù),VB程序?qū)崿F(xiàn)串口數(shù)據(jù)收集并存入數(shù)據(jù)庫(kù),vb串口收數(shù)據(jù)解釋,利用VB實(shí)現(xiàn)串口接收單片機(jī)數(shù)據(jù)的信息別忘了在本站進(jìn)行查找喔。
創(chuàng)新互聯(lián)成都網(wǎng)站建設(shè)公司提供專(zhuān)業(yè)的建站服務(wù),為您量身定制,歡迎來(lái)電(028-86922220)為您打造專(zhuān)屬于企業(yè)本身的網(wǎng)絡(luò)品牌形象。
成都創(chuàng)新互聯(lián)品牌官網(wǎng)提供專(zhuān)業(yè)的網(wǎng)站建設(shè)、設(shè)計(jì)、制作等服務(wù),是一家以網(wǎng)站建設(shè)為主要業(yè)務(wù)的公司,在網(wǎng)站建設(shè)、設(shè)計(jì)和制作領(lǐng)域具有豐富的經(jīng)驗(yàn)。
分享標(biāo)題:VB程序?qū)崿F(xiàn)串口數(shù)據(jù)收集并存入數(shù)據(jù)庫(kù)(vb串口收到數(shù)據(jù)庫(kù))
文章分享:http://fisionsoft.com.cn/article/dhgopoe.html


咨詢
建站咨詢
