čtvrtek 24. března 2016

Technické centrum Hlavní autobusové nádraží Praha Florenc

Nejmodernější servisní stanice v Evropě pro chemické toalety.Tedy technické centrum.
Dálkové autobusy mají WC.Ne takové jako máte doma.Jedná se o chemické WC které je potřeba někde vypustit,propláchnout a doplnit.Vcelku triviální úkoly,tedy pokud stanice nemá fungovat bez zásahu obsluhy.Pokud má být provoz automatický je to poněkud složitější.Jedná se o můj největší projekt kde jsem zužitkoval veškeré své schopnosti.Hlavním programovacím jazykem je Python,
Co se týká kódu,Python,PHP,MYSQL,MSSQL a powershell jde za mnou,MSSQL má na svědomí kolega Dvořák.Projekt zahrnuje několik nezávislých systémů(programovacích kódů),které spolu komunikují.






Pohled na technické centrum.Zeleně svítící infotabule obsazeno/volno.Vlevo nerez box s dotykovou obrazovkou,která je srdcem celého systému.




Zadání:
Vybudovat dvě stání(boxy) s vypouštěcí jámou.Do boxu lze najet jen pokud je služba zaplacena.Platby jsou dvojího druhu.Buď se jedná o stálého zákazníka jenž má k dispozici elektronickou kartu(HID)na které jsou finanční prostředky.Nebo se jedná o zákazníka z ulice,tedy jede k nám jen využít služby našeho technického centra(dále jen TC).Jakmile autobus dorazí do TC,musí se odbavit zcela samostatně bez zásahu obsluhy.
V TC má k dispozici tyto služby:Vypouštění toalet,dopuštění chemie a vody.


Zde dva boxy připravené na najetí autobusu.



První co zákazník použije je tento dotykový 15" display. O zobrazení se stará raspberry aplikace je napsaná v Pythonu.Zde se dozví zda jsou boxy obsazené/volné.Je zde i nápověda ve různých jazykových mutacích.K dispozici je i foto-provozní řád TC. Jakmile přiloží kartu nebo čárový kód(pokud se nejedná o abonenta) systém ho po odsouhlasení odešle do volného boxu a otevře závoru.Box dostane příznak obsazeno a není možné další najetí.Pokud jsou oba boxy obsazené zobrazíme tuto informaci na LED tabuli.Pod šipkami se nalézají čtečky karet a čárového kódu.Dále je zde komunikační modul(IP telefon),propojený s dispečinkem.   



Tato aplikace je napsaná v Pythonu a komunikuje s GPIO,dále s rs232 portem a používá jak lokální MYSQL tak i vzdálenou MSSQL.Python je hlavní programovací jazyk(uživatelské rozhraní,logika boxu).V MYSQL se uchovávají stavy boxu a slouží k čerpání informací pro webovou aplikaci.
MSSQL má informace o zákazníkovy a financích.Mimochodem MSSQL jsem neprogramoval já ale kolega Dvořák.Dále ještě používám PHP pro vzdálené zobrazení stavu boxu.Z toho důvodu je na raspberry i apache2,a slouží jako webserver.A ještě jeden skript v powershellu který se stará o zpracování finančních transakcí směrem k MSSQL.



Bez pájky prototyp neuděláš aneb nejen programováním je člověk živ.Moje nová pájecí stanice a zájem o elektrotechniku jsou v těchto případech více než užitečné.  
Zde jasně vidíte že se nejedná o průmyslově vyrobený hardware.Vlastně je to ruční práce,a ta se v dnešní době cení.Nepočítám,že se těchto zařízení bude chrlit tisíce.Je tedy pravděpodobné,že k faceliftu asi nedojde :).Ale zde nejde o design,ale o funkčnost a robustnost,to jsou pro mě prioritní vlastnosti.
Takto vypadala raná verze vnitřku kiosku.Veškeré vstupy/výstupy jsou zatím neobsazené.



