Merge branch 'web-server' of https://github.com/artem30801/CleverSwarm into web-server

This commit is contained in:
Igor Nurullaev
2019-09-04 19:04:01 +03:00
6 changed files with 31 additions and 16 deletions

View File

@@ -1,6 +1,7 @@
from flask import Blueprint, request, jsonify
from web_server_models import copters, WebCopter
from server import Client
from time import time
selfcheck_api = Blueprint('selfcheck_api', __name__, template_folder='templates')
@@ -11,13 +12,13 @@ def selfcheck_selected():
ip = request.args.get("ip")
for copter in copters:
if copter.ip == ip:
time = copter.refresh()
copter.refresh()
data = {
'anim_id': copter.anim_id,
'batt_voltage': ((float(copter.batt_voltage) - 3.2) / (4.2 - 3.2)) * 100,
'cell_voltage': copter.cell_voltage,
'selfcheck': copter.selfcheck,
'time': round(float(copter.time) - time, 3),
'time': round(float(copter.time) - time(), 3),
'name': copter.name,
}
# data = {"anim_id": "No animation", "batt_voltage": 3.259999990463257, "cell_voltage": 1.0850000381469727,
@@ -29,7 +30,7 @@ def selfcheck_selected():
def selfcheck_all():
data = []
for copter in copters:
time = copter.refresh()
copter.refresh()
data.append({
'anim_id': copter.anim_id,
'batt_voltage': ((float(copter.batt_voltage) - 3.2) / (4.2 - 3.2)) * 100,

View File

@@ -1,5 +0,0 @@
server master iburst
driftfile /var/lib/chrony/drift
allow 192.168.0.0/16
makestep 1.0 3
rtcsync

View File

@@ -1,7 +1,8 @@
from server import Client
copters = []
delay = 0
def set_delay_manually(_delay):
global delay
delay = _delay

View File

@@ -0,0 +1,4 @@
server 192.168.1.184 iburst minpoll -5 maxpoll -3
driftfile /var/lib/chrony/drift
makestep 0.1 -1
rtcsync

View File

@@ -0,0 +1,10 @@
pool 0.ru.pool.ntp.org iburst minpoll 10
pool 1.ru.pool.ntp.org iburst minpoll 10
pool 2.ru.pool.ntp.org iburst minpoll 10
pool 3.ru.pool.ntp.org iburst minpoll 10
driftfile /var/lib/chrony/drift
local stratum 8
allow 192.168.0.0/16
makestep 100 3
smoothtime 50000 0.01
rtcsync

View File

@@ -19,39 +19,43 @@
* Подключитесь к сети коптера, используя пароль `cleverwifi`.
* Настройте коптер, чтобы корректно работал режим позиции. По-умолчанию образ сконфигурирован для получения позиции с камеры с помощью aruco-маркеров и optical flow. Камера направлена вниз и вперёд, загружена тестовая карта меток. Если ваш способ позиционирования отличается - можно либо настроить данный образ, либо [собрать образ](image-building.md) со своими настройками.
* Перейдите в директорию клиента и запустите скрипт настройки клиента
```bash
cd ~/CleverSwarm/Drone
sudo ./client_setup.sh
```
* Выполните скрипт настройки клиента с указанными параметрами - SSID, пароль точки доступа, имя коптера, ip сервера.
* Коптер переключится в режим клиента указанной точки доступа и настроит автозапуск клиента copter_client.py с помощью сервиса clever-show
Документация по клиентской части находится [здесь](client.md).
## Настройка и запуск сервера
* Установите [chrony](https://chrony.tuxfamily.org/index.html) и Python 3 на ваш компьютер:
* Установите [chrony](https://chrony.tuxfamily.org/index.html) и Python 3 на ваш компьютер:
```bash
sudo apt install chrony python3 python3-pip
```
* Установите необходимые python-пакеты с помощью команды (запущенной из директории с исходным кодом)
```bash
pip3 install -r requirements.txt
```
* Подключитесь к wifi сети роутера, к которому подключены коптеры.
* Скопируйте [файл настроек chrony](../Server/chrony.conf) в `/etc/chrony/chrony.conf`. Если ip адрес сети начинается не с `192.168.`, то исправьте адрес после слова allow в скопированном файле настроек.
* Скопируйте [файл настроек chrony](../builder/chrony-server.conf) в `/etc/chrony/chrony.conf`. Если ip адрес сети начинается не с `192.168.`, то исправьте адрес после слова allow в скопированном файле настроек.
* Перезапустите сервис chrony
```bash
cd source-code-dir
sudo systemctl restart chrony
```
* Перейдите в директорию сервера из директории с исходным кодом и запустите сервер
```bash
cd source-code-dir/Server
python3 server_qt.py
```
Документация по серверной части находится [здесь](server.md).
<!--stackedit_data:
eyJoaXN0b3J5IjpbLTIwNjI5MzIwMTFdfQ==
-->
Документация по серверной части находится [здесь](server.md).