preamble
Recommended Dike Infiltration Geological Data Collection and Cloud Monitoring System developed in C# language. Hope this article can provide valuable information and reference.
Projects
- Use dozens of .NET clients to control hardware devices to work, collect data and process it.
- Administrators control the work of each device in real time through the Android app.
- The work won the first prize in the 12th China Graduate Student Electronic Design Competition South China.
Project framework
The overall system design is shown below:
Technical characteristics
1. Data acquisition and processing
A single hardware device collects earth voltage and current data in real time through 64 collection electrodes.
NET client reads these data in real time, generates geodesic resistivity information through forward and inverse algorithms, automatically analyzes the geologic conditions, and generates intuitive display maps.
2. Flexible communication methods
NET clients communicate with hardware devices via LAN or serial port, and the communication method can be switched freely.
3. Data collection strategy and real-time analysis
NET client generates data collection strategies, controls hardware devices for data collection, and analyzes the collected data in real time.
4、Cloud storage and display
NET client uploads the algorithm results to the Bmob back-end cloud, and the visualization graph is uploaded to the Seven Bulls cloud storage.
5, Android application remote control
Android application obtains real-time geological monitoring results through Bmob back-end cloud and Seven Bulls cloud storage, obtains the working status of each .NET client, and remotely controls each client to do its work.
6. PC server and device emulation client
NET demo program based on the WPF framework and C#, divided into client-side and server-side:
- The client sends data to the server in sequence in the form of custom frames.
- The server generates customized frames for multiple channels based on the information received and sends them to the client, realizing automated data acquisition.
- The client controls the server-side program through custom frames to generate custom data and send it back, while storing the data locally for subsequent processing.
7, a variety of communication protocol support
Supports both TCP and serial communication. TCP protocol is used to establish a connection between the client and the server for demonstration.
8. Data transmission and visualization
The client sends out one custom frame to receive and visualize data from all channels.
If no reply is received, the client will repeat the message until a reply is received.
9. Data management and storage
When the client is operated, data configured manually, data generated automatically by the system, and data generated through the server are temporarily cached in the SQLite database.
At the end of a job, the client software can export this data to a local file in JSON format for persistent storage.
Android-based remote control application
Map Integration
Use Baidu map SDK to integrate map function, realize accurate positioning and display of device location.
equipment control
Through Bmob's back-end cloud platform, it can remotely control each device to carry out work and realize remote start, stop and parameter setting of the device.
real time monitoring
Real-time display of the working status and data processing results of the remote equipment, including equipment operation, collected data and analysis results.
Project Address
GitHub:/bitkylin/ParallelCollectionMonitoring
Gitee:/jimhacker/ParallelCollectionMonitoring
summarize
We hope this paper can provide valuable references in the design and realization of efficient and intelligent data acquisition and cloud-based monitoring system. Welcome to share your valuable experience and suggestions by leaving your comments in the comment section.
If you found this article helpful, why not support it with a like? Your support is what keeps me motivated to continue sharing my knowledge. Feel free to leave a comment if you have any questions or need further help.
You can also join WeChat[DotNet Technician] community to share ideas and grow with other tech-loving peers!Excellence is a habit, so feel free to leave a comment and learn!