@Michal_BigClown
ležím teď s nějakým bacilem, tak jsem začal zkoumat BC. Vypadá to zajímavě. Do košíku jsem naházel komponenty na meteo centrálu za asi tři litry. Snad mně žena nezabije
Ten LCD modul a Climate modul asi nejdou nějak jednoduše připojit oba najednou na ten core modul že?
A k tomu základnímu senzoru Climate,Core,MiniBatery by se šikla nějaká krabička, co odolá povětrnostním vlivům a s nějakým držákem na zeď. Ať si můžu udělat venkovní čidlo.
Ne, to nejdou, všechny moduly bez vrchního konektoru (např. LCD, Climate, PIR, Button) lze použít jen jako nejhornější.
Můžete to “kompenzovat” použitím Tag Module na který připojíte až 6 Tag senzorů nebo Encoder Module na který připojíte až 3 Tag senzory a encoder můžete využít jako ovládací prvek pro LCD.
Kamery stávající technologie na komoditní baterie (AAA Alkaline) s výdrží 2 roky nedají, na napájení rozumné kamery s kodekem potřebujete ~1W, což se běžně řeší po Ethernet kabelu s PoE.
Obdobně v ISM pásmu není dost místa na video streamy, proto se používá Ethernet či Wifi, což opět není pro bateriové napájení. Na trhu najdete hromadu IP kamer, méně (např. UniFi, …) či více chytrých (Axis, Sony, …).
Krabičky pro stavebnici dávají příliš mnoho možností (výška, šířka, zakončení pro senzory, lcd, tlačítko, PIR, …) než aby bylo za rozumnou cenu možné vyrobit (formy, variabilita). Proto pro venkovní použití zatím používáme univerzální krabičky a pro vnitřní máme tisknutelné modely (ve spolupráci s partnery připravujeme možnost kupovat výtisky krabiček). Možná někdy v budoucnu přidáme jednoúčelové produkty bez variability (jako např. Senzor pro vnitřní prostředí nebo USB Dongle) pro vnější prostředí, zatím se zaměřujeme na stavebnici.
Obdobně u LCD, u segmentových je použití omezeno na určité aplikace, zatímco grafické umožňují cokoli poskládané z jednotlivých bodů.
Tak ony ty Climate a PIR senzory mají v podstatě předem dáno, jaké moduly jsou potřeba (mini battery, core a Climate/PIR) a tím je určena i výška. Takže stačí jedna krabička, maximálně u toho PIR detektoru s nějakou dírou navíc A dalo by se to prodávat ve výhodném setu
Ad malé LCD)
Mohlo by být součástí toho climate modulu (případně by tam mohl být jen konektor na jeho připojení). Protože LCD a Climate modul nejdou požít najednou. Ale to je jen takový nápad, třeba mi jeho absence vadit nebude.
Já si zatím objednal základ budoucí centrály, trochu si s tím pohraji a pak doobjednám věci na externí senzor a snad mezitím bude i ten usb dongle. Případně jsem pochopil, že můžu místo něj použít Core modul.
Ještě dotaz. Musím po resetu hlavní jednotky/nahrání nového fw znova párovat všechny senzory? To je totiž hlavní bolest aktuální meteostanice.
Pokud se nemění struktura konfigurace (např. podstatně vyšší verzí SDK), párování zůstává zachováno, protože je uloženo v EEPROM MCU, jejíž obsah se nemění při nahrání nového firmware (ten se ukládá do Flash paměti MCU).
Climate i PIR mohou být ve stacku např. s širším Battery Module s dvojnásobně větší výdrží (větší odstup antény od kovových částí a snižující DC/DC měnič zlepšují také parametry rádiového přenosu) a s CO2 Module, mění se tím šířka i výška.
Smysluplných kombinací modulů a tagů může vzniknout více.
Při takové kombinaci se k senzorům rozumně nedostane měřené médium (problematické mechanické uspořádání), LCD lze se senzory kombinovat s pomocí tagů a Tag Module nebo jiných modulů s tag konektory (Battery, CO2, Power, Encoder).
Díky.
Balíček mi konečně dorazil. Státní svátek dokonale zmátl systém DPD, ten mi poslal špatné info o doručení, takže když mi kurýr volal, byl jsem někde úplně jinde
Teď to zkoumám. Možná blbý dotaz, ale když nasadím LCD modul na core - jak se dostanu k těm tlačítkům na core?
A jedna připomínka k SDK dokumentaci. Většina modulů je popsána hodně stručně. V podstatě jen bc_led obsahuje ukázku použití. Jinde jsem to již nenašel. A protože nejsem moc zvyklý číst SDK, je pro mně jediná možnost, jak rychle zjistit co a jak, prozkoumávat vzorové projekty, třeba termostat a climate-station. Jenže tam se občas používají funkce, které nejsou popsány v SDK. Třeba termostat volá funkce bc_module_core_pll_enable a bc_module_core_pll_disable, které nejsou v SDK vůbec popsány a nemám páru, proč se volají a co je PLL.
Bylo by možné doplnit SDK o nějaké detailnější popisy včetně základní ukázky použití? Třeba právě bc_eeprom: napsat k čemu se mi to může hodit a kolik mám té paměti k dispozici.
Nebo jsem hledal jak správně inicializovat a použít encoder module. To v SDK není, našel jsem v projektu termostatu. Případně podobný problém - jak inicializovat tlačítka na LCD modulu.
Žádný dotaz není blbý. K tlačítkům na Core se po nasazení modulu nad Core nedostanete. Dá se to řešit zopakováním tlačítek (příslušné signály jsou na Header konektoru Modulu) nebo používáním tlačítek na LCD Module, které obě ovládají BOOT signál. Obě tlačítka na LCD Module generují stisky BOOT tlačítka - je vidět ze schematu LCD Module nebo jsou čitelná (rozlišitelná) přes expander. RESET tlačítko na LCD Module není (také není v aplikačním použití většinou potřeba), lze suplovat drátěnou propojkou RESET signálu a GND na Header konektoru.
Ano, každá dokumentace má své limity a chyby, když na něco narazíte, můžete poslat opravu (pull request), zaznamenat na GitHubu v podobě issue Issues · hardwario/twr-sdk · GitHub nebo jen poslat dotaz na fórum či emailem ask@bigclown.com.
Můžete se také podívat do kódu, tam leží vždy pravda Pomáhají také komentáře v kódu - je vidět i v tomto případě.
PLL je jednoduše řečeno násobička frekvence hodin (kmitočet hodinového signálu). Použitý MCU má zabudovaný RC oscilátor 16MHz. Když je třeba vyšší frekvenci pro CPU nebo jinou periferii (např. 48MHz pro USB), používá k tomu MCU PLL. Když MCU PLL použije, má to dopad na vyšší spotřebu energie (čím větší frekvence, tím větší spotřeba a nastartování/stabilizování PLL trvá nějaký čas, kdy je třeba MCU napájet zvýšeným přísunem energie). Proto pokud není třeba fekvence hodin větší než 16MHz, je rozumné PLL zakázat a šetřit energii. Když jde o výpočetně náročnější operace, je zase energeticky úspornější PLL zapnout, zpracovat s CPU na 32MHz a ušetřit energii za zkrácení doby, po kterou je nutné CPU dodávat statickou spotřebu. Nebo když má fungovat USB, tak se bez PLL neobejde.
Popis SDK je spíše referenční příručka. Ukázky použití směrujeme do projektů, návodů, code snippets a příkladů přímo v SDK adresář _examples. Chystáme teď novou podobu dokumentace, tak nám držte palce ať se nám podaří vypublikovat co nejdříve. Za náměty ke zlepšení budeme rádi, nejlépe formou GitHub issue k projektu dokumentace nebo emailem na ask@bigclown.com.
Použitý MCU má 6kB EEPROM. Ve vzorových projektech používáme na ukládání perzistentní konfigurace např. vzájemné spárování Core v roli base s Core v roli remote.
Díky, jak píši, na čtení SDK nejsem zvyklý - si z toho suchého popisu funkcí a parametru nedokáži sestrojit nějaký funkční základ. Ale jak už je na čem stavět, pak už s tím většinou problém nemám.
Ledku jsem rozblikal, a aktuálně mám problém s “nefunkčním” LCD. A nevím co dělám špatně
Ještě k vaší online dokumentaci… Před několika týdny jsem si stěžoval, že nemáte žádné informace, jak zprovoznit HUB na routeru Turris Omnia. Problém je v tom, že máte tento návod jen v české verzi dokumentace a v anglické zcela chybí a na anglické stránce dokumentace nikde nevidím, jak přejít na českou verzi. Ač jsem čech raději používám anglické technické materiály, protože jim díky jednoznačné terminologii rozumím.
Ještě bych měl dotaz týkající požadavků LXC kontejneru pro USB HUB na operační paměť Turris Omnia. Lze ho provozovat na TO s 1GB RAM bez výraznějších výkonostních dopadů na funkce routeru?
Bude pořešeno záhy novým uspořádáním/systémem dokumentace - přepínacími vlaječkami v horní liště.
Ano, zápasíme s časem a zdroji, budeme rádi za každý příspěvek do repozitářů na GitHubu. Postupně se snažíme doplňovat.
Obecnou odpověď Vám nemohu dát, záleží na tom, co všechno provozujete na TO v OpenWrt a co všechno v LXC kontejneru. Nejlepší doporučení je vyzkoušet, případně nějakou dobu monitorovat využití RAM a případně další zdroje OS. Základ HUBu (MQTT Broker a Python scripty pro zakončení USB CDC do MQTT) pojede dobře i na HW s 128MB RAM. Jakmile k tomu začnete skládat další komponenty (např. Node-RED či Grafana s time series databází), začnou se i nároky na zdroje zvyšovat.