č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.




















Žádné komentáře:

Okomentovat