Update 'README.md'

This commit is contained in:
Sergiu Toma 2020-08-03 14:12:14 +03:00
parent 417c17b881
commit 581be7b25e
1 changed files with 64 additions and 21 deletions

View File

@ -5,27 +5,70 @@
## Requirements: ## Requirements:
> curl -sL [https://deb.nodesource.com/setup_8.x](https://deb.nodesource.com/setup_8.x) | sudo -E bash -<br/> ```sh
> sudo apt-get install -y nodejs<br/> curl -sL [https://deb.nodesource.com/setup_8.x](https://deb.nodesource.com/setup_8.x) | sudo -E bash -
> sudo apt-get install -y build-essential<br/> sudo apt-get install -y nodejs
> install python 2.7<br/> sudo apt-get install -y build-essential
> rm package-lock.json && rm -rf node_modules && rm -rf ~/.node-gyp only **(if package-lock.json/node_modules or node was installed)**<br/> install python 2.7
> sudo apt-get install libasound2-dev<br/> rm package-lock.json && rm -rf node_modules && rm -rf ~/.node-gyp only **(if package-lock.json/node_modules or node was installed)**
> sudo npm i -g node-gyp<br/> sudo apt-get install libasound2-dev
> sudo npm install --unsafe-perm sudo npm i -g node-gyp
sudo npm install --unsafe-perm
```
## How to guide how to configure units and the simulator
<br/>
**1. Insert Groups** <br/>
Groups will be inserted using the following script directly on the database:
```sql
set search_path to public;
## Configuration: do $$
**For the simulation to simulate in a period**, we must put the **testing_period setting in settings** (the value is in milliseconds) <br/>
declare i INTEGER := 1;
declare sipid integer;
declare ressql varchar;
declare acc_id integer = 1;
declare p_account_name varchar := 'AIRWizard';
declare number_of_groups INTEGER := 100; -- How many groups we create
declare dispatcher_name varchar := 'Dispatcher Sergiu';
declare groups_name varchar := 'sim-test-';
BEGIN
-- Create groups
WHILE i <= number_of_groups LOOP
SELECT get_new_sipid(acc_id) INTO sipid;
SELECT insert_update_groups(acc_id, Null, groups_name || i, '1', '1', '0', '0', '0', sipid, 0,'','') INTO ressql;
i = i + 1;
end loop;
-- Assign dispatcher on the groups
insert into public.asset_group (asset_id, group_id)
select (select id from public.asset where name = dispatcher_name), id from public."group" g where name like groups_name || '%';
end; $$;
```
<br/>
**2. Insert units** <br/>
The units will be inserted from the provisioning(**Units -> Import from file**) and the **file_name.xlsx** file will have the following format:
<img src="./doc/units_xlsx.png">
<br/>
**3. Cimulator configuration:** <br/>
**For the simulation to simulate in a period**, we must put the **testing_period setting in settings** (the value is in milliseconds).<br/>
Example in **config**:<br/> Example in **config**:<br/>
> [settings]<br/> ```toml
> max_fails = 3<br/> [settings]
> send_voice = true<br/> max_fails = 3
> send_gps = true<br/> send_voice = true
> gps_report_interval = 10000<br/> send_gps = true
> gps_lng_start_point = 24.776126<br/> gps_report_interval = 10000
> testing_period = 7000 **# we will simulate all the units in a period of 7 seconds** gps_lng_start_point = 24.776126
testing_period = 7000 // we will simulate all the units in a period of 7 seconds**
```
## Start <br/>
> node index.js --path="./config/stage" node ./index.js --path="./config/testing" **4. To start the simulator** <br/>
To start the simulator we must specify which config file we want to use.
```
node index.js --path="./config/stage"
```