Zde ještě neosazený průmyslový displej s předsazenou dotykovou vrstvou.Raná verze softwaru bez tlačítka pro zobrazení servisního řádu.


O bezpečnost lidí a vozidel se aktivně stará osm fotobuněk které monitorují pohyb v boxech.A čtyři  indukční smyčky,které monitorují pohyb vozidel.Pasivní bezpečnost zajišťuje kamerový systém.
Live náhled kamer mají k dispozici dispečeři.
   


Dispečer má ve vzdáleném dispečinku přehled o stavu boxu pomoci webové aplikace.Může tedy ihned informovat řidiče zda jsou boxy volné či nikoliv.Stavy čerpá z MYSQL.Může také box obsadit pomocí tlačítka.To pro případ kdy na boxu probíhá například oprava.
Tato aplikace běží v PHP a je dostupná na jakémkoliv PC v síti včetně mobilního telefonu.



Jakmile najede autobus do boxu může vypouštět WC.Dále může čerpat chemii a vodu.Chemie jde zcela mimo mě.Stojany a kontrolní dotykový sloupek dodala externí firma.Zde dotyková obrazovka s výběrem stojanu.


Takto vypadá výdejní stojan na chemii.Vedle sloupek pro výdej vody.



Co se týče vody.Čerpání vody mají na starosti 2ks raspberry,které ovládají pět elektroventilů. 


Tyto ventily po přiložení karty pouští vodu do stojanů.Nehlídáme průtok vody,ale čas po jaký voda teče.Čas je proměnlivý a vychází z dotazu do MSSQL databáze.Po dobu kdy je ventil otevřený svítí zelené kontrolní světlo.Nahoře majáček signalizující otevřený/zavřený ventil.Dole čtečka karet,po přiložení karty otevíráme ventil na určený čas.


Takto to vypadá uvnitř(voda).Dvě raspberry nad sebou....jak moderně říkáme 3dé :)



Ovládaní vody má ještě něco jako záložní plán(pro případ poruchy).Pokud voda neteče lze ventily ovládat pomocí tlačítka,pak voda teče neustále.Tyto tlačítka dávají zpětnou odezvu kdy hlásí zda jsou sepnutá či nikoliv.Tyto stavy dále zpracovávám a používám k vizuální kontrole stavu ventilů.




Pokud je nějaký stojan ve stavu manuálního ovládání,má o tom dispečer vizuální informaci na své aplikaci(jeden ze stojanů je červený).Dále pak ukázka manuálního obsazení boxu pomocí tlačítka(třeba při servisních pracích)



Poslední raspberry se stará o elektronické otevírání dveří(oproti MYSQL).Protože je v serverovně,pověsil jsem na něj teploměr který v případě výpadku klimatizace odešle email,o hrozícím nebezpečí.Vlastně jsem upravil své předešlé projekty:
http://automatizacedomacnosti.blogspot.cz/2015/06/elektronicke-otevirani-dveri.html
http://automatizacedomacnosti.blogspot.cz/2015/07/kotelnebo-neco-jineho-monitoring-teplot.html
A spojil vše do jednoho.Jak je dnes moderní all-in-one.
Další  funkcí je sběr dat z manuálního ovládaní vody.Kdy se do MYSQL zapisuje stav jednotlivých spínačů(automatika/manuál).Tento údaj později využiji k vizuální kontrole v jakém režimu/stavu ventily jsou.V anténce nahoře je umístěn teploměr.




Stanice musí vést poměrně podrobný deník.Kde jsou data o spotřebě vody,elektřiny,ale i o počasí,jako je vlhkost,teplota atd.Na vodoměru a elektroměru je zařízení které odesílá impulsy do (SDS-Micro).Toto zařízení má webové rozhraní kde je možné údaje vidět.Ale co je pro mě zajímavější má i SNMP protokol se kterým dokážu spolupracovat.O toto se stará Python a data ukládá do MYSQL a odtud se dál distribuují.

SDS-micro zpracovává impulsy z vodoměru a elektroměru...



