当前位置:首页 > 物联网 > 《物联网技术》杂志
[导读]摘要:蔬菜质量可追溯系统是一种采用C/S和B/S混合模式的农产品质量追溯系统。该系统采用物联网技术对蔬菜种植 及加工过程中的所有生产数据、检疫数据、加工数据、销售数据进行记录,最终为生产过程控制、生产管理、食品溯源服务。 因此,可在对企业进行实地调研的基础上,应用此方法开发一套蔬菜质量安全可追溯系统。文章主要研究了其中的电子秤数 据通信与同步发送模块的实现方法。

引言

蔬菜是我们日常生活中必不可少的食物之一,蔬菜质量是 否安全直接影响我们的健康。本文在调研蔬菜企业实际业务 流程的基础上,对蔬菜种植及加工过程中记录所有生产数据、 检疫数据、加工数据、销售数据等数据进行实时跟踪记录。

溯源系统的“销售数据模块”中的蔬菜称重由串口电子秤 来完成,我们的需求是需要串口电子秤联入网络,蔬菜称重时, 电子秤通过串口返回数据给电脑,并将数据通过Socket发送 给网络上的服务器并记录下来。

实际上常用的电子秤与电脑交互采用两种方式。一种是 连续传送方式,电脑不用发送数据给电子秤,电子秤每隔一 段时间将“重量”发给电脑。还有一种是指令传输方式,在这 种情况下,电子秤只在输入指令的情况下,才会向电脑发送数 据。不过这种方式有个最大的缺点,在输入的指令错误的情 况下,不会返回任何信息。我们测试它的连续方式。下面先进行电子秤的设置。

1电子秤设置

先通过调试说明设定波特率,程序中和机器中必须设置 一样的波特率才能正确地收发数据。其次设置“通信协议”。 按照电子秤的说明进行配置,下面我们就进行配置。

1.1系统设置

开机进入称重状态,同时按数字键“1”和“总计”键, 进入设定状态。

屏幕显示“CLOSE”,按“去皮”键选择,“CLOSE”为 关闭串口,“SER”为打开串口。按“累清/设定”键确认,进 入下一步。

屏幕显示“B ****”,按“去皮”键选择“波特率”,按“累 清/设定”键确认,进入下一步。

屏幕显示“P **”,按“去皮”键选择“通讯协议”,按“累 清/设定”键确认并进入下一步。

1.2电子秤协议选择列表

本系统中的电子秤协议如表1所列。

表1电子秤协议

编号
名称
发送方式
说明
1
协议A
连续发送
含地址、单价、金额
2
协议B
连续发送
仅重量
3
协议C
连续发送
仅重量
4
协议D
连续发送
仅重量
5
协议D
稳定发送
仅重量
6
协议E
连续发送
仅重量
7
协议E
稳定发送
仅重量
8
协议F
连续发送
含单价、金额
9
协议F
稳定发送
含单价、金额

1.3电子秤通讯协议数据格式

8位数据位,1位停止位,无校验位。我们选择系统默认 的协议D进行设计。字节1 (ASCII):=起始位,字节2〜8 (ASCII):按先低后高的顺序发送6位重量数据,最后发送符 号位,其中表示负数,空格表示正数,不满8个数据则 用空格填满。

2电脑串口设置

用鼠标右键单击“我的电脑”,在弹出的菜单中选择“属 性”,然后选择“硬件”,“备管理器”,在弹出的窗口数型目录 中选择“通信端口(COM1)”,弹出的窗口如图1所示。对“端 口参数”进行设置,一定要和自己所选取的电子秤匹配。波特 率9 600、8位数据位、1位停止位、无校验位,图1所示是 系统通信端口 (COM1)的属性设置界面。

溯源系统电子秤编程调试

3程序设计

C/S 程序开发使用 Visual Studio 2010, Visual Studio 2010可简化在各种平台上创建、调试和开发应用程序的过程, 是供开发人员执行基本开发任务的重要工具。它自带对测试驱 动开发的集成支持及调试工具,以帮助确保提供高质量的解 决方案。

3.1界面设计

本系统使用Visual Studio 2010中的SerialPort控件访问

串口。把电子秤配置好后,然后开始编程序。在项目中,电子 秤收发数据的子界面如图2所示,其主要任务就是把电子秤 称重时的重量信息实时地传递给窗体,在重量文本框中显示 出来。至于Socket在另外的模块来实现,这里不讨论。

图2电子秤称重模块

3.2串口配置程序

本系统选择串口通信口为COM1,设置串口通信波特率 为9 600和电子秤,设置串口通信数据位,设置串口通信停止 位1位,设置串口通信无校验。其重点程序如下:

Serialport_C.PortName = "COM1":

Serialport_C.BaudRate = 9600 ;

Serialport_C .DataBits = 8 ;

Serialport_C.StopBits = System.IO.Ports.StopBits.One ;

Serialport_C.Parity = System.IO.Ports.Parity.None ;

使用Visual Studio中的Serialport控件初始化,可设置 缓存并判断串口是否打开状态,如果没有打开则打开串口。程 序如下:

Serialport_C.ReadBufferSize = 1024 ;

