diff --git a/README.md b/README.md index 67f092b..e5314e6 100644 --- a/README.md +++ b/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