phpmicrolog
Rozdíly
Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
Obě strany předchozí revizePředchozí verzeNásledující verze | Předchozí verze | ||
phpmicrolog [2019/08/08 18:38] – [Integrace do vlastního projektu] mypower_cz | phpmicrolog [2020/01/13 02:36] (aktuální) – upraveno mimo DokuWiki 127.0.0.1 | ||
---|---|---|---|
Řádek 1: | Řádek 1: | ||
- | ====== PHP Microlog | + | ====== PHP MicroLog |
===== Popis ===== | ===== Popis ===== | ||
- | **PHP Microlog** je příkaz do příkazové řádky a také knihovna určená pro začlenění do dalších projektů. | + | **PHP MicroLog** je příkaz do příkazové řádky a také knihovna určená pro začlenění do dalších projektů. |
- | Projekt je vyvíjen ve scriptovacím jazyce PHP a jedná se o software k volnému užití s otevřeným zdrojovým kódem. | + | {{: |
- | Je určen pro dlouhodobé odesílání dat z měření fotovoltaických elektráren a jiných podobných zařízení prostřednictvím speciálního protokolu, který standardně užívá projekt [[start|MyPower MicroLog]]. | + | Je určen pro dlouhodobé odesílání dat z měření fotovoltaických elektráren a jiných podobných zařízení prostřednictvím speciálního protokolu, který standardně užívá projekt [[start|MyPower MicroLog]]. |
+ | |||
+ | Projekt je tedy plně kompatibilní se současným měřením, kde je možné se online [[http:// | ||
Data z měření je díky tomu možno odesílat z libovolného zařízení s podporou jazyka PHP, například Raspbian pro Raspberry PI, atd. Projekt MicroLog tak získává nezávislost na platformě Arduino s níž však zachovává plnou zpětnou kompatibilitu. | Data z měření je díky tomu možno odesílat z libovolného zařízení s podporou jazyka PHP, například Raspbian pro Raspberry PI, atd. Projekt MicroLog tak získává nezávislost na platformě Arduino s níž však zachovává plnou zpětnou kompatibilitu. | ||
Řádek 73: | Řádek 75: | ||
</ | </ | ||
- | **Parametry pinu** | + | {{ :: |
* **name** - Název pinu | * **name** - Název pinu | ||
Řádek 83: | Řádek 85: | ||
Pole **min** a **max** jsou typu //float//, je tedy možno použít desetinnou tečku. | Pole **min** a **max** jsou typu //float//, je tedy možno použít desetinnou tečku. | ||
- | Nastavení pinu v poli **opt** se skládá z pole 3 položek typu string, tedy běžný řetězec. | + | Nastavení pinu v poli **opt** se skládá z pole 3 položek typu //string//. |
První položka specifikuje stav pinu a může nabývat hodnot **enabled** nebo **disabled**. Jedná se o signalizaci pro server, zdali je pin aktivní nebo neaktivní. Bez ohledu na toto nastavení jsou data daného pinu odesílána. | První položka specifikuje stav pinu a může nabývat hodnot **enabled** nebo **disabled**. Jedná se o signalizaci pro server, zdali je pin aktivní nebo neaktivní. Bez ohledu na toto nastavení jsou data daného pinu odesílána. | ||
Řádek 97: | Řádek 99: | ||
* **def** - Výchozí hodnota | * **def** - Výchozí hodnota | ||
- | Typ pinu je možno využít v případě, že v rámci jednoho měření pořizujeme více vzorků, tedy stejně jako [[mod: | + | Typ pinu je možno využít v případě, že v rámci jednoho měření pořizujeme více vzorků, tedy stejně jako [[mod: |
Třetí hodnota určuje skupinu, do které měřený PIN patří. Je možno použít jednu ze čtyř skupin, **group0**, **group1**, **group2**, **group3**. Nastavení není povinné a je určeno pro informativní účely, pokud na toto nastavení není například navázána nějaká speciální funkce na straně serveru. | Třetí hodnota určuje skupinu, do které měřený PIN patří. Je možno použít jednu ze čtyř skupin, **group0**, **group1**, **group2**, **group3**. Nastavení není povinné a je určeno pro informativní účely, pokud na toto nastavení není například navázána nějaká speciální funkce na straně serveru. | ||
Řádek 118: | Řádek 120: | ||
Parametry funkce jsou: | Parametry funkce jsou: | ||
- | * **$fveid** - obsahuje přidělené FVEID | + | * **$fveid** |
- | * **$pinconfig** - obsahuje datovou | + | * **$pinconfig** |
- | * **$data** - obsahuje datovou strukturu s naměřenými hodnotami jednotlivých pinů | + | * **$data** |
- | + | ||
- | Pokud se vše povede, funkce vrací pole hodnot jako výsledek odesílání dat. | + | |
- | + | ||
- | Je-li definován index pole s názvem //" | + | |
- | + | ||
- | Funkce je vybavena **ukládáním dat do bufferu v případě výpadku internetového spojení**, tedy selhání odeslání dat na server. Je tedy schopna výpadky spojení překlenout. Data, které nebyly odeslány při předchozím pokusu o odeslání budou odeslány prioritně dle času, ke kterému byl daný vzorek pořízen. | + | |
Pro odesílání dat slouží datová struktura typu asociativní pole, kdy klíčem je číslo pinu (A0-A15) a hodnotou je buď přímá hodnota, nebo asociativní pole se všemi typy hodnot. | Pro odesílání dat slouží datová struktura typu asociativní pole, kdy klíčem je číslo pinu (A0-A15) a hodnotou je buď přímá hodnota, nebo asociativní pole se všemi typy hodnot. | ||
Řádek 158: | Řádek 154: | ||
" | " | ||
</ | </ | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Pokud se odeslání dat podaří, funkce vrací pole hodnot jako výsledek odesílání dat. | ||
+ | |||
+ | Je-li definován index pole s názvem //" | ||
+ | |||
+ | Funkce je vybavena **ukládáním dat do bufferu v případě výpadku internetového spojení**, nebo selhání odeslání dat na server. Je tedy schopna výpadky spojení překlenout. Záznamy dat z měření, které nebyly odeslány při předchozím pokusu o odeslání budou odeslány prioritně dle času, ke kterému byl daný vzorek pořízen. | ||
+ | |||
+ | |||
+ | ===== Konfigurační proměnné ===== | ||
V kódu knihovny // | V kódu knihovny // | ||
Řádek 175: | Řádek 182: | ||
Proměnná **$_microlog_failover_buffer** má opět možné hodnoty //" | Proměnná **$_microlog_failover_buffer** má opět možné hodnoty //" | ||
+ | ===== Diskuze o projektu ===== | ||
+ | Téma k tomuto projektu na fóru MyPower.CZ naleznete na adrese http:// |
phpmicrolog.1565282283.txt.gz · Poslední úprava: 2019/08/09 00:38 (upraveno mimo DokuWiki)