if (Serialport_C.IsOpen)

{

MessageBox.Show(“ 串 口 已打开! ”,“提示”, MessageBoxButtons.OK,

MessageBoxIcon.Information);

}

else

{

Serialport_C.Open();

}

3.3数据的读取与显示

接收缓冲读取全数据,设置OnComm事件的字节长度, 清空缓冲区,定时器启动。程序如下:

Serialport_C.ReadExisting();

Serialport_C.ReceivedBytesThreshold = 1;

Serialport_C.DiscardInBuffer();

timer1.Start();

串口数据的检测读取:就是从Serialport控件的缓存中读 取数据位,如果有数据,则读取数据并存入一个数据组中。

int bytes = Serialport_C.BytesToRead ;

byte[] buffer = new byte[bytes] ;

if (bytes == 0)

{

return ;

}

Serialport_C.Read(buffer,

0,

bytes) ;

把取出数组中的数据转换为字符型数据并连接在一起准

备输出 :

string srt = string.Empty ;

string str = string.Empty ;

for (int Index = 0 ;

Index < buffer.Length ;

Index++)

{

str += ((Char)(buffer[Index])).ToString() ;

}

在程序界面上实现字符串的翻转显示 :

String output = string.Empty ;

for ( int i = str.Length ;

i > 1 ;

i-- )

{

output += str.Substring(i - 1,

1) ;

}

textBox1.Text = output ;

}

把取出数组中的数据转换为字符型数据并连接在一起准

4结语

至此,就可以完成“电子秤称重数据”的动态读取了。在 测试过程中也不是一帆风顺的,首先电子秤和电脑串口的连接 要保证物理通路,在这个基础上才能进行下一步的工作;其 次要正确配置好电子秤,波特率要一定要保证一致;还要选 择适当的传输协议,如果这个不正确,后面的程序就不用写了; 最后还要写出对应的读取程序。要正确对返回的ASCII码进行解码,这样才能得到正确的结果,当然,这里只是针对电 子秤的调试和数据处理过程,网络中的Socket发送在另外模 块实现。

20211117_6193d627af724__溯源系统电子秤编程调试

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

全国统一大市场的底层运行的标准和约束,本质上就是区块链供应链管理中的一套共识机制。专家认为,供应链主体所处的地理位置分散、管理系统难以交互,极易导致供应链协同过程中的脱节。区块链作为分布式记账技术,天然契合供应链协同主体...

关键字: 区块链 溯源系统 双碳

摘要:多功能电能表在配电系统中应用广泛,其计量的准确度对企业管理和考核至关重要,因此在设计多功能电能表时需要对其进行校准,满足一定应用等级。常规的多功能电能表校准方法是以电能脉冲校准为主,现提出一种基于C#和功率校表法的...

关键字: 多功能电能表 串口 波特率

摘 要 :以 STC89C52 单片机为温度测控系统的核心,利用 AD590 温度传感器将温度信号转换成电信号,然后经信号差分放大电路和A/D 转换电路将其对应的数字信号输入单片机,单片机计算出温度传感器对应的温度值后,...

关键字: 单片机 温度传感器 放大电路 A/D 转换电路 液晶显示 报警电路 串口通信

摘 要 :随着安全意识的提高以及管理数字化、智能化要求的提出,小区门禁管理系统已大量引入各种新兴技术,实现人员出入管理的有效控制。文中提出一种基于射频识别技术(RFID)的小区门禁管理系统设计方案。该系统控制器通过射频识...

关键字: 门禁 射频识别技术 串口通信 单片机 控制器 身份信息

摘要:针对当前农业发展的需要,通过采用ZigBee与串口通信技术将温室信息实时传输到监测系统,使种植者可以及时了解大棚环境,并根据接收到的数据对大棚环境进行控制。以VB.NET开发上位机程序,用传感器接收温湿度数据,并通...

关键字: Zigbee 串口通信 无线传感网络 实时监测

按照数据传送方向分类单工:数据传输只支持数据在一个方向上传输半双工:允许数据在两个方向上传输。但是,在某一时刻,只允许数据在一个方向上传输,它实际上是一种切换方向的单工通信;它不需要独立的接收端和发送端,两者可以合并一起...

关键字: 串口通信 STM32串口

摘 要:当今社会家具种类越来越多,越来越个性化,但工作人员在安装和运输家具的过程中常常有遗漏的情况发生, 极大地影响了工作效率。文中就如何提高家具安装效率所涉及的溯源系统结构做了简要说明。溯源系统采用射频识别技术, 该技...

关键字: 射频识别 电子标签 个性化 溯源系统

ch340usb转串口在linux上波特率误差

关键字: ch340 波特率

零、写在前面串口是单片机重要的片上资源,通过串口搭配不同的电平转换芯片,可以实现不同的通讯协议/接口,如RS232、RS485等,通过与模组的AT指令还可以实现蓝牙、wifi等通讯,所以学会单片机的串口很重要。我是小舒,...

关键字: 单片机 串口通信

《物联网技术》杂志

2511 篇文章

关注

发布文章

编辑精选

技术子站

关闭