Open-source Iot framework ServerSuperIO (SSIO), practical application introduction in the project, serversuperiossio
I. project background
We are a traditional industry, but we have an unconventional heart. Enterprise Users are located both in China and abroad. In the face of the industry, it is necessary to build an industry-level (BIG) data platform. When talking about big data platforms, we often think of Hadoop, Spark, Nosql, distributed, etc. I can only say that we are still relatively low-level, but these technologies will certainly be involved in the future. Big data platforms are risky. Aside from the technical aspects, we should consider this issue from four aspects: the transformation of Enterprise thinking, whether to solve practical problems, whether to implement and whether there are value-added effects.
Do not change your mind, enterprises do not die, and individuals die. Why? Poor strategic determination, insufficient motivation, and the risk of PASS at any time.
The problem cannot be solved. It is just a castle in the air that cannot create practical values and realize the problems. It cannot be long-lived.
It cannot be implemented or implemented by a group or by technology. In short, it is still not feasible for a team. Leaders may not understand anything, but they must have absolute promotion capabilities.
There is no value-added effect, and ultimately no money. This is a situation that no one wants to see. A beautiful woman cannot have children. You need to worry more. Therefore, the first principle for college students is to have children.
Ii. Data
There are about 238 sites nationwide, excluding foreign countries. Each site has about 2000 sensors, and data is uploaded once every 5 minutes, which is equivalent to a sensor that needs to transmit seven points in one second. Perform in-depth data analysis on the big data platform to help production enterprises improve their production processes and prevent security issues.
Iii. Communication Protocols
Communication protocols are comprehensively considered in terms of command requirements, transmission procedures, communication levels, response modes, re-transmission mechanisms, timeout definitions, data integrity, communication efficiency, code and dictionary definitions, some are implemented by technology, and some are guaranteed by protocol .......
The communication protocol command package is as follows:
Iv. Cache Mechanism
To avoid frequent operations on the database, the database is buffered on the Data uploading and receiving ends. As temporary data storage, the temporary data can also be stored on Hadoop, we didn't plan to do this in the early stage.
Client Cache structure:
Server cache structure:
V. Communication Framework
The server uses SeverSuperIO (SSIO) and does not use other frameworks. One is to consider the access of different protocols, and the other is to facilitate the communication status, IO status, and site management of the site. The client is a self-written console program.
Vi. Problems and Solutions
(1) When the client and the server are tested on the first day, the client crashes directly on the second day, and the message "OutOfMemoryException" is displayed. After investigation, no problems have been found during the re-test. It may be because of threads and data operations.
(2) During the test, it is found that the received data is correct at the beginning and end, but the parsing data packet is null. This problem is because the CRC16 check is repeated with the end byte data group, and SeverSuperIO (SSIO) is missing two bytes when filtering data. Later, the CRC16 verification was changed to the checksum.
VII. Test Results
Test for 12 hours, for example:
1. [serialization] C # communication (Serial Port and network) Framework Design and Implementation
2. [Open Source] C # cross-platform Iot communication framework ServerSuperIO (SSIO) Introduction
2. Overall system construction solution using SuperIO and open-source cross-platform Iot framework ServerSuperIO
3. C # technical route of industrial IoT and integrated system solutions (data sources, data collection, data upload and receiving, ActiveMQ, Mongodb, WebApi, and mobile App)
5. ServerSuperIO Open Source Address: https://github.com/wxzz/ServerSuperIO
Internet of Things & integrated technology (. NET) QQ Group:54256083