CN110533897B - 基于socket的咖啡烘焙通信方法 - Google Patents

基于socket的咖啡烘焙通信方法 Download PDF

Info

Publication number
CN110533897B
CN110533897B CN201910776550.5A CN201910776550A CN110533897B CN 110533897 B CN110533897 B CN 110533897B CN 201910776550 A CN201910776550 A CN 201910776550A CN 110533897 B CN110533897 B CN 110533897B
Authority
CN
China
Prior art keywords
command
priority
communication
control
frame
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910776550.5A
Other languages
English (en)
Other versions
CN110533897A (zh
Inventor
陈科明
乔冠
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kayou Technology Zhejiang Co ltd
Tongxiang Beite Technology Co ltd
Original Assignee
Hangzhou Dianzi University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou Dianzi University filed Critical Hangzhou Dianzi University
Priority to CN201910776550.5A priority Critical patent/CN110533897B/zh
Publication of CN110533897A publication Critical patent/CN110533897A/zh
Application granted granted Critical
Publication of CN110533897B publication Critical patent/CN110533897B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A23FOODS OR FOODSTUFFS; TREATMENT THEREOF, NOT COVERED BY OTHER CLASSES
    • A23FCOFFEE; TEA; THEIR SUBSTITUTES; MANUFACTURE, PREPARATION, OR INFUSION THEREOF
    • A23F5/00Coffee; Coffee substitutes; Preparations thereof
    • A23F5/04Methods of roasting coffee
    • GPHYSICS
    • G08SIGNALLING
    • G08CTRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
    • G08C17/00Arrangements for transmitting signals characterised by the use of a wireless electrical link
    • G08C17/02Arrangements for transmitting signals characterised by the use of a wireless electrical link using a radio link
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Chemical & Material Sciences (AREA)
  • Food Science & Technology (AREA)
  • Polymers & Plastics (AREA)
  • Communication Control (AREA)
  • Telephonic Communication Services (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种基于socket的咖啡烘焙通信方法。本发明针对通信命令优先级的需求,设计加入了帧数据优先级部分。为了确保每条命令都能相对应的通信过程,加入帧数据唯一码机制。为了适应咖啡烘焙过程中,温度监测十分频繁的特点,设计了针对命令发生阻塞的特殊情况下通信的优化机制。利用优先队列的特征,将咖啡烘焙的控制命令设置高优先级,而将温度监测设置为低优先级,保证了控制的实时性。同时在通信机制中随时记录最后一条温度检测的时间,为对温度读取流畅性有高需求的场景提供动态的优先级更改机制。

Description

基于socket的咖啡烘焙通信方法
技术领域
本发明涉及物联网中的通信技术领域,特别是涉及一种咖啡烘焙机的烘焙过程的通信方法和协议设计。
背景技术
在咖啡烘焙机物联网控制方法中,客户端使用基于socket的控制,发送信息给安装在在烘焙机嵌入式控制模块,控制模块解析相应帧,根据帧协议约定进行相应处理,嵌入式模块与客户端实现双工通信。客户端通用的处理命令的方法是将命令放入队列中,根据入队时间进行命令发送。同时,嵌入式模块返回回复帧的时候也是无差别按照顺序返回,这种传统的通信方式在进行咖啡机烘焙控制通信的时候存在以下问题:
第一:由于烘焙实时检测性的要求,客户端与检测模块之间的检测性质的通信帧发送十分频繁,由于网络环境等问题,会存在在一个队列中堆积多条通信帧的情况,如果这个时候客户端发送烘焙相关的控制指令,那么控制帧加入队尾,指令不会第一时间送达控制模块进行控制。这样就降低了控制的实时性,给烘焙控制带来误差,影响烘焙师的判断,同时,如果单纯使用优先队列来优化的话,如果客户端存在操作异常或者网络环境出现异常,正常温度帧前也会堆积多种控制帧,然而这个时候控制帧的实效性已经不存在,为了保证烘焙温度的连续性,此时应当将最近一条温度检测帧送出,检测温度。如果使用传统的发帧方法,不能保证咖啡烘焙控制的精准性。
第二:基于客户端编程操作的习惯性,往往要求每条指令都能有对应的指令,而传统的Socket通信方法只能在连接层面保证,不能精确到每一条指令的发送与回复都对应。如果要实现指令的对应性,需要在烘焙控制协议层面,设计自己的控制帧协议,保证控制流程的合理性,同时,设计自己的帧协议,也能从协议层面支持优先级特性,也能更好的适应烘焙相关的操作。
发明内容
针对现有技术客户端与嵌入式模块的基于Socket双工的控制方法,本发明提出一种应用于咖啡烘焙领域的通信方法,解决控制指令优先级不同,客户端仍然能保证根据实际情况进行指令发送,保证烘焙控制的合理性。同时,设计针对双工通信的特点,设计指令相对应的协议,用来支持烘焙命令通信,实现命令相对应的特点。
依据发明的第一方面:提供一种支撑命令优先级以及命令唯一性的帧协议,并且,帧协议应用于咖啡机烘焙领域,适合咖啡烘焙领域常见的控制操作与温度信息查询操作。
协议使用常见的数据链路层帧设计原则,使用特定的帧头和帧尾,使用CS校验保证帧数据的正确性。客户端和控制端根据这层原则,可以进行最初的帧简易筛选,符合帧头和帧尾并且校验正确,才进行下一步通信,这样设计保证了通信的稳定性。
一个字节的控制码,规定命令的发送方向;两个字节的序号码实现特定时间内命令的唯一性。剩余部分是不同命令的特征码和携带的数据。
所述的控制码表示出命令的发送方向,便于客户端和烘焙控制端进行命令方向区分。所述序号码保证命令的唯一性,序号码在单次控制(从客户端到控制端,或者从控制端到客户端)中不会发生变化,这样双方都能区分出每条命令对应的回复命令。所述特征码是每条命令的唯一区分,数据域的剩余部分用一个字节代表此帧的优先级,这样设计可以从协议上支持优先级需求,并且可以动态变化。其他字节可以携带命令的信息,如控制的指令,或者温度信息等。使用以上控制协议,进行客户端与模块基于socket的通信。
本发明的第二方面,提出一个针对烘焙方法的socket中间件通信机制。
烘焙过程中最重要的两个方面是温度检测与命令控制。命令一般包括开关电源、火力调整、开关火、搅拌、调整进出风。一般开关,电源,火力的优先级很高,需要模块快速反应,不然会影响咖啡豆的烘焙品质,如果反应滞后,特殊情况下也会出现安全问题。所以要在传统的socket控制流程上提出相关的优化方法。
为了实现上述烘焙流程的合理,保证烘焙师控制的精确。本发明利用一个优先队列存储每个命令,这个队列属于中间件通信模式,可以在客户端实现,也可以在控制模块中实现。利用优先队列的特性,保证正常通信情况下,控制命令的优先级高于温度检测的优先级,每次中间件接受命令时,根据优先级将命令插入到队列的相应位置,这样就保证了命令发送的合理性。同时,在这个机制中,记录了最后一条温度检测帧的入队时间,当出现命令帧阻塞,并且时间到达温度检测间隔的要求最小阈值时,将最后一条温度帧优先发出。实现了极端情况下温度检测的流畅性。
本发明的有益效果:本发明针对通信命令优先级的需求,设计加入了帧数据优先级部分。为了确保每条命令都能相对应的通信过程,加入帧数据唯一码机制。为了适应咖啡烘焙过程中,温度监测十分频繁的特点,设计了针对命令发生阻塞的特殊情况下通信的优化机制。利用优先队列的特征,将咖啡烘焙的控制命令设置高优先级,而将温度监测设置为低优先级,保证了控制的实时性。同时在通信机制中随时记录最后一条温度检测的时间,为对温度读取流畅性有高需求的场景提供动态的优先级更改机制。
附图说明
下面结合附图和实施例对本发明进一步说明。
图1示出了整体框架图:
图2示出了消息的发送接收处理流程;
图3和图4示出了加入通信优化方法后消息的变化流程。
具体实施方式
为使本发明的目的、技术方案和有益效果更加清楚,下面将结合附图及具体实施例对本发明作进一步地详细描述。
图1示出了整体框架图,与传统烘焙机不同,本发明是基于物联网的控制过程,包括客户端,WIFI控制模块和咖啡烘焙机实体。用户通过客户端发送命令给WIFI控制模块,控制模块控制继电器操作咖啡烘焙机进行相关操作,同时,客户端也负责从WIFI模块获取采集到的数据。对数据进行整合。咖啡烘焙机控制机与客户端之间连接在同一个局域网中,采用wifi无线的方式,两者都以STA的模式,连接在同一个无线路由器下。在同一个局域网中,咖啡机控制板开启UDP和TCP-sever模式。UDP模式用于AP模式下的配网,以及APP获取控制板被分配的IP。TCP-sever模式用于控制板与APP之间进行数据通讯。手机客户端与嵌入式模块在本地建立起socket连接。这种基于socket通信的双工连接是使用通信机制优化的基础。
表1与表2示出了帧协议的设计的具体方案:
表1整条帧的结构
Figure BDA0002175247950000021
如表1,使用特定的帧头和帧尾来标识特定领域的通信协议。使用者可以初步筛选协议的正确性,设计固定长度的控制码,序号码和数据域长度,这样可以方便的判断整条帧的长度,从而用来拆包和组包,和方便的粘包处理。使用两个字节代表每个帧单位的序号,在发送和接收的一个过程中序号不会发生改变。使用一个字节表示帧单位的优先级,使用若干个单位携带信息。
表2控制码的结构
Figure BDA0002175247950000031
如表2所示,控制码由一个字节表示,使用了最高位和末两位。其中最高位代表了此条帧的性质,末尾两位代表了数据流通的方向和携带数据的性质。
帧协议是应用于数据链路层的通信协议,使用者是客户端和控制模块,双方需要在自己软件环境中实现字节的组装和发送。使用步骤如下:
确定帧头帧尾,根据携带的数据域大小预留足够字节空间。
确定命令发送方向,确定此条帧的性质,根据控制码的约定确定控制码字节。
生成序号码,如果是首帧,生成随机数值,如果是其他帧,根据已经生成的数值依次递增,如果达到两个字节限制,清零从头开始。
计算携带数据的长度,生成数据域长度。
根据约定的命令表中找到此条命令的命令标识。
正常情况下的通信,可以根据命令性质设置优先级。优先级数值越低优先级越高。对于开关电源、开关火、搅拌优先级最高。调整火力、调整风力优先级次之。温度检测优先级最低。根据此条命令的分类确定优先级的数值。
根据携带的信息,进行数值上的转换,确定该部分的字节。
除去帧尾以上的字节进行CS校验。放在校验位。
图2示出了消息的发送接收处理流程。
负责消息通信优化的中间件需要实现一个队列负责消息的发送。如图所示,发送模块会在极短的时间内循环读取消息队列,如果队列内有数据,就取出队首数据进行发送。
生产者会将组装好的消息塞入队尾中,这样就实现了一个生产消费模型。这个消息队列的通信模型是进行socket通信的基础。
在任意时刻,中间件也会收到来自接收端的数据回复。数据回复的顺序不一定是按照发送顺序回复的。在协议的支持下,可以根据命令的序号码判断此条帧对应于发送的哪一条帧,为客户端实现命令相对应提供了基础。
图3与图4示出了消息通信的优化。
消息转发的中间件需要实现一个以帧协议优先级为判断的优先队列,同时,中间件需要记录最后一个温度帧的入队时间T1。在正常的烘焙使用内,温度查询帧的发送是不间断的。队列中的大部分帧都是温度相关的帧。
消息送往消息队列中时,消息队列会根据自身优先队列的特性,将优先级高的消息浮动到消息头,根据前述提出的消息发送方法,当中间件循环到消息队列时,就会将队首的消息取出,并交给发送模块发送,实现消息的优先发送。
依照此机制,在咖啡烘焙的消息传递中,正常情况下的温度读取优先级较低,如果在网络不好的情况下在队列中出现了积累。此时如果递送一个关火的指令,中间件同样可以将关火的指令送达队首,进行优先操作,这样就保证了控制指令的实时性。
图4示出了特殊情况下为保证温度检测流畅性的优化。
当消息需要入队时,第一步判断中间件暂存的最后一条温度入队时间T1,与当前时间相减获得温度的检测的滞留时间T2。
当T2小于事先设置的温度最小检测阈值时,将此条命令正常入队。
当T2大于阈值时,需要在下次发送时将最近一次温度检测请求发送出去。在队列中找到最近一条温度命令,将他的帧优先级内容部分修改成0,再将消息入队。
在以上两步的操作中,入队时需要判断命令是否时温度检测命令。
如果是温度命令,将T1的时间更新,更新为此条命令的入队时间,如果是其他命令,则正常入队。如果有修改优先级的操作,入队时,根据优先队列的特性,会把修改过的最近的温度命令传递至队首,当轮询触发时,消息发送模块会将温度命令首先发出。这种操作保证了温度最小检测阈值内温度查询的流畅性。

Claims (2)

1.基于socket的咖啡烘焙通信方法,其特征在于:利用一个优先队列存储每个命令,这个队列属于中间件通信模式;利用优先队列的特性,保证正常通信情况下,控制命令的优先级高于温度检测的优先级,每次中间件接受命令时,根据优先级将命令插入到队列的相应位置,保证命令发送的合理性;同时,记录最后一条温度检测帧的入队时间,当出现命令帧阻塞,并且时间到达温度检测间隔的要求最小阈值时,将最后一条温度检测帧优先发出,实现极端情况下温度检测的流畅性;
其中通信过程中的帧协议设计如下:
一个字节的控制码,规定命令的发送方向;
两个字节的序号码,实现特定时间内命令的唯一性;
剩余部分是不同命令的特征码和携带的数据。
2.根据权利要求1所述的基于socket的咖啡烘焙通信方法,其特征在于:所述的中间件通信模式在客户端实现或在控制模块中实现。
CN201910776550.5A 2019-08-22 2019-08-22 基于socket的咖啡烘焙通信方法 Active CN110533897B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910776550.5A CN110533897B (zh) 2019-08-22 2019-08-22 基于socket的咖啡烘焙通信方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910776550.5A CN110533897B (zh) 2019-08-22 2019-08-22 基于socket的咖啡烘焙通信方法

Publications (2)

Publication Number Publication Date
CN110533897A CN110533897A (zh) 2019-12-03
CN110533897B true CN110533897B (zh) 2020-06-05

Family

ID=68662654

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910776550.5A Active CN110533897B (zh) 2019-08-22 2019-08-22 基于socket的咖啡烘焙通信方法

Country Status (1)

Country Link
CN (1) CN110533897B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112056591B (zh) * 2020-09-15 2022-03-01 杭州电子科技大学 一种咖啡豆升温率平滑可控及烘焙状态自动识别方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100056173A (ko) * 2008-11-19 2010-05-27 엘지전자 주식회사 화면 제어 방법 및 그 장치
CN103888374B (zh) * 2014-04-15 2017-02-15 东南大学 综合传感网业务中间件及其实现业务传送的方法
CN105187327A (zh) * 2015-08-14 2015-12-23 广东能龙教育股份有限公司 一种分布式消息队列中间件
CN107360253A (zh) * 2017-08-18 2017-11-17 上海盈联电信科技有限公司 一种物联网中间件系统
CN107592215A (zh) * 2017-08-31 2018-01-16 郑州云海信息技术有限公司 一种管理消息中间件的方法
CN107396331A (zh) * 2017-09-19 2017-11-24 马上消费金融股份有限公司 一种基于优先级队列的短信发送方法及装置
CN108540538B (zh) * 2018-03-20 2021-01-26 西安电子科技大学 一种基于sdn的云雾结合物联网应用构建系统
CN109100956A (zh) * 2018-08-10 2018-12-28 慈溪冬宫电器有限公司 一种远程控制智能插座的方法及智能插座系统
CN109361770A (zh) * 2018-12-11 2019-02-19 苏州创旅天下信息技术有限公司 基于WebSocket和消息队列实现双向实时通信的系统及方法

Also Published As

Publication number Publication date
CN110533897A (zh) 2019-12-03

Similar Documents

Publication Publication Date Title
US9554242B2 (en) Device, method and computer readable medium for communication on a zigbee network
CN109743772A (zh) 入网方法和LoRaWAN终端
CN116527593B (zh) 网络流量拥塞控制方法及相关装置
CN110533897B (zh) 基于socket的咖啡烘焙通信方法
CN102387083B (zh) 网络访问控制方法和系统
CN110996346B (zh) 一种下行报文轨迹追踪方法、装置及计算机可读存储介质
CN105591892B (zh) 一种平滑重启流程的启动方法和装置
JP6420428B1 (ja) 無線デバイス
CN112039835A (zh) 自适应轮询时间估算方法、装置、设备及存储介质
CN103281369A (zh) 报文处理方法及广域网加速控制器woc
CN113992609B (zh) 一种处理多链路业务数据乱序的方法及系统
CN113726677A (zh) 一种网络拥塞控制方法及设备
CN112581307A (zh) 一种实现智能传感器即插即用的交互方法及系统
CN114363999B (zh) 物联网下行指令发送方法、装置及存储介质
JPH08256162A (ja) 無線lanシステム
CN113395135B (zh) 数据通信方法、装置及计算机可读存储介质
CN113757932B (zh) 空调通讯故障处理方法、装置、计算机设备及存储介质
CN117675113B (zh) 基于通信终端连接状态检测的波特率动态调整方法及装置
US11848867B2 (en) Regulation method intended for reducing congestion on a mesh powerline communication network
CN107911431A (zh) 一种消息同步方法、客户端、可读介质及存储控制器
WO2024098814A1 (zh) 一种数据传输处理方法、装置、存储介质及电子装置
CN115665951A (zh) 智能灯具控制系统、控制方法和调光方法
CN117320182A (zh) 连接的优化方法、装置、设备及存储介质
JP6459590B2 (ja) 通信装置、通信方法、および通信プログラム
JP2023035185A (ja) 無線通信システム、無線通信装置、通信制御方法およびプログラム

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20220428

Address after: Room 1011, 4 / F, building 5, No. 299, Hangfu Road, Chongfu Town, Tongxiang City, Jiaxing City, Zhejiang Province

Patentee after: Tongxiang Beite Technology Co.,Ltd.

Address before: 310018 No.2 street, Baiyang street, Hangzhou Economic and Technological Development Zone, Zhejiang Province

Patentee before: HANGZHOU DIANZI University

Effective date of registration: 20220428

Address after: 310000 room 420, east area, building a, No. 525, Xixi Road, Xihu District, Hangzhou City, Zhejiang Province

Patentee after: Kayou Technology (Zhejiang) Co.,Ltd.

Address before: Room 1011, 4 / F, building 5, No. 299, Hangfu Road, Chongfu Town, Tongxiang City, Jiaxing City, Zhejiang Province

Patentee before: Tongxiang Beite Technology Co.,Ltd.

TR01 Transfer of patent right