Raman spectroscopic device and communication method thereof
10623531 ยท 2020-04-14
Assignee
Inventors
Cpc classification
H04L69/10
ELECTRICITY
H04L67/125
ELECTRICITY
International classification
Abstract
A Raman spectroscopic device and a communication method thereof are disclosed. In one aspect, an example Raman spectroscopic device comprises a communication unit configured to communicate with at least one of a server and a management terminal through one or more types of communication interfaces for one or more respective purposes. One or more communication interfaces are established based on a User Datagram Protocol (UDP).
Claims
1. A Raman spectroscopic device, comprising: a communication unit configured to communicate with at least one of a server and a management terminal through one or more types of communication interfaces for one or more respective purposes, wherein all of the types of communication interfaces are established based on a User Datagram Protocol (UDP), wherein, the Raman spectroscopy device is configured to initiate registration of the Raman spectroscopy device in a manner selected from the group consisting of: (a) the Raman spectroscopy device broadcasts identification information of the Raman spectroscopy device over a network, and (b) the Raman spectroscopy device receives a probe broadcast transmitted by the server and/or the management terminal and then sends its identification information to the server and/or the management terminal.
2. The Raman spectroscopic device according to claim 1, wherein the communication by the communication unit comprises operations of: receiving a handshake command from the at least one of the server and the management terminal; transmitting a handshake response to the at least one of the server and the management terminal; receiving a data package from the at least one of the server and the management terminal; and feeding back a result of an operation which is performed according to data in the data package to the at least one of the server and the management terminal.
3. The Raman spectroscopic device according to claim 2, further comprising a processor connected to the communication unit and configured to: receive the data package from the communication unit; perform an operation according to the data in the data package; and return a result of the operation to the communication unit.
4. The Raman spectroscopic device according to claim 2, wherein the communication unit is further configured to: verify the data package after receiving the data package; and feed back the result of the operation which is performed according to the data in the data package to the at least one of the server and the management terminal only if the verification is successful.
5. The Raman spectroscopic device according to claim 1, wherein the communication by the communication unit further comprises operations of: sending Raman spectrum inspection data to the at least one of the server and the management terminal.
6. The Raman spectroscopic device according to claim 1, wherein the communication by the communication unit comprises operations of: transmitting a request for data of other Raman spectroscopic devices to the at least one of the server and the management terminal; and receiving the requested data of the other Raman spectroscopic devices.
7. The Raman spectroscopic device according to claim 6, wherein receiving the requested data of the other Raman spectroscopic devices comprises: receiving, from the at least one of the server and the management terminal, data pre-stored in the at least one of the server and the management terminal or acquired by the at least one of the server and the management terminal from various other Raman spectroscopic devices.
8. The Raman spectroscopic device according to claim 6, wherein receiving the requested data of the other Raman spectroscopic devices comprises: receiving the data from various other Raman spectroscopic devices, respectively.
9. A communication method performed by a Raman spectroscopic device, comprising performing the following steps through one or more types of communication interfaces: initiating registration of the Raman spectroscopy device in a manner selected from the group consisting of: (a) the Raman spectroscopy device broadcasts identification information of the Raman spectroscopy device over a network, and (b) the Raman spectroscopy device receives a probe broadcast transmitted by the server and/or the management terminal and then sends its identification information to the server and/or the management terminal; receiving a handshake command from at least one of a server and a management terminal; transmitting a handshake response to the at least one of the server and the management terminal; receiving a data package from the at least one of the server and the management terminal; and feeding back a result of an operation which is performed according to data in the data package to the at least one of the server and the management terminal, wherein all of the communication interfaces are established based on a User Datagram Protocol (UDP).
10. The communication method according to claim 9, further comprising: verifying the data package after receiving the data package; and feeding back the result of the operation which is performed according to the data in the data package to the at least one of the server and the management terminal only if the verification is successful.
11. A communication method performed by a Raman spectroscopic device, comprising performing the following steps through one or more types of communication interfaces: initiating registration of the Raman spectroscopy device by one of two following ways: the Raman spectroscopy device broadcasts identification information of the Raman spectroscopy device over a network, or the Raman spectroscopy device receives a probe broadcast transmitted by the server and/or the management terminal and then sends its identification information to the server and/or the management terminal; wherein all of these communication interfaces are established based on a User Datagram Protocol (UDP).
12. The communication method according to claim 11, further comprising performing the following steps through one or more types of communication interfaces: transmitting a request for data of other Raman spectroscopic devices to at least one of a server and a management terminal; and receiving the requested data of the other Raman spectroscopic devices.
13. The communication method according to claim 12, wherein receiving the requested data of the other Raman spectroscopic devices comprises: receiving, from the at least one of the server and the management terminal, data pre-stored in the at least one of the server and the management terminal or acquired by the at least one of the server and the management terminal from various other Raman spectroscopic devices.
14. The communication method according to claim 12, wherein receiving the requested data of the other Raman spectroscopic devices comprises: receiving the data from various other Raman spectroscopic devices, respectively.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1)
(2)
(3)
(4)
(5)
(6)
DETAILED DESCRIPTION OF CERTAIN ILLUSTRATIVE EMBODIMENTS
(7) The specific embodiments of the disclosed technology will be described in detail below. It should be noted that the embodiments herein are used for illustration only, without limiting the disclosed technology. In the description below, a number of specific details are explained to provide better understanding of the disclosed technology. However, it is apparent to those skilled in the art that the disclosed technology can be implemented without these specific details. In other instances, well known structures, materials or methods are not described specifically so as not to obscure the disclosed technology.
(8) Throughout the specification, the reference to one embodiment, an embodiment, one example or an example means that the specific features, structures or properties described in conjunction with the embodiment or example are included in at least one embodiment of the disclosed technology. Therefore, the phrases in one embodiment, in an embodiment, in one example or in an example occurred in various positions throughout the specification may not necessarily refer to the same embodiment or example. Furthermore, specific features, structures or properties may be combined into one or more embodiments or examples in any appropriate combination and/or sub-combination. Moreover, it should be understood by those skilled in the art that the accompanying drawings provided here are for the purpose of illustration and are not necessarily to be drawn to scale. The term and/or used herein means any and all combinations of one or more listed items.
(9) In general, interface broadly refers to an entity of a specific device entity which is used to provide the specific device entity itself to the outside or an abstract concept thereof. Depending on different circumstances, there are many different implementations of the interface. For example, an interface of a computer which is used to interact with people is implemented as a user interface; an interface between computer hardware is implemented as a hardware interface (for example, a USB, and etc.) for connecting entities; and an information transmission interface implemented through programs, software, etc. is implemented as a virtual interface, which is implemented through a program expression structure. The interface herein refers to a virtual interface which is used to enable inter-entity communication under a particular communication protocol.
(10) The disclosed technology will be specifically described below with reference to the accompanying drawings.
(11) A communication scenario of a Raman spectroscopic device according to an embodiment of the disclosed technology will be described below.
(12) Firstly, as shown in
(13) As illustrated, the communication network architecture 100 of the Raman spectroscopic devices comprises a Raman spectroscopic device 110, a server 120, a management terminal 130 and a network 140. The Raman spectroscopic device 110, the server 120, and the management terminal 130 are connected to the network 140, to communicate with each other through the network 140.
(14) The Raman spectroscopic device 110 may be any type of Raman spectroscopic device 110, such as any of the RT1003, RT3000, RT5000, and RT6000 series of Raman spectroscopic devices manufactured by Nuctech. It should be illustrated that, although only a single Raman spectroscopic device 110 is shown in
(15) The server 120 may be any type of web server such as a dedicated server for implementing a specific function or a general cloud server etc. The server 120 may have a memory for storing data, instructions and programs, or may be connected to a dedicated database server.
(16) The management terminal 130 may be a terminal device such as a computer, a tablet, a mobile phone etc., through which a user may monitor and manage the Raman spectroscopic device 110.
(17) In one embodiment, the management terminal 130 communicates directly with the Raman spectroscopic device 110 to control the Raman spectroscopic device 110 to operate so as to achieve a specific function. In another embodiment, the management terminal 130 communicates with the Raman spectroscopic device 110 via the server 120. In yet another embodiment, the management terminal 130 not only communicates directly with the Raman spectroscopic device 110 but also communicates with the Raman spectroscopic device 110 via the server 120 to achieve different functions, respectively.
(18) The network 140 may be any wired network or wireless network, such as WiFi, a mobile communication network, a Bluetooth network, etc. It should be pointed out that although only a single network 140 is shown in
(19) Next, as shown in
(20) As illustrated, the communication network architecture 200 of the Raman spectroscopic devices comprises a Raman spectroscopic device 210, a server 220, a management terminal 230, and a network 240. The Raman spectroscopic device 210 and the server 220 are connected to the network 140 and may communicate with each other over the network 140. The management terminal 230 is connected to the server 220 to control the server 220 to communicate with the Raman spectroscopic device 210 and thus to monitor and manage the Raman spectroscopic device 210.
(21) Except for the difference in the above connection modes, the Raman spectroscopic device 210, the server 220, the management terminal 230 and the network 240 are similar to the respective devices in
(22) A Raman spectroscopic device according to an embodiment of the disclosed technology and a communication method thereof will be described below in combination with the first scenario in
(23)
(24) As shown in
(25) One or more types of communication interfaces (as illustrated by a plurality of bidirectional arrows on the right side of
(26) Specifically, the communication interfaces may have a variety of types, such as basic command, management command, historical data, upgrade command etc., for different communication purposes. Table 1 below exemplarily illustrates more than 60 interfaces with these types. It should be understood that these interface types and descriptions are only exemplary and do not limit the disclosed technology.
(27) TABLE-US-00001 TABLE 1 Serial Interface Interface Function number type name name Function description 1. Communication Service Cmm_Start The interface creates a channel communication Server service communication port start port to receive a request for communication from a client, and operates on a server. 2. Client Cmm_Start The interface creates a communication Client client communication port start port to receive communication from a server side, and operates on a client. 3. Close Cmm_Close The interface closes a communication channel to release occupied resources, and operates on a server and a client at the same time. 4. Basic Handshake Cmd_Link The interface is used by command command two parties of communication to confirm whether the other party is online before the two parties communicate with each other, and operates on a server and a client at the same time. 5. Real-time Cmd_Send The interface transmits a result Result real-time inspection result. The interface operates on a client, and transmits the inspection result once the inspection is completed. If a connection to a network is turned off, the inspection result is stored in a linked list to be transmitted, and when a connection to the idle network is turned on, the inspection result is transmitted. 6. User login Cmd_UserLogin The interface operates command on a client, and informs a server of the command at the time of login. 7. User leave Cmd_UserLeave The interface operates command on a client, and informs a server of the command at the time of switching between users. 8. Failure Cmd_Send The interface operates inspection Failure on a client, and command transmits the command when a failure occurs. 9. Remote Cmd_ The interface operates measurement RemoteMeasure on a server, and command start remotely starts measurement through a network. This is suitable for remote measurement of dangerous articles. 10. Transmission Cmd_ The interface operates of a response ResponeRemote- on a client, responds to to a remote Measure remote measurement measurement through a network and command then feeds back a response. 11. Basic device Cmd_ The interface operates information RegDevInfor on a client to register registration device information. When a target IP or port is null, the interface transmits the information through broadcast, and if the target IP or port is not null, the interface registers the information with a specified server. 12. Basic Cmd_ The interface operates information of NearbyDevInfor on a client, and issues nearby devices the acquired information of nearby devices through broadcast, which is convenient for subsequent data exchange. 13. Self- Cmd_ The interface operates established UploadSelfSpecData on a client, and uploads database a self-established spectrogram database spectrogram. upload 14. Server- Cmd_ The interface operates uploaded SearchServerUp- on a client, and inquires spectrogram SpecData a spectrogram uploaded inquiry by a server. 15. Deletion of Cmd_Delete The interface operates inquired result SearchSpec on a client, and deletes files of a XMLFile inquired result files of a spectrogram of spectrogram of a server. a server 16. Download of a Cmd_ The interface operates spectrogram DownloadSpecData on a client, and uploaded by a downloads a server spectrogram uploaded by a server. 17. File upload Cmd_ The interface operates UploadFile on a client, and uploads files to a server. 18. ReachBack Cmd_Reach The interface operates service Back on a client, and performs a ReachBack service. 19. Management Reboot Admin_ The interface reboots a command command Reboot device, and primarily operates on a server. After receiving an instruction, a client reboots the device. 20. Device state Admin_ The interface operates acquisition GetDevStatus on a server, and command acquires a state of a specified device. 21. Online Admin_ The interface operates broadcast OnlineBroadcast on a server, and command performs online broadcast. When the broadcast is received by a client, the client transmits an online response. 22. Online user Admin_Get The interface operates acquisition OnlineUser on a server, and command acquires a current login user of a specified device. 23. Time Admin_Get The interface operates acquisition DateTime on a server, and command acquires a system time of a specified device. 24. Time Admin_Set The interface operates synchronizationcommand DateTime on a server, and sets a time of a specified device for time synchronization calibration. 25. Measurement Admin_ The interface operates mode GetMeasureMode on a server, and acquisition acquires a measurement command mode of a specified device. 26. Measurement Admin_ The interface operates mode setting SetMeasureMode on a server, and sets a command measurement mode of a specified device. 27. Recognition Admin_ The interface operates mode GetRegMode on a server, and acquisition acquires a recognition command mode of a specified device. 28. Recognition Admin_ The interface operates mode setting SetRegMode on a server, and sets a command recognition mode of a specified device. 29. Device ID Admin_Get The interface operates acquisition DevID on a server, and acquires a device ID. 30. Device ID Admin_Set The interface operates setting DevID on a server, and sets a device ID. 31. Device alias Admin_Get The interface operates acquisition DevAliases on a server, and acquires an alias of a specified device. 32. Device alias Admin_Set The interface operates setting DevAliases on a server, and sets an alias of a specified device. 33. Device IP Admin_Get The interface operates acquisition DevIP on a server, and command acquires an IP address of a specified device. 34. Device IP Admin_Set The interface operates setting DevIP on a server, and sets an command IP address of a specified device. 35. Language Admin_ The interface operates acquisition GetLanguage on a server, and command acquires a language of a specified device. 36. Language Admin_ The interface operates setting SetLanguage on a server, and sets a command language of a specified device. 37. Laser power Admin_ The interface operates acquisition GetLaserPower on a server, and command acquires laser power of a specified device. 38. Laser power Admin_ The interface operates setting SetLaserPower on a server, and sets command laser power of a specified device. 39. Device Admin_Get The interface operates location DevLocation on a server, and acquisition acquires a location command where a specified device is placed. 40. Device Admin_Set The interface operates location DevLocation on a server, and sets a configuration location where a command specified device is placed. 41. Configuration Admin_Get The interface operates file data CfgFile on a server, and acquisition acquires configuration files. 42. Configuration Admin_Set The interface transmits file data CfgData configuration file data transmission and operates on a server. 43. Soft version Admin_Get The interface operates acquisition SoftVersion on a server, and command acquires a software version. 44. Algorithm Admin_Get The interface operates version AlgVersion on a server, and acquisition acquires an algorithm command version. 45. Spectrogram Admin_Get The interface operates database DBVersion on a server, and version acquires a spectrogram acquisition database version. command 46. Result Admin_Get The interface operates transmission SndResultMode on a server, and mode acquires an inspection acquisition result transmission mode. 47. Result Admin_ The interface operates transmission SetSndResultMode on a server, and sets an mode setting inspection result transmission mode. 48. Network Admin_Get The interface operates startup mode NetMode on a server, and acquisition acquires a network startup mode of a client. 49. Network Admin_Set The interface operates startup mode NetMode on a server, and sets a setting network startup mode of a client. 50. Basic device Admin_Get The interface operates information DevInfor on a server, and acquisition acquires device information. 51. Measurement Admin_ The interface operates data GetMeasureDataFile on a server, and acquisition acquires measurement data files. 52. Result binding Admin_ The interface operates ID setting SetResultBindID on a server, and sets a result binding ID (for example, if it is bound to CT, the result binding ID is an image ID). 53. Historical Historical HisData_ The interface operates data inspection GetHisResultCount on a server, and result count acquires a specified inquiry historical inspection result count. 54. Historical HisData_ The interface operates inspection GetHisResult on a server, and result acquires specified acquisition historical inspection results. 55. Historical HisData_ The interface operates inspection GetHisResultFile on a server, and result file acquires specified acquisition historical inspection result files. 56. Historical HisData_ The interface operates inspection data GetHisDataFile on a server, and file acquisition acquires specified historical inspection data files. 57. Acquired HisData_ The interface operates historical ClearHisSearch- on a server, and clears inspection Buffer up a historical inquiry result buffer buffer. clear-up 58. Historical HisData_ The interface operates inspection GetHisFailureFile on a server, and failure file acquires historical acquisition inspection failure files. 59. Upgrade Upgrade start UpSoft_ The interface operates Start on a server, and informs a client the upgrade starts. 60. Upgrade file UpSoft_ The interface operates transmission SendFile on a server, and transmits upgrade data files to a client. 61. Upgrade end UpSoft_End The interface operates on a server, and informs a client transmission of upgrade files ends. 62. Upgrade state UpSoft Get The interface operates inquiry Status on a server, and inquires a state of upgrade. 63. Upgrade UpSoft_ The interface operates success Sucess on a server, and informs the server that upgrade is successful.
(28) Depending on different communication purposes, not only the interfaces used may be different, but also the communication flows may also be different. Communication flows of various communication methods which are performed by the Raman spectroscopic device 110 through the interfaces established based on the UDP in the first scenario will be described below in combination with the structure of the Raman spectroscopic device 110 in
(29)
(30) Specifically, in step S410, the Raman spectroscopic device 110 receives a handshake command from the server 120 (via a communication unit 310).
(31) After the Raman spectroscopic device 110 is put into use, the Raman spectroscopic device 110 needs to be registered with the server 120 (which will be described below). The step S410 refers to that the Raman spectroscopic device 110, as a device which has already been registered with the server 120, may receive a specific handshake command from the server 120. The handshake command is used to determine whether the Raman spectroscopic device is ready to receive a command or data which will be transmitted by the server 120.
(32) Then, in step S420, the Raman spectroscopic device 110 transmits a handshake response to the server 120 (via the communication unit 310).
(33) If the Raman spectroscopic device 110 is ready for reception, it informs the server 120 through a positive acknowledgement handshake response that the command or data can be transmitted. On the contrary, if the Raman spectroscopic device 110 is not yet ready, it informs the server 120 through a negative acknowledgement handshake response that transmission of the command or data should be postponed. Alternatively, a code of a reason why the Raman spectroscopic device 110 is not yet ready may further be included in the negative acknowledgement handshake response.
(34) Of course, there may also be a link condition or a network device failure, in which case the transmission of the handshake command or the handshake response cannot be successfully implemented. In one embodiment, when the server 120 does not receive any handshake response within a certain threshold time after the server 120 transmits the handshake command, the server 120 judges that there is a problem with the connection therebetween. In one embodiment, the server 120 prompts the user to additionally detect the connection between the Raman spectroscopic device 110 and the server 120.
(35) Next, in step S430, the Raman spectroscopic device 110 receives a data package from the server 120 (via the communication unit 310).
(36) The data package comprises a header portion and a data portion. The data portion comprises a command or data transmitted by the server 120.
(37) In one embodiment, the Raman spectroscopic device 110 is further configured to verify the data package after receiving the data package. Further, subsequent operations can be performed only if the verification is successful. If the verification fails, the Raman spectroscopic device 110 transmits error information to the server 120 or requests the server 120 to retransmit the data package.
(38) Finally, in step S440, the Raman spectroscopic device 110 feeds back a result of an operation which is performed according to data in the data package to the server 120 (via the communication unit 310).
(39) In one embodiment, the processor 320 in the Raman spectroscopic device 110 receives the data package from the communication unit 310 and performs an operation (for example, an action indicated by the command or updating or upgrading using the data) according to the command or data in the data package. After the operation is completed, the processor 320 returns a result of the operation to the communication unit 310. Then, the communication unit 310 feeds back the result to the server 120.
(40) It should be pointed out that if the data package comprises a data transmission instruction, data transmission indicated by the instruction then continues to be initiated between the Raman spectroscopic device 110 and the server 120.
(41) In addition, the server 120 may terminate the communication by transmitting another handshake command during the communication.
(42)
(43) In step S510, the Raman spectroscopic device 110 receives a broadcast command from the server 120.
(44) In one embodiment, the broadcast command may be a probe broadcast transmitted by the server 120 for registering a new Raman spectroscopic device 110 therewith. In another embodiment, the broadcast command may be an instruction for instructing a specific Raman spectroscopic device (for example, the Raman spectroscopic device 110) to upload an inspection result thereof.
(45) In step S520, the Raman spectroscopic device 110 transmits identification information of the Raman spectroscopic device and/or Raman spectrum inspection data to the server 120.
(46) In one embodiment, if the broadcast command is a probe broadcast, after receiving the broadcast, the Raman spectroscopic device 110 returns device identification information thereof to the server 120 to enable registration. It should be pointed out that, in other embodiments, the registration process may also be initiated by the Raman spectroscopic device 110. After the Raman spectroscopic device 110 is put into use, the Raman spectroscopic device 110 broadcasts the device identification information thereof to the network 140, and the server 120 may acquire the device identification information for subsequent management and monitoring. This registration process may be implemented without the server 120 transmitting the probe broadcast.
(47) In another embodiment, if the broadcast command is an upload instruction, after receiving the broadcast, the Raman spectroscopic device 110 returns an inspection result thereof to the server 120. It should be pointed out that, in other embodiments, the process of uploading the inspection result may also be initiated by the Raman spectroscopic device 110. The Raman spectroscopic device 110 broadcasts the inspection result thereof to the network 140 each time a certain number of inspection results are obtained or every predetermined time interval. The upload process may be implemented without the server 120 transmitting the upload instruction.
(48)
(49) In step S610, the Raman spectroscopic device 110 transmits a request for data of other Raman spectroscopic devices to the server 120.
(50) In step S620, the Raman spectroscopic device 110 receives the requested data of the other Raman spectroscopic devices.
(51) In one embodiment, the server 120 stores inspection data obtained in advance from various Raman spectroscopic devices. Then, the server 120 transmits the stored inspection data to the Raman spectroscopic device 110 which transmits the request for the data.
(52) In another embodiment, after receiving the request for the data, the server 120 initiates data communications with other Raman spectroscopic devices to acquire inspection data thereof, and forwards the acquired inspection data to the Raman spectroscopic device 110.
(53) In another embodiment, after receiving the request for the data, the server 120 forwards the request for the data to various Raman spectroscopic devices, so that each of the other Raman spectroscopic devices transmits respective inspection data directly to the Raman spectroscopic device 110.
(54) In the Raman spectroscopic device according to the disclosed technology and the communication method thereof, a communication structure is established using the UDP protocol. Thus, system integration can be realized in a simpler and quicker manner, plug and play of the Raman spectroscopic device can be realized, and the Raman spectroscopic device can be monitored and managed by the management terminal. In addition, due to the use of connectionless communication, there is no need to maintain communication connections, which reduces the burden of the server. When the device has a new inspection result, it can immediately report the inspection result to the server or the management terminal, or upload the inspection result to the server or the management terminal when a network is available and the device is idle, or load historical inspection data which has not been uploaded when the device is powered on and upload the inspection result to the server or the management terminal when a network is available and the device is idle, or upload the inspection result to the server or the management terminal at certain time periods according to requirements of a user of the management terminal.
(55) While the disclosed technology has been described with reference to several typical embodiments, it is apparent to those skilled in the art that the terms are used for illustration and explanation purpose and not for limitation. The disclosed technology may be practiced in various forms without departing from the spirit or essence of the disclosed technology. It should be understood that the embodiments are not limited to any of the foregoing details, and shall be interpreted broadly within the spirit and scope as defined by the following claims. Therefore, all of modifications and alternatives falling within the scope of the claims or equivalents thereof are encompassed by the claims as attached.
(56) The various features and processes described herein may be implemented independently of one another, or may be combined in various ways. All possible combinations and sub combinations are intended to fall within the scope of this disclosure. In addition, certain methods or process blocks may be omitted in some implementations. The methods and processes disclosed herein are also not limited to any particular sequence, and the blocks or states relating thereto can be performed in any other sequences that are appropriate. For example, described blocks or states may be performed in an order other than that specifically disclosed, or multiple blocks or states may be combined in a single block or state. The example blocks or states may be performed in serial, in parallel, or in some other manner as appropriate. Blocks or states may be added to or removed from the disclosed example embodiments as suitable. The example systems and components described herein may be configured differently than described. For example, elements may be added to, removed from, or rearranged compared to the disclosed example embodiments.