Improved client & webserver part in README
This commit is contained in:
parent
116178e6b7
commit
62e842433d
15
README.md
15
README.md
|
@ -1,6 +1,6 @@
|
|||
# Odjezdová tabule MHD
|
||||
|
||||
Odjezdová tabule městské hromadné dopravy v Plzni postavená na protokolu LoRaWAN a mikrokontroléru M5Stack Core2 z dat ze stránek PMDP.
|
||||
Odjezdová tabule městské hromadné dopravy v Plzni postavená na protokolu LoRaWAN a mikrokontroléru M5Stack Core2 používající data ze stránek PMDP.
|
||||
|
||||
### ✅ Základní funkce
|
||||
|
||||
|
@ -8,6 +8,7 @@ Odjezdová tabule městské hromadné dopravy v Plzni postavená na protokolu Lo
|
|||
- zobrazení **nejbližších odjezdů ze zastávky** se započítaným zpožděním
|
||||
- funkčnost na celém území **Plzně a okolí**
|
||||
- **aktualizace zobrazených dat** za chodu
|
||||
- automatické obnovení ztraceného připojení
|
||||
|
||||
### 🧰 Použité technologie
|
||||
- **C/C++**, **Python**, **LoRaWAN**
|
||||
|
@ -64,11 +65,17 @@ Jako první jsou stažena data o odjezdech do paměti, kde jsou uchovávána. Je
|
|||
|
||||
### Klientská část
|
||||
|
||||
Mikrokontrolér je po zapnutí připojen do sítě LoRaWAN s nastavenými údaji a poté čeká na přicházející zprávy. Po přijetí dat o spojích jsou tyto informace zapsány do paměti. Každých 6 sekund se provádí aktualizace displeje, kdy se vypíšou všechny dostupné informace. Na displej jsou vypisovány spoje seřazené podle času odjezdu od nejbližšího. Je vypsán pouze nejbližší spoj dané linky a konečné zastávky, jelikož je to pro cestující na zastávce nejdůležitější informací. Zobrazovány jsou dále pouze spoje, jejichž odjezd je za více než -0,3 minuty a za méně než 100 minut. Každou 6. vteřinu se také odečte jedna desetina minuty od odjezdu všech spojů a přičte jedna desetina k zobrazovanému času. Mikrokontrolér je schopen pracovat se všemi lokálními daty bez potřeby komunikace se serverem.
|
||||
Mikrokontrolér je po zapnutí připojen do sítě LoRaWAN s nastavenými údaji a poté čeká na přicházející zprávy.
|
||||
|
||||
### Rozšíření pro asistenta
|
||||
Po přijetí dat o spojích jsou tyto informace zapsány do paměti. Každých 6 sekund se provádí aktualizace displeje, kdy se vypíšou všechny dostupné informace. Na displej jsou vypisovány spoje seřazené podle času odjezdu od nejbližšího. Je vypsán pouze nejbližší spoj dané linky a konečné zastávky, jelikož je to pro cestující na zastávce nejdůležitější informací. Zobrazovány jsou dále pouze spoje, jejichž odjezd je za více než -0,3 minuty a za méně než 100 minut. Každou 6. vteřinu se také odečte jedna desetina minuty od odjezdu všech spojů a přičte jedna desetina minuty k zobrazovanému času.
|
||||
|
||||
Získaná data je díky REST API serverové části možné využít i k jiným účelům. Na vytvořeném HTTP serveru se nachází jednoduché rozhraní zobrazující odjezdy z vybrané zastávky, čehož je možné využít například k integraci odjezdů MHD na nástěnku v aplikaci [Home Assistant](https://home-assistant.io) nebo na jinou webovou stránku.
|
||||
Mikrokontrolér je schopen pracovat se všemi lokálními daty bez potřeby komunikace se serverem. Ve výchozím nastavení je však potřeba přijmout zprávu alespoň každých 10 minut, jinak dojde k restartování spojení jak s LoRaWAN modulem, tak s LoRaWAN sítí. Díky tomu je možné znovu navázat spojení s modulem po jeho odpojení a připojení nebo obnovit spojení se sítí.
|
||||
|
||||
### Webový server
|
||||
|
||||
Získaná data je díky webovému rozhraní a REST API na serverové části možné využít i k jiným účelům. Na vytvořeném HTTP serveru se nachází jednoduché rozhraní zobrazující odjezdy z vybrané zastávky, čehož je možné využít například k integraci odjezdů MHD na nástěnku v aplikaci [Home Assistant](https://home-assistant.io) nebo na jinou webovou stránku.
|
||||
|
||||
#### REST API
|
||||
|
||||
- `GET` /stops
|
||||
- seznam sledovaných zastávek
|
||||
|
|
Loading…
Reference in a new issue