5.C# 串口类处理上传传感器数据
2015-11-07 10:33
411 查看
我采用了C#serial Port类来处理上传传感器数据。
界面截图:
核心代码有以下3个:
1.获取串口数据代码
2.串口数据处理代码
根据自己的实际情况来处理数据。如果传过来的是字符串,建议使用split()方法。
3.上传到sql server数据库代码
界面截图:
核心代码有以下3个:
1.获取串口数据代码
//串口数据获取函数 private void serialPortData() { //获取串口数据 int n = port.BytesToRead; byte[] buf = new byte ; if (port.Read(buf, 0, n) != 0) { readstr = Encoding.UTF8.GetString(buf); this.textBox1.AppendText(readstr); } }
2.串口数据处理代码
//调用串口打开函数 serialPortOpen(); //获取串口数据 serialPortData(); //处理串口数据并上传 string s = readstr.Trim(); string[] re = s.Split(','); string[] st; //状态 string[] hu; //湿度 string[] te; //温度 string[] sm; //烟雾浓度 string sta; string hum; string tem; string smo; for (int i = 0; i < 1; i++) { if (re[i].ToString().Contains("Read")) { st = re[i].ToString().Split(':'); hu = re[i + 1].ToString().Split(':'); te = re[i + 2].ToString().Split(':'); sm = re[i + 3].ToString().Split(':'); sta = st[1]; hum = hu[1]; tem = te[1]; smo = sm[1]; upload(sta, hum, tem, smo); } }
根据自己的实际情况来处理数据。如果传过来的是字符串,建议使用split()方法。
3.上传到sql server数据库代码
//上传串口数据函数 private void upload(string st, string hu, string te, string sm) { //linq上传数据到数据库 //DataConectDataContext ddc = new DataConectDataContext(); //Data data = new Data { State = st, Humidity = hu, Temperature = te, Smokescope = sm, UploadTime = DateTime.Now }; //ddc.Data.InsertOnSubmit(data); //ddc.SubmitChanges(); //Sql连接到数据库 string strcon = @"Data Source=HUBERT\SQLEXPRESS; Initial Catalog=SerialPortData;Persist Security Info=True; User ID=zzw;Password=123456"; //连接字符串 SqlConnection con = new SqlConnection(strcon); //连接数据库 con.Open(); string strsql = "INSERT INTO [dbo].[Data] (State,Humidity,Temperature,Smokescope,UploadTime) VALUES (@st,@hu,@te,@sm,@dt)"; //SQL语句 SqlCommand cmd = new SqlCommand(strsql, con); cmd.Parameters.AddWithValue("@st",st); cmd.Parameters.AddWithValue("@hu",hu); cmd.Parameters.AddWithValue("@te",te); cmd.Parameters.AddWithValue("@sm",sm); cmd.Parameters.AddWithValue("@dt",DateTime.Now); cmd.ExecuteReader(); }可以使用linq或者sql
相关文章推荐
- 初探C#
- C#正则表达式匹配任意字符
- 【C#】MouseEventArgs事件参数获取鼠标的位置
- C#影院售票系统毕业设计(4)
- C#语言 类
- WPF版的别踩白块
- C#日期与时间
- c#:类 相关练习;
- 在C#中简单调用FindWindow控制其他程序
- Direct3D 地形
- C#开发模式
- C#判断操作系统类型总结
- 微软C# Process类的两个静态方法 存在内存泄露
- C#访问剪切板
- C#总结项目《影院售票系统》编写总结完结篇
- C#实现插入排序算法(Insection Sort)
- 浅析C#中的Attribute
- 如何绘制贝塞尔样条曲线和基数样条曲线[C#]
- C#异常处理和数据类型转换
- c# 正则表达式对网页进行内容抓取