,
(西安理工大学 自动化与信息工程学院,西安 710048)
现如今是一个“互联网+”的时代,“互联网+工业”通过移动互联网、云计算、大数据、物联网等信息通信技术,改造了传统工业缝纫中的产品及研发生产方式,而电子花样机作为最具代表性的工业缝制设备之一,它是结合了网络、嵌入式系统等技术的智能型缝制设备,它能使传统的手工花样得到高速度、高效率的实现,并且还能实现手工花样无法达到的多层次、多功能、统一性和完美性的要求。与此同时,市场经济飞速发展,各行各业都已充分认识到树立品牌形象的重要性,产品防伪也成为关键要素[1]。在服装行业,传统的衣物信息都是以文字的形式印刷在衣物标签或吊牌上,这样传达商品信息的方式不仅很容易被假冒伪劣商所盗用,而且也无法跟进互联网时代发展的步伐。现如今,微信以及支付宝培养了大部分消费者使用二维码的习惯。二维码融合了自动识别技术和信息载体技术,它的经济性和可靠性已经得到越来越多的消费者和商家的青睐。因此,以二维码为入口的信息防伪技术已然成为目前的发展趋势[2]。在服装行业的发展中,实现高效、安全得品牌衣物信息管理也已成为主流。
传统服装标签的特点是衣物信息以多行文字的形式出现在标签上或者以二维码的方式印刷在衣物上,这种服装标签不但不美观,而且很容易被窃取信息。针对此问题,本文将介绍一种以缝制在衣物上的二维码作为服装标签来进行防伪溯源的研究方案。该方案包括二维码图片格式转化成电子花样机能够识别的花样文件NTP格式、手机浏览器扫描二维码得到数据库中的商品信息、二维码信息集中管理等功能,有效的解决了传统服装标签信息容易被窃取仿冒的问题,以缝制在衣物上的二维码替代传统服装标签,不仅最大程度确保公司产品不被外界仿制,也能使消费者买到真实合格的产品。 同时也为二维码在服装行业的应用提供了有效的技术支持。
二维码防伪溯源系统的总体设计方案如图1所示。首先通过田岛7.0绣花软件,对二维码图片进行相应的处理操作后,保存为百灵达的DSB格式。然后,经过专业花样机打版软件进行文件格式解析,将DSB格式的花样文件转化成电子花样机能够识别的花样文件NTP格式。最后,使用电子花样机将二维码花样缝制在衣物上,使得每一个商品都拥有一张“电子身份证”。使用手机浏览器扫描衣物上的二维码,得到数据库中的衣物相关信息。该防伪溯源系统的服务器是在Linux平台下,利用Nginx服务器实现Web服务器的搭建,部署Redis缓存数据库以及Mysql数据库,用来存储二维码相对应的数据信息。用户使用手机浏览器扫描二维码,得到二维码中所包含的URL地址,通过此URL地址,浏览器向Web服务器发出请求,二者建立连接并进行交互,服务器会处理浏览器的数据请求,从数据库中查询二维码信息,然后再将处理结果返回给浏览器,以此来达到二维码防伪溯源的目的。
图1 二维码防伪溯源系统方案结构图
电子花样机、电脑绣花机等智能缝制设备能够识别的文件格式是花样文件,其格式比较复杂,花样文件的文件头包含了它的花样名、针数等基本信息,文件体包含了剪线、跳针、正常刺绣等控制帧信息以及具体的针迹点坐标信息[3]。工业缝纫中比较常用的花样文件格式有田岛的三进制格式DST、DSZ以及百灵达的二进制格式DSB等等。然而这些常用的花样文件格式大多都是针对电脑绣花机的,它们并不适用于电子花样机。在工业缝纫中,电子花样机能够识别的花样文件格式是以带有控制帧信息的针迹点存储在花样文件中。相对于这些常用的花样文件格式,电子花样机所适用的花样文件格式的有点在于,它所包含的控制信息和花样信息更多,数据处理更简单。
百灵达的花样文件DSB格式包含了文件头和文件体两部分。DSB花样文件的文件头占文件的前512个字节,它主要存放的是花样的基本信息,如花样名称、总针数、换色的次数等等[4]。文件体是从文件的第513个字节开始直到文件结尾,它主要存放花样的所有针迹数据,如每一针在X和Y方向上的位移,正常刺绣、剪线、跳针、换色等控制码。DSB文件体中的每一个数据帧都是由控制码、X方向位移、Y方向位移这三个字节组成,其中X、Y方向位移的数值范围为0~120,且DSB花样文件都是以1 A做为结束标识符。DSB控制字节(十六进制)功能见表1。
表1 花样文件DSB控制字节功能表
电子花样机能够识别的NTP花样文件也包含了文件头和文件体两部分。NTP花样文件的文件头总共有64个字节,主要存储了文件名、花型总针数、边界信息、起缝点坐标、次原点坐标、Sewing部分偏移量、Sewing修改,Source和Sewing的段数以及保留字节等等。NTP花样文件的文件头信息结构如图2。
图2 花样文件NTP的文件头信息结构
NTP花样文件的文件体(即Sewing部分)存储的是实际的缝制数据,包括线型、段类型、速率、针数以及实际的缝制点信息等。Sewing部分同样也是分段存储的,它的每一段结构如图3所示。每段中的缝制点数据由5个字节组成,控制帧占1个字节,X方向相对偏移量占2个字节,Y方向相对偏移量占2个字节。每段中的缝制点个数都存储在针数字段。电子花样机的缝制功能包括正常缝制控制、空移缝制控制、剪线、针上暂停、针下暂停和跳针六种功能。NTP花样文件的控制帧采用位、位组合的形式来表示控制信息。其中,C7表示缝制模式位,1是正常缝制,0是空移;C6表示剪线控制位,1是剪线,0是无操作;C5表示针上暂停位,1是针上暂停,0是无操作;C4表示针下暂停位,1是针下暂停,0是无操作;C3表示跳针控制位,1是跳针,0是无操作;C2、C1、C0表示预留。
图3 花样文件NTP的Sewing部分结构图
在该方案中,使用田岛7.0绣花软件打开二维码图片(BMP或JPG格式),首先对图片进行平整操作,降低图片因放大或缩小产生的扭曲变形,然后使用轮廓平滑处理二维码图片中的黑色方块区域,使软件更容易识别不同颜色区域,最后使用他他米针针迹的填针方式对二维码图片进行填针处理,完成后保存为花样文件DSB格式。二维码图片到花样文件DSB格式的前后转化效果图如图4。
图4 二维码图片格式转化成DSB格式
在分析了花样文件DSB和NTP格式的基础上,通过专业花样机打版软件对DSB花样文件格式进行解析读取,并将其转换成电子花样机能够识别的花样文件NTP格式。花样文件DSB格式的解析流程如图5,首先打开花样文件,读取文件头,保存花样针数、X和Y的最大最小值,以便后期计算X、Y的范围;然后读取文件体,文件体是从第513个字节开始,读取一针数据(即3个字节),判断开始字节是否为文件结束标识符“1A”,若不是文件结束符,则判断是否为正常刺绣控制码(如:80、C0、E0、A0),如果是正常刺绣控制码,则提取控制码后的坐标,如果不是正常刺绣控制码,则继续读取下一针数据,依次循环;若是文件结束符则结束整个流程。
图5 花样文件DSB格式的解析流程图
在上述花样文件DSB格式解析接口的基础上,还设计了花样文件DSB数据转化接口,将DSB花样数据转化成电子花样机能够识别的NTP花样数据,该转化过程如图6,首先要生成NTP 格式的头文件,然后转换文件体中的每一针数据。当遇到文件结束符“1A”的时候转换结束;当遇到控制码时则提取坐标信息,再去读取下一针数据,依次循环,直到结束整个流程。在提取坐标信息的过程中,使用DDA算法,将DSB花样数据两个关键点之间的长度,以设置好的针距划分成多个缝纫点坐标,并给每个缝纫点加上控制帧,生成花样文件NTP格式。将花样文件DSB转化成电子花样机能够识别的花样文件NTP,并在专业花样机打版软件中对NTP格式的花样文件进行模拟缝纫,其效果图如图7。
图6 DSB格式转NTP格式流程图
图7 NTP格式花样文件及其模拟缝纫图
分析二维码防伪溯源系统的功能需求,服务器软件使用浏览器/服务器模式设计,在Linux平台下,利用Nginx + CGI搭建Web应用服务器,架设Redis缓存数据库用来存储二维码相对应的数据信息, Mysql作为持久化的数据库存储。Web服务器端应用框架如图8。
图8 Web服务器端应用框架
本文设计的软件使用B/S(浏览器/服务器)模式设计,B/S使用HTTP协议完成通信过程。浏览器和服务器之间的HTTP协议访问基本过程如图9。
图9 浏览器与服务器的HTTP请求响应过程
HTTP协议的B/S模式的信息交换过程分为四个过程:建立连接、发送请求数据、发送响应数据、关闭连接。(1)建立连接,浏览器Web服务器建立连接;(2)发送请求,浏览器将请求数据包发送到服务器的监听端口上,请求操作使用的GET方法,它会将请求参数放在URL中;(3)发送响应,服务器将处理结果发回给浏览器;(4)关闭连接,浏览器与服务器之间关闭连接[5]。
本文服务器软件使用B/S(浏览器/服务器)模式设计,利用Nginx 作为轻量级的Web服务器,它的优势在于高性能高效的处理高并发请求。当浏览器与服务器之间通过HTTP协议进行请求响应交互时,用户通过手机浏览器扫描二维码向服务器发出请求,Nginx服务器作为用户的访问入口,它会根据接收到的请求进行相应的数据库操作,操作完成后将请求内容通过Socket返回给浏览器,用户最终得到数据库中相应的二维码数据信息。本文使用Redis缓存数据库,因为Mysql数据库是持久化存储,存放在磁盘里面,检索会涉及到一定的IO,而将Redis作为Mysql数据库的缓存,用户会首先访问Redis数据库,如果Redis数据库中没有请求的数据,则访问Mysql数据库[6]。然后再把请求结果复制到Redis数据库中,下次访问时可以直接从Redis数据库得到请求的数据,这样就提高了数据库访问效率。
当Web服务器接收到浏览器的Http请求,它首先会启动CGI程序,并通过环境变量、标准输入传递数据[7]。其次,cgi进程启动解析器、加载配置、连接数据库服务器、逻辑处理等。然后,cgi进程将处理结果通过标准输出、标准错误,传递给Web服务器。最后,Web服务器收到cgi返回的结果,构建Http响应返回给浏览器,并杀死cgi进程。cgi的处理流程如图10。
图10 cgi的处理流程如图
本文利用在Redhat下运行服务器端程序,然后使用手机端浏览器扫描二维码,二维码所包含的信息为一个URL地址:http://192.168.1.101:80/demo.cgi/test?id=1,手机浏览器解析URL地址,向服务器端发送请求,通过返回过来的页面内容判断其运行的正确性。测试步骤如下:
1)运行服务器端程序,等待客户端的连接。Web Server的IP地址为192.168.1.101。
2)由于此服务器设置的端口是80端口,所以URL中的端口为80。用手机浏览器扫描二维码,浏览器与服务器进行交互,服务器将处理后的结果返回给浏览器,浏览器页面显示内容为衣物的相关信息,说明此服务器工作正常。
图11 扫描二维码得到的信息
本文提出了工业缝纫行业的二维码防伪溯源平台的设计与实现,采用C++语言编程,完成了花样文件DSB格式转化成花样文件NTP格式的实现。在Linux系统中,基于Nignx服务器技术、HTTP协议技术,部署Web服务器以及数据库服务器,有效地实现了对衣物信息的存储和管理。通过电子花样机缝制二维码花样,从工艺角度实现了初步的防伪,再利用二维码防伪溯源平台,进一步解决了传统服装标签信息容易被窃取仿冒的问题,也达到了衣物防伪溯源的目的[8-15]。