Ještě foto "strojovny"...


  
Jedná se o pilotní projekt,kde veškeré jak hardwarové tak i softwarové vybavení je unikát.Bylo jasné,že nás čeká spousta práce s odladěním.Po 14 dnech provozu již jedeme dle představ zadavatele a doufám že to tak bude nadále.




















středa 15. července 2015

Vytápění boudy,akvária nebo terária.

Když jsem kupoval štěně na podzim nic jsem neřešil.Jenže s poklesem teplot
vyvstala otázka zda mu nebude zima.Jistě má boudu s předsíňkou dokonce je
bouda i zateplená.A dospělí pes si boudu v pohodě vyhřeje.Jenže já měl ještě štěně
a bál jsem se že mu bude zima.
Rozhodl jsem se že vybuduji vytápěnou psí boudu.Požadavky byly hlavně na
bezpečnost a s tím související nezničitelnost(rozuměj nerozkousatelnost)topícího elementu.
Dále jsem chtěl mít pod absolutní kontrolou kdy topení spíná a podrobná data o teplotě v boudě s časovou osou.
A jako bonus varování na email/sms že teplota je buď příliš nízká nebo naopak vysoká.
Topící těleso jsem řešil pomocí mosazných trubek které jsou upevněny kolem dokola uvnitř boudy.
V trubkách je zastrčený topný kabel jehož napájený konec je vystrčen mimo boudu a končí v izolované elektrikářské krabici.



Pak jsem vzal mé oblíbené raspberry pi a naprogramoval ovládací software který vše řídí.Jako základní funkce je samozřejmě sepnutí topení.
Takže jakmile digitální teploměr zjistí že teplota v boudě( teplota v akváriu ) klesla pod námi zadanou hodnotu sepne relé a
tím se spustí topný kabel který začne přitápět.Měření probíhá každých 30 vteřin s přesností na desetiny stupně.


Další důležitá komponenta programu nám odesílá email nebo sms ihned jakmile teplota dosáhne kritické hranice.
Tyto hodnoty může uživatel navolit libovolně.Modelový příklad.Teplotu v teráriu(boudě,akváriu) nastavím na 25 stupňů
minimální teplotu na 23 stupňů a maximální na 27 stupňů.Co se teď bude dít?
Ø  Jakmile teplota klesne pod 25 zapne topný kabel a opět  vypne jakmile se bouda ohřeje na 25
Ø  Pokud teplota klesne pod 23 okamžitě dostaneme upozornění(sms,email) že se tak stalo(ošetřujeme poruchu topného kabelu,nebo opravdu velkého mrazu kdy vytápění nestíhá)
Ø  Pokud teplota přesáhne 27 opět obdržíme sms že se něco děje a je třeba našeho zásahu






Dále pak provádím logování teplot a to každých 15 minut.Do logu jsou zapsány veškeré teploty které například spouští nebo vypínají topení.Dále pak teploty limitní.Takže pokud se něco děje log je velice podrobný (cca po minutách).Celý log je podrobně vypsán v tabulce která pomocí barev indikuje kdy se zapnulo/vypnulo topení nebo kdy teploty dosáhly kritické hodnoty.



Dále pak máme k dispozici graf  ze kterého lze krásně vyčíst jak se teploty v boudě pohybují.Zjistíme jak je na tom pes v noci nebo když fouká vítr.Vedlejší informace je kdy pes zalezl do boudy což je indikováno okamžitým stoupáním teploty(můj osobní postřeh). Malá tabulka nahoře ukazuje vždy aktuální teplotu a mění barvy dle zadaných limitních teplot zde výstražná červená protože byla překročena maximální výše teploty.





A protože se jedná o raspberry s linuxem je jasné že toto vše můžeme monitorovat z druhé strany planety.Raspberry připojíme přes Wi-Fi nebo ještě lépe na metalickou LAN linku zřídíme vpn tunel a můžeme vesele při koupání v Karibiku zjistit že u nás doma hoří(pokud dostaneme email o tom že teplota přesáhla 100 stupňů).
Jinak pokud bych šel ještě dále připojil bych kameru(asi ne u psa,ale to terárko..) a viděl vzdáleně vše co se děje.
Stránka je samozřejmě zabezpečená a pro přístup potřebujete vstupní jméno a heslo.



PS:jinak chápu že vás to jednotvárné uživatelské rozhraní musí už štvát.Takže příští projekt bude postaven na jiném.  


úterý 7. července 2015

Kotel(nebo něco jiného) - monitoring teplot

Jedná se o universální vzdálený monitoring teplot.Zde aplikovaný na konkrétní zařízení tedy kotel.Nabízí se srovnání s IP teploměrem ale možnosti tohoto systému jsou obrovské.Jedná se o mikropočítač do kterého můžeme doprogramovat opravdu cokoliv. Systém umí spínat i relé a to už na základě teploty nebo časového plánu takže se jedná o vzdálenou kontrolu například vytápění,ale o tom příště

Pokud chcete mít přehled kdy zapíná/vypíná kotel.Jakou teplotu má zpátečka proti stupačce.Potřebujete doladit automatické zapínání kotle.Chcete být upozorněni sms nebo pomocí emailu že teplota je moc velká nebo nízká.Nebo jste na dovolené v alpách a chcete online vidět jak se kotel chová je toto řešení ideální.

Systém každou hodinu(interval se může zkrátit)změří teplotu  vody na stoupačce/zpátečce a výsledné hodnoty  zapíše do databáze.Zároveň ověří zda teploty nepřesahují nastavené hodnoty.Pokud by byla teplota příliš vysoká nebo nízká okamžitě odešle zprávu. Samozřejmě není problém doprogramovat emergency stop.Limitní teploty si můžete nastavit v menu a to zvlášť pro stoupačku/zpátečku.



Ovládací software je realizován přes webové rozhraní takže systém je možné ovládat/nastavovat jak z mobilního telefonu(není nutná žádná instalace aplikace),tak z jakéhokoliv osobního PC(opět se nic neinstaluje).
Data jsou uložena v mysql databázi není tedy problém z daty dále nakládat(sdílet,kopírovat,atd).
Uživatelské rozhraní poskytuje přehled o událostech a zároveň zde lze provádět veškerá nastavení systému.Například správu uživatelů nastavení limitních teplot nebo emailových adres kam se budou zasílat upozornění.Uživatelé jsou rozděleni dle oprávnění kde standardně lze jen prohlížet data,nebo pokud je uživatel veden jako administrátor může měnit i nastavení systému.




Jakmile se přihlásíme do webového rozhraní dozvíme se aktuální teploty obou čidel.
Informativní tabulky jsou interaktivní takže jakmile dojde k překročeni limitních teplot celá tabulka zčervená a dá jasně najevo že je něco v nepořádku.Automatický refresh zajišťuje že třeba dispečer nebo nějaký stalý dozor má okamžitý přehled o teplotách.


Teploty za posledních 20 hodin jsou zobrazeny v přehledném grafu ze kterého lze okamžitě vyčíst jak kotel pracuje.Dle času zjistíme konkrétní teploty atd.Po najetí myší na graf se zobrazí detailnější informace.


Teploty jsou archivovány cca měsíc zpět a můžeme je zobrazit v přehledné tabulce.Hodnoty které nějakým způsobem vybočují z normálu budou v tabulce barevně označeny.Červeně vysoké teploty,modře nízké teploty.Okamžitě vidíme kdy byla situace mimo námi zadaná kritéria.



Náklady jsou dle mého názoru zanedbatelné.Řekněme že celková částka je cca 1500kč.Takže mohu směle tvrdit že se jedná nejlevnější IP teploměr chcete li nejlevnější webový teploměr,který svými užitnými vlastnostmi překonává konkurenci ve všech ohledech.  


Zařízení lze samozřejmě využít i jiným způsobem:
ü  monitoring teploty u serverů
ü  webový/IP teploměr
ü  meteo teploměr
ü  teplota ve skleníku
ü  vzdálený monitoring teploty čehokoliv
















úterý 30. června 2015

Elektronické otevírání dveří (logování,vzdálené otevření atd)



Tento systém je již nasazen a spolehlivě funguje.
Jedná se o sytém který pomocí čipové karty(nebo přívěsku)otevírá dveře.
Každý vstup nebo jen pokus o vstup je zalogován a uložen do databáze ze které jde snadno získat veškerá potřebná data(čas,jméno,platný/neplatný pokus).Ukázka logu včetně filtru hledané události je na přiloženém obrázku.



Ovládací software je realizován přes webové rozhraní takže systém je možné ovládat/nastavovat jak z mobilního telefonu(není nutná žádná instalace aplikace),tak z jakéhokoliv osobního PC(opět se nic neinstaluje).
Data jsou uložena v mysql databázi není tedy problém z daty dále nakládat(sdílet,kopírovat,atd).
Uživatelské rozhraní poskytuje přehled o událostech a zároveň zde lze provádět veškerá nastavení systému.Například správu uživatelů editaci karet a jejich oprávnění.Pojmenování jednotlivých dveří nebo celého systému.Uživatelé jsou rozděleni dle oprávnění kde standardně lze jen prohlížet data,nebo pokud je uživatel veden jako administrátor může měnit i nastavení systému.



Pomocí přehledu karet máme jasný přehled kdo přístupovou kartu vlastní a jaké oprávnění daná karta má.Opět je k dispozici filtr pro lepší vyhledávání 



Dále je k dispozici nástroj pro práci s kartami.Zde můžeme editovat stávající kartu,přidat novou kartu popřípadě smazat ztracenou kartu.Přidat/ubrat přístup do prostor,časově omezit vstup atd.


Každé dveře můžeme otevřít i vzdáleně.Nejlépe ve spojení s kamerou která snímá například vchod.Mimochodem jde to i z mobilu.Vše je jištěné heslem a samozřejmě lze tuto funkci zakázat.


Do systému můžeme nahlížet i vzdáleně.Pokud vám zazvoní návštěva v Brně a vy zrovna v Praze čekáte v koloně není problém dveře vzdáleně otevřít.Toto řešení je vysoce zabezpečené.Jedná se o dvojitě jištěný mechanizmus a vše probíhá šifrovaně pomocí VPN. 
Systém má záložní napájení a je odolný vůči výpadkům napájení.
Ještě přidám obrázek samotné čtečky karet/čipů která je samozřejmě uzpůsobena venkovnímu prostředí.Takže prach nebo voda ji nepoškodí.


Veškerá elektronika je schovaná v elektrikářské krabici.Je zde i zdroj který nepájí nejen čtečky ale i zámky a samotný mikropočítač.








   

pondělí 29. června 2015

Automatická domácnost nebo chytrý bezpečnostní systém přesně na míru.

Tento i ostatní projekty jsou realizovány pomocí mikropočítače(raspberry) na bázi linuxu takže doprogramovat lze opravdu prakticky cokoliv.Jedná se o velice modulární systém který můžeme přizpůsobit dle zadaných specifikací.
Spuštění kódu lze podmínit vstupem na bázi sepnuto/rozepnuto.To znamená možnost připojení jakéhokoliv čidla(teploměr,hladina,dveřní magnet,laserová závora atd).Máme k dispozici cca 25 vstupů/výstupů(záleží na tom jak jsou naprogramovány).
Protože se jedná o počítač získáváme veškeré známé výhody.Máme k dispozici čas a plánovač úloh.Vzdálené připojení,webserver,mail atd.
Zařízení používá mysql databázi kterou mohouu dále sdílet/zobrazovat/používat i ostatní zařízení.
K raspberry lze připojit kameru která může ohlídat třeba vchod,budík měřáku nebo poskytovat v určitý interval fotky a odesílat je přes email.

Výčet celého spektra využití je asi nemožný.Jen jsem chtěl naznačit že možnosti tohoto systému jsou obrovské.