Added README
This commit is contained in:
parent
6214b6cdf1
commit
8f77d5b9ea
51
README.md
Normal file
51
README.md
Normal file
|
@ -0,0 +1,51 @@
|
||||||
|
# Odjezdová tabule MHD
|
||||||
|
|
||||||
|
Odjezdová tabule městské hromadné dopravy v Plzni postavená na protokolu LoRaWAN a mikrokontroléru M5Stack Core2.
|
||||||
|
|
||||||
|
### ✅ Základní funkce
|
||||||
|
|
||||||
|
- zobrazení aktuálního **času a data**
|
||||||
|
- 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
|
||||||
|
|
||||||
|
### 🧰 Použité technologie
|
||||||
|
|
||||||
|
- **C/C++**
|
||||||
|
- **Python**
|
||||||
|
- **LoRaWAN**
|
||||||
|
- HTML, CSS
|
||||||
|
- JavaScript
|
||||||
|
- Vue.js
|
||||||
|
|
||||||
|
### 🔧 Instalace
|
||||||
|
|
||||||
|
Aby bylo s projektem možné pracovat, je potřeba několik věcí. Kód pro mikrokontrolér byl vyvíjen v Arduino IDE a použity byly knihovny [M5Core2](https://github.com/m5stack/M5Core2/), [M5GFX](https://github.com/m5stack/M5GFX) a [M5-LoRaWAN](https://github.com/m5stack/M5-LoRaWAN). Serverová část byla vytvořena v Pythonu za použití knihoven [PyYAML](https://pyyaml.org/) a [Bottle](https://github.com/bottlepy/bottle), webové rozšíření poté za pomoci knihovny [Vue.js](https://vuejs.org/) (načítá se z CDN).
|
||||||
|
|
||||||
|
Pro zprovoznění je potřeba doplnit konfigurační soubory **config.yml** (pro server) a **config.h** (pro mikrokontrolér).
|
||||||
|
|
||||||
|
## Cíl projektu
|
||||||
|
|
||||||
|
Cílem práce je navrhnout a zprovoznit odjezdovou tabuli spojů MHD, která bude fungovat na celém území Plzně a v blízkém okolí. Řešení bude založené na protokolu LoRaWAN a využívat bude mikrokontroléru M5Stack Core2 s příslušným komunikačním modulem.
|
||||||
|
|
||||||
|
## Protokol
|
||||||
|
|
||||||
|
Pomocí protokolu LoRaWAN jsou přenášeny zprávy v podobě textového řetězce. Z důvodu snížení velikosti přenášených zpráv není vhodné data posílat například ve formátu JSON. Proto byl vytvořen vlastní úsporný protokol ke komunikaci s mikrokontrolérem.
|
||||||
|
|
||||||
|
Navržený protokol používá pro oddělení posílaných dat znak `|`. Protokol podporuje několik typů zpráv, které najdete níže.
|
||||||
|
|
||||||
|
- **data o spoji** (`1|4|1|Bory|104`)
|
||||||
|
- uložení či aktualizace informací o spoji
|
||||||
|
- části:
|
||||||
|
- identifikátor
|
||||||
|
- číslo spoje (řetězec, např. `N1`)
|
||||||
|
- typ (1 - tramvaj, 2 - trolejbus, 3 - autobus)
|
||||||
|
- poslední zastávka
|
||||||
|
- čas odjezdu (v minutách s desetinnou částí: `104` = 10.4 min.)
|
||||||
|
- **aktuální čas** (`TIME|1670453990`)
|
||||||
|
- nastavení aktuálního času a data
|
||||||
|
- části:
|
||||||
|
- značka, že se jedná o čas
|
||||||
|
- čas ve vteřinách od 1. 1. 1970
|
||||||
|
- **vymazání dat** (`CLEAR`)
|
||||||
|
- vymazání všech uložených spojů (např. pro nahrání nových)
|
Loading…
Reference in a new issue