Веб-приложение

Оборудование Вега-Абсолют, не относящееся ни к одному из разделов
Ответить
stupid_student
Мимо проходил
Сообщения: 4
Зарегистрирован: Чт, 28 апр 2022 11:25

Веб-приложение

Сообщение stupid_student » Чт, 28 апр 2022 11:43

Всем доброго времени суток, я являюсь студентом 3 курса и работаю над проектом в рамках обучения (в одном Томском ВУЗе есть такая фишка). Суть проекта в сборе климатических параметров (температура, влажность, давление). В качестве базовой станции выступает у нас БС 2.2, в качестве оконечных устройств мы используем своё устройство, для которого пишем сами прошивку. Само устройство состоит из микроконтроллера Nucleo STM32, приемопередатчик RAK811, который сажается на переходник XBee, сам сенсор для сбора параметров - UMDK-THP от компании unwired devices.
Так вот, проблема состоит в том, что Vega Pulse не поддерживает оконечные устройства от других компаний. Руководитель проекта мне поставил задачу написать веб-приложение, в котором можно будет добавлять оконечные устройства (как это делается в AdminTool); запрашивать с определенным периодом данные с оконечного устройства; возможность авторизоваться различным пользователям, которые создаются в AdminTool; Синхронизировать данные с БД сервера; Иметь возможность отправки команды на оконечное устройство для того, чтобы тот отправил данные прямо сейчас, анализировать пришедшие данные в виде графика.
Я понимаю, что это только моя проблема, но я совсем не понимаю с чего начать, кроме как использовать API документацию. Какой язык использовать лучше, что как связать. А может вообще уже есть готовые решения...
Помогите! :?
Заранее спасибо всем

petrov_ab
Иногда пишу
Сообщения: 304
Зарегистрирован: Вт, 16 июл 2019 16:42
Откуда: Подмосковье

Re: Веб-приложение

Сообщение petrov_ab » Чт, 28 апр 2022 12:15

Добрый день!
Ну самый "просто2 способ - взять сам Pulse (он в исходниках) и переделать.
А вообще получается, что вам таким же образом придется переписывать и Admin Tools и другие утилиты.
А ваше устройство соответственно должно будет "играть по правилам" протокола LoraWAN.
Полностью взаимодействие описано в API (вроде бы последняя версия 23). Язык уж выбирайте сами. Опять же, пока ваше устройство не будет нормально взаимодействовать с сервером (Данные в БД как раз сервер обновляет) смысла писать отображение не вижу.
В любом случае, взаимодействие устройства с сервером - это одно (это дело прошивки), а отображение данных - совсем другое (API, WebSock).

stupid_student
Мимо проходил
Сообщения: 4
Зарегистрирован: Чт, 28 апр 2022 11:25

Re: Веб-приложение

Сообщение stupid_student » Чт, 28 апр 2022 16:45

Может есть здесь святой человек, который уже использовал API для написания своего приложения? :(

petrov_ab
Иногда пишу
Сообщения: 304
Зарегистрирован: Вт, 16 июл 2019 16:42
Откуда: Подмосковье

Re: Веб-приложение

Сообщение petrov_ab » Пт, 29 апр 2022 00:20

Конечно есть :)
Я крупного не писал, писал небольшие модули как правило для запросов к нестандартным устройствам через RS-485 на Python.
Ну вот например:
Запрос к метеостации МК-26 для выдачи текущего состояния (ModBus)
from websocket import create_connection
import json
import time

#### Data section
autreq = {"cmd":"auth_req", # Don't change!
"login": "root", # Login name
"password": "2019@Lora" # password
}
sendconfreq1 = {"cmd":"tx", # Don't change!
"status": "true", # Don't change!
"devEui": "3137353259386F10", # First meteo station - SI-13 DevEUI
"data": "04ff0400000038e406", # command - resd registers - Don't change!
"port": 0x02
}
sendconfreq2 = {"cmd":"tx", # Don't change!
"status": "true", # Don't change!
"devEui": "313735326038660C", # Second meteo station - SI-13 DevEUI
"data": "04ff0400000038e406", # command - resd registers - Don't change!
"port": 0x02
}
autresp1 = []
autresp2 = []

### Code section

ws = create_connection("ws://10.105.24.39:8002/") # IP Address xx-LNMS01 server
ws.send(json.dumps(autreq))
autresp = ws.recv()

ws.send(json.dumps(sendconfreq1))
autresp1 = ws.recv()

#print(autresp1)

time.sleep(10) # Pause between command send (10 second)

ws.send(json.dumps(sendconfreq2))
autresp2 = ws.recv()

#print(autresp2)

ws.close()

stupid_student
Мимо проходил
Сообщения: 4
Зарегистрирован: Чт, 28 апр 2022 11:25

Re: Веб-приложение

Сообщение stupid_student » Ср, 04 май 2022 22:13

Могу ли я с вами как-то связаться напрямую?

petrov_ab
Иногда пишу
Сообщения: 304
Зарегистрирован: Вт, 16 июл 2019 16:42
Откуда: Подмосковье

Re: Веб-приложение

Сообщение petrov_ab » Чт, 05 май 2022 00:55

a80808 на сервере yandex.ru

stupid_student
Мимо проходил
Сообщения: 4
Зарегистрирован: Чт, 28 апр 2022 11:25

Re: Веб-приложение

Сообщение stupid_student » Чт, 05 май 2022 11:25

petrov_ab писал(а):
Чт, 05 май 2022 00:55
a80808 на сервере yandex.ru
если я правильно вас понял, то это почта :?
но, если не правильно, то можете написать мне в телеграме по никнейму @blizkreg, пожалуйста?

Ответить