资源简介
使用51单片机和ESP8266WiFI模块,HX711称重模块获取物体质量后,通过wifi传输给PC客户端,客户端可以查看物体重量的数据,还可以通过曲线形式展示重量的变化。包含有C#上位机程序 和 C语言单片机程序
代码片段和文件信息
using System;
using System.Text;
using System.Windows.Forms;
using System.Net;
using System.Net.Sockets;
using System.Threading;
using System.IO;
using System.Collections.Generic;
using System.Data;
namespace WifiWeighClient
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
//读取当前应用程序目录下的data.txt中的存储数据
path = System.AppDomain.CurrentDomain.SetupInformation.Applicationbase + “data.txt“;
lines = new List(File.ReadAllLines(path));
dataCount = lines.Count;
//CheckForIllegalCrossThreadCalls = false;
}
private string path;
private int dataCount; //存储数据个数
private List lines; //存储的称重数据 格式是 “月日重量“月和日各占俩位,后面几位都是重量,一条数据一行
private Thread ThreadGetWeightMsg; //主线程申明称重线程
private delegate void ShowWeight(string msg); // 通过委托方式来实现多线程编程
private Socket mySocket;
private int JiaoZhengWeight = 20464; //空载时候的重量 用于校正,当前环境是20464
private bool IsJiaoZheng = false;
private void DisplayWeight(string msg) //此方法就是其他线程需要修改主线程控件上的内容时才会调用
{
if(IsJiaoZheng) //进入此函数时 是为了校正空载值
{
int tmp1;
int.TryParse(msg out tmp1);
JiaoZhengWeight = (int)(0.3105 * tmp1 / 128);
IsJiaoZheng = false;
return;
}
if (this.InvokeRequired) //其他的线程在对主线程控件操作时需要调用invoke方法时,此值为真
{
ShowWeight sw = new ShowWeight(DisplayWeight);
this.Invoke(sw new object[]{msg });
}
else //也就是说其他线程调用此方法会导致上面的if语句执行,然后委托主线程执行此函数,结果就进入else段
{
string addData = string.Empty;//待插入的数据
int tmp1tmp2tmonthtday;
int.TryParse(msg out tmp1);
tmp2 = (int)(0.3105*tmp1 / 128)-JiaoZhengWeight;
// tmp2 = (int)(0.3125* tmp1 / 128 -20598);
rTxtBoxDataReceived.AppendText(tmp2.ToString()+“\n“);
//-----------新增功能 ,将当天数据存储到文件中----------
if (tmp2 < 0) return; // 如果数据不合理就退出
int month = DateTime.Now.Month;
int day = DateTime.Now.Day;
string stmp = lines[dataCount - 1]; //将当前日期和最后一项比较,如果相同就覆盖当天的数据
int.TryParse(stmp.Substring(0 2) out tmonth); //存储的最后一项的月份
Console.WriteLine(“最后一项的月份“ + tmonth.ToString());
int.TryParse(stmp.Substring(2 2) out tday);//存储的最后一项的天数
Console.WriteLine(“最后一项的天数“+tday.ToString());
if (tmonth == month && tday == day) //覆盖最后一项
{
lines.RemoveAt(dataCount - 1);
if (month < 10)
{
addData += “0“ + month.ToString(); //保持格式一致,前面俩位是月,以下同理
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 420 2019-05-04 15:32 无线称重机(毕业设计)\read.txt
..A..H. 73216 2019-04-23 14:59 无线称重机(毕业设计)\wifi上位机程序\WifiWeighClient\.vs\WifiWeighClient\v15\.suo
文件 0 2019-02-03 14:43 无线称重机(毕业设计)\wifi上位机程序\WifiWeighClient\.vs\WifiWeighClient\v15\Server\sqlite3\db.lock
文件 679936 2019-04-21 16:36 无线称重机(毕业设计)\wifi上位机程序\WifiWeighClient\.vs\WifiWeighClient\v15\Server\sqlite3\storage.ide
文件 32768 2019-04-23 14:56 无线称重机(毕业设计)\wifi上位机程序\WifiWeighClient\.vs\WifiWeighClient\v15\Server\sqlite3\storage.ide-shm
文件 4128272 2019-04-21 17:26 无线称重机(毕业设计)\wifi上位机程序\WifiWeighClient\.vs\WifiWeighClient\v15\Server\sqlite3\storage.ide-wal
文件 189 2019-02-03 14:42 无线称重机(毕业设计)\wifi上位机程序\WifiWeighClient\WifiWeighClient\App.config
文件 278 2019-04-23 11:56 无线称重机(毕业设计)\wifi上位机程序\WifiWeighClient\WifiWeighClient\bin\Debug\data.txt
文件 617472 2019-02-21 06:30 无线称重机(毕业设计)\wifi上位机程序\WifiWeighClient\WifiWeighClient\bin\Debug\HslCommunication.dll
文件 977131 2019-02-21 06:30 无线称重机(毕业设计)\wifi上位机程序\WifiWeighClient\WifiWeighClient\bin\Debug\HslCommunication.xm
文件 504320 2016-01-28 14:22 无线称重机(毕业设计)\wifi上位机程序\WifiWeighClient\WifiWeighClient\bin\Debug\Newtonsoft.Json.dll
文件 1911808 2019-04-21 20:12 无线称重机(毕业设计)\wifi上位机程序\WifiWeighClient\WifiWeighClient\bin\Debug\WifiWeighClient.exe
文件 189 2019-02-03 14:42 无线称重机(毕业设计)\wifi上位机程序\WifiWeighClient\WifiWeighClient\bin\Debug\WifiWeighClient.exe.config
文件 32256 2019-04-21 20:12 无线称重机(毕业设计)\wifi上位机程序\WifiWeighClient\WifiWeighClient\bin\Debug\WifiWeighClient.pdb
文件 8944 2019-04-21 17:26 无线称重机(毕业设计)\wifi上位机程序\WifiWeighClient\WifiWeighClient\Form1.cs
文件 12150 2019-04-12 20:35 无线称重机(毕业设计)\wifi上位机程序\WifiWeighClient\WifiWeighClient\Form1.Designer.cs
文件 2846601 2019-04-12 20:35 无线称重机(毕业设计)\wifi上位机程序\WifiWeighClient\WifiWeighClient\Form1.resx
文件 1706 2019-04-21 16:06 无线称重机(毕业设计)\wifi上位机程序\WifiWeighClient\WifiWeighClient\Form2.cs
文件 3173 2019-04-21 16:06 无线称重机(毕业设计)\wifi上位机程序\WifiWeighClient\WifiWeighClient\Form2.Designer.cs
文件 5817 2019-04-21 16:06 无线称重机(毕业设计)\wifi上位机程序\WifiWeighClient\WifiWeighClient\Form2.resx
文件 11000 2019-04-21 15:47 无线称重机(毕业设计)\wifi上位机程序\WifiWeighClient\WifiWeighClient\obj\Debug\DesignTimeResolveAssemblyReferences.cache
文件 7576 2019-04-21 16:02 无线称重机(毕业设计)\wifi上位机程序\WifiWeighClient\WifiWeighClient\obj\Debug\DesignTimeResolveAssemblyReferencesInput.cache
文件 0 2019-02-03 14:43 无线称重机(毕业设计)\wifi上位机程序\WifiWeighClient\WifiWeighClient\obj\Debug\TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
文件 0 2019-02-03 14:43 无线称重机(毕业设计)\wifi上位机程序\WifiWeighClient\WifiWeighClient\obj\Debug\TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
文件 0 2019-02-03 14:43 无线称重机(毕业设计)\wifi上位机程序\WifiWeighClient\WifiWeighClient\obj\Debug\TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
文件 0 2019-04-21 20:12 无线称重机(毕业设计)\wifi上位机程序\WifiWeighClient\WifiWeighClient\obj\Debug\WifiWeighClient.csproj.CopyComplete
文件 42 2019-04-21 16:02 无线称重机(毕业设计)\wifi上位机程序\WifiWeighClient\WifiWeighClient\obj\Debug\WifiWeighClient.csproj.CoreCompileInputs.cache
文件 4447 2019-04-12 21:22 无线称重机(毕业设计)\wifi上位机程序\WifiWeighClient\WifiWeighClient\obj\Debug\WifiWeighClient.csproj.FileListAbsolute.txt
文件 1070 2019-04-21 16:06 无线称重机(毕业设计)\wifi上位机程序\WifiWeighClient\WifiWeighClient\obj\Debug\WifiWeighClient.csproj.GenerateResource.cache
文件 61947 2019-04-12 21:22 无线称重机(毕业设计)\wifi上位机程序\WifiWeighClient\WifiWeighClient\obj\Debug\WifiWeighClient.csprojAssemblyReference.cache
............此处省略54个文件信息
- 上一篇:欧式距离实现的聚类算法
- 下一篇:dsp课程设计——语音加密.zip
评论
共有 条评论