README update
This commit is contained in:
parent
132cea5676
commit
dc9db6cb71
80
README.md
Normal file
80
README.md
Normal file
@ -0,0 +1,80 @@
|
||||
# BachelorThesis
|
||||
|
||||
## About
|
||||
This repository contains source codes for client-server network application capable to communicate with distance laser sensor DLS-C 15 via RS-232 interface, which was implemented as a part of bachelor thesis.
|
||||
|
||||
## Author
|
||||
Author: Jozef Simko
|
||||
|
||||
School year: 3., Bachelor study, 2021/22
|
||||
|
||||
Study program: Computer Networks
|
||||
|
||||
Organization: Technical University of Kosice (TUKE), Faculty of Electrical Engineering and Informatics (FEI)
|
||||
|
||||
## Building
|
||||
Implemented and tested on:
|
||||
| Platform | OS | compiler |
|
||||
|-----------------|---------------------------|-------------------------------------------------|
|
||||
| Linux | Ubuntu 20.04.1 WLS2 | gcc version 9.3.0 (Ubuntu 9.3.0-10ubuntu2) |
|
||||
| Windows | Windows 10.0.19043 | gcc version 11.2.0 (MinGW-W64 x86_64-posix-seh) |
|
||||
| Raspberry Pi | Linux raspberrypi 5.10.17 | gcc version 8.3.0 (Raspbian 8.3.0-6+rpi1) |
|
||||
|
||||
#### LINUX
|
||||
* CLIENT
|
||||
- `gcc client.c -Wall -Werror -Wextra -o client`
|
||||
* SERVER
|
||||
- `gcc server.c rs232.c -Wall -Werroe -Wextra -o server`
|
||||
#### WINDOWS
|
||||
* CLIENT
|
||||
- `gcc client.c -Wall -Wextra -lwsock32 -o client`
|
||||
* SERVER
|
||||
- `gcc server.c rs232.c -lwsock32 -Wall -Werror -Wextra -o server`
|
||||
|
||||
## Launch
|
||||
### Server
|
||||
Server can be launched with 1 or 2 input parameters. The number of parameters determines what mode will be used - manual or automatic mode.
|
||||
|
||||
**port** - specific number to identify communication processes of server
|
||||
|
||||
**[config_file]** - configuration file with exact name of variables - check *config.cfg* file as example
|
||||
|
||||
#### Manual mode
|
||||
- server waits for input commands from client, sends them to laser sensor and returns results back to client
|
||||
- `./server <port>`
|
||||
|
||||
#### Automatic mode
|
||||
- server loads variables from configuration file *config.txt*, starts measuring and sends results to client continuously.
|
||||
- `./server <port> [config_file]`
|
||||
|
||||
### Client
|
||||
Client has to be lauched with 2 input parameters. If server is in **manual mode**, the client always loads input commands from *commands.txt*.
|
||||
|
||||
**IP address** - IP address of server the client tries to connect
|
||||
|
||||
**port** - port number of server
|
||||
- `./client <IP address> <port>`
|
||||
|
||||
## Demo
|
||||
Demo program demonstrates how to create client-like program, which can connect to server in automatic mode and process resulting data.
|
||||
#### Building
|
||||
UNIX - `gcc demo.c -Wall -Werror -Wextra -o demo`
|
||||
|
||||
WINDOWS - `gcc demo.c -Wall -Wextra -lwsock32 -o demo`
|
||||
|
||||
#### Launch
|
||||
No input parameters.
|
||||
|
||||
Macros defines multiple variables:
|
||||
|
||||
```c
|
||||
#define IP_ADDRESS "192.168.0.101" // IP address of server
|
||||
#define PORT 32500 // server port number
|
||||
#define MAX_VALUE 1265 // upper limit to compare (depends on used units)
|
||||
#define MIN_VALUE 1200 // lower limit to compare (depends on used units)
|
||||
```
|
||||
|
||||
## References
|
||||
[WinLibs GCC](https://winlibs.com)
|
||||
|
||||
[RS-232 library](https://www.teuniz.net/RS-232/)
|
Loading…
Reference in New Issue
Block a user