Skip to content
This repository was archived by the owner on Mar 20, 2023. It is now read-only.

Commit 1e653fe

Browse files
committed
Updated the readme documentation
1 parent 4083fb4 commit 1e653fe

File tree

7 files changed

+103
-33
lines changed

7 files changed

+103
-33
lines changed

Makefile

+3-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,9 @@ all: release
66

77
$(PACKAGE):
88
make -C ckscada-client
9-
make -C ckscada-server/admin-client
9+
make -C ckscada-server/admin-client
10+
make -C ckscada-server/admin-server
11+
make -C ckscada-server/server
1012

1113
release: $(PACKAGE)
1214

README.md

+54-28
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,12 @@ Introduction
22
===================================
33

44
ckSCADA is an open source SCADA system built using Kafka.
5+
56
https://ckscada.readthedocs.io/
67

78
The primary aim is to be an open source alternate to proprietry SCADA systems.
89

9-
Using Kafka it allows the system to be easily extended using third party
10+
Using Kafka allows the system to be easily extended using third party
1011
components. Kafka is a very well supported framework for messaging between
1112
components. The system is able to be scaled easily with the addition of additional
1213
Kafka brokers.
@@ -17,7 +18,7 @@ Roadmap
1718
The system is currently in the very early stage of development and is not suitable
1819
for production use.
1920

20-
* v0.1
21+
* v0.1
2122

2223
* Basic framework has been setup and proof of concept implemented.
2324

@@ -27,13 +28,13 @@ Future Release Milestones
2728
* v0.2
2829

2930
* Add exception handling to server code
30-
31+
3132
* Document server code
32-
33+
3334
* Fix issues around server redundancy
34-
35+
3536
* Add additional devices including server metric tags
36-
37+
3738
* Discuss Python implementation for server components
3839

3940
* v0.3
@@ -45,32 +46,47 @@ Server Installation
4546

4647
To install the server components.
4748

48-
Firstly make sure your Kafka broker/clusetr has been setup already. The server
49-
components should be able to be run on the Kafka broker.
49+
Firstly make sure your Kafka broker/cluster has been setup already. There are
50+
plenty of tutorials on how to setup a KAfka cluster such as this one:-
51+
52+
https://kafka.apache.org/quickstart
53+
54+
Windows Installation
55+
-----------------------------------
56+
57+
Working under the assumption that your machine is connected to the internet.
58+
59+
For Windows you will need to install node.js manually:-
60+
61+
https://nodejs.org/en/download/
62+
63+
Install Python 3
5064

51-
For Windows you will need to install node.js manually as well as python 3. You
52-
can then install kafka-python with pip and manually install node.js dependancies
53-
using
65+
https://www.python.org/downloads/
66+
67+
make sure that python is included in your path.
68+
69+
Following this, download the ckscada package and download the npm/python packages.
5470

5571
```
5672
57-
npm install .
73+
make.bat
5874
5975
```
6076

61-
in the ckscada-client and ckscada-server/admin-client folders.
77+
Linux Installation
78+
-----------------------------------
6279

6380
For Debian/Ubuntu use apt to install it
6481

6582
```
6683
6784
sudo apt install npm python3
68-
sudo npm install -g npm-cache
6985
pip3 install kafka-python
7086
7187
```
7288

73-
Following this, download the ckscada package and build the npm packages.
89+
Following this, download the ckscada package and download the npm/python packages.
7490

7591
```
7692
@@ -79,26 +95,26 @@ Following this, download the ckscada package and build the npm packages.
7995
8096
```
8197

82-
Edit the config.json file in the config folder.
98+
Edit the config.json file in the config folders.
8399
Include the nodeId, ip address and the port of one of your Kafka brokers.
84100

85-
We will next run the server components.
101+
We will next run the server components, opening a new terminal between each set:-
86102

87103
```
88104
89105
cd ckscada-server/server/src
90106
python3 ckagent.py --config ../../config/config.json
91107
92108
cd ckscada-server/admin-server/src
93-
python3 points.py --config ../../config/test.json
109+
python3 ckadminserver.py --config ../../config/config.json
94110
95111
cd ckscada-server/admin-client
96112
npm start .
97-
113+
98114
```
99115

100-
There is a helper script to setup a few tags on simulation device and start
101-
publishing them the sample page on the client uses these.
116+
There is a helper script to setup a few tags on a simulation device and start
117+
publishing them, the sample page on the client uses these.
102118

103119
```
104120
@@ -116,32 +132,42 @@ Viewer Only
116132
To install the viewer download the Node.js package from nodejs.org for your
117133
operating system.
118134

119-
For Windows you will need to install node.js manually as well as python 3. You
120-
can then install kafka-python with pip. Then manually install node.js dependancies
121-
using
135+
Windows Installation
136+
-----------------------------------
137+
138+
Install node.js manually:-
139+
140+
https://nodejs.org/en/download/
141+
142+
Following this, download the ckscada package, npm packages and
143+
remove the folders that aren't needed.
122144

123145
```
124146
147+
del ckscada-server
148+
125149
cd ckscada-client
126150
npm install .
127-
151+
128152
```
129153

154+
Linux Installation
155+
-----------------------------------
156+
130157
For Debian/Ubuntu use apt to install it
131158

132159
```
133160
134161
sudo apt install npm
135-
sudo npm install -g npm-cache
136162
137163
```
138164

139165
Following this, download the ckscada package and build the npm packages.
140166

141167
```
142168
143-
cd ckSCADA
144-
make
169+
cd ckscada-client
170+
npm install .
145171
146172
```
147173

ckscada-client/Makefile

+1-2
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ all: release
77
$(PACKAGE):
88
rm -rf node_modules;
99
if test -f package-lock.json; then rm package-lock.json; else echo package-lock.json does not exist; fi
10-
npm-cache install;
10+
npm install;
1111
sudo chown root node_modules/electron/dist/chrome-sandbox
1212
sudo chmod 4755 node_modules/electron/dist/chrome-sandbox
1313

@@ -16,4 +16,3 @@ release: $(PACKAGE)
1616
clean:
1717
rm -rf node_modules;
1818
if test -f package-lock.json; then rm package-lock.json; else echo package-lock.json does not exist; fi
19-

ckscada-server/admin-client/Makefile

+1-2
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,10 @@ all: release
77
$(PACKAGE):
88
rm -rf node_modules;
99
if test -f package-lock.json; then rm package-lock.json; else echo package-lock.json does not exist; fi
10-
npm-cache install;
10+
npm install;
1111

1212
release: $(PACKAGE)
1313

1414
clean:
1515
rm -rf node_modules;
1616
if test -f package-lock.json; then rm package-lock.json; else echo package-lock.json does not exist; fi
17-

ckscada-server/admin-server/Makefile

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
NAME=admin-server
2+
VERSION=0.1
3+
PACKAGE=$(NAME)
4+
5+
all: release
6+
7+
$(PACKAGE):
8+
pip3 install -r requirements.txt
9+
10+
release: $(PACKAGE)

ckscada-server/server/Makefile

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
NAME=ckscada-client
2+
VERSION=0.1
3+
PACKAGE=$(NAME)
4+
5+
all: release
6+
7+
$(PACKAGE):
8+
rm -rf node_modules;
9+
if test -f package-lock.json; then rm package-lock.json; else echo package-lock.json does not exist; fi
10+
npm install;
11+
pip3 install -r requirements.txt
12+
13+
release: $(PACKAGE)
14+
15+
clean:
16+
rm -rf node_modules;
17+
if test -f package-lock.json; then rm package-lock.json; else echo package-lock.json does not exist; fi

make.bat

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
cd ckscada-client
2+
npm install
3+
4+
cd ..
5+
cd ckscada-server\admin-client
6+
npm install
7+
8+
cd ..
9+
cd admin-server
10+
pip3 install -r requirements.txt
11+
12+
cd ..
13+
cd server
14+
pip3 install -r requirements.txt
15+
npm install
16+
17+
cd ../..

0 commit comments

Comments
 (0)