Malina v komerčním provozu - část první

27. 4. 2016 13:21 (aktualizováno) Michal Šiman

Rozkaz od vedení naší firmy zněl jasně: vytvořit něco, co bude shromažďovat data o výrobě. Takové to „co, kdy, kde a kdo“ dělal. V době zadání už se jakýsi systém používal, ten byl ale dost omezený, běžel v prostředí MS-DOS na starých PC, které postupně začaly dosluhovat. Starý systém byl postavený na čtení 1D čárového kódu. Naskenované údaje se ukládaly do .txt souborů lokálně a pokud byla k dispozici síť, tak se tyto soubory kopírovaly na firemní file server a tam ležely dokud někdo něco nepotřeboval dohledat, práce s nimi byla komplikovaná, ale jakýsi záznam to byl.

Nově jsem vybral řešení Linux/Apache/MySQL/PHP, vytvořil pár tabulek a k nim jednoduchý front end pro uživatele. Největším otazníkem byl ale hardware. Věděli jsme jen že chceme snímat čárové kódy. Protože jsem v té době již koketoval s Raspberry Pi jako multimediálním přehrávačem, navrhl jsem právě RPi jako hardware do firemního prostředí. Ačkoliv jsem schopen složit dohromady několik (i stovek) řádků kódu v různých programovacích jazycích, tak sám sebe nepovažuji za programátora, proto jsem našel externího znalce Javy a padl základ na který se postupně „nabalovalo“ více a více požadavků.

Problémem číslo jedna bylo, jak komunikovat s uživatelem. Potřebovali jsme řádově desítky skenovacích terminálů a dávat všude monitory by nebylo ekonomicky ani energeticky výhodné. Začali jsme uvažovat o různých displejích, dotykových, nedotykových, velkých, malých, jedno nebo dvouřádkových, nakonec jsme si řekli, že možná i LEDky by stačily a v tu chvíli se zrodila ta spásná myšlenka, že ono vlastně stačí, aby se obsluha terminálu dozvěděla, zda záznam (tedy sken určité sekvence) je v pořádku, terminál ho přijal a uložil. No a na to, světe div se, bude stačit jeden „bzučák“ připojený přes jeden GPIO pin a transistor k Raspberry. Našel jsem a objednal první Raspberry Pi 1B, k němu krabičku co šla pověsit na dva šroubky na zeď, plastová.

Chcete vidět více příkladů z komerčního nasazení RPi?

Jako čtečku čárových kódů jsem použil Motorola (dříve Symbol, nyní Zebra), kterou jsem nastavil aby se chovala jako běžná USB klávesnice (HID zařízení) s ENTERem nakonci, aby to šlo kdykoliv nahradit čímkoliv jiným, včetně klávesnice a opisování kódu ručně v nejhorším případě. Takže jsem měl Raspberry v krabičce s bzučákem uvnitř, k němu zdroj 5V a dále čtečků. Chyběl jen software.

Vývoj Java aplikace trval pár týdnů, jednak se programátor věnoval i jiným věcem a jednak jsme si my sami interně až za pochodu dávali dohromady všechny požadavky a několikrát pozměnili zadání. Nebylo to pro to, že bychom nevědli co chceme, ale bylo to hlavně proto, že jsme až v praxi vyzkoušením zjistili co se vše může stát a jak by to bylo lepší dělat. Věřte nevěřte, zaměstnanec ve výrobě dokáže s takovou čtečkou naskenovat cokoliv a jakkoliv a to co se některým v průběhu testování podařilo, to by vás ani ve snu nenapadlo.

Výsledkem je síť dnes přibližně 30ti Raspberry Pi a čteček, které sbírají data z výroby jedna pro potřeby dohledání reklamací a vadných sérií a použitého materiálu a jednak se z těchto dat částečně vytváří i výplata zaměstnancům co pracují v úkolu.

Raspberry se nám osvědčilo do té míry, že jsme na stejné platformě postavili ještě čipový přístupový systém, docházkové dotykové terminály a nebo „krabičky“ sledující stavy starých hloupých strojů a posílající je do databáze pro vyhodnocení používání. Leckde jsme použili PowerOverEthernet napájení, vyrábíme si vlastní moduly pro GPIO sběrnici a vůbec máme ještě s Raspberry Pi veliké plány, ale o tom zase někdy příště.

V dalším díle bych se zaměřil na funkce, jak jsme vyřešili offline režim, jak se takové Raspberry Pi pověšené na zdi automaticky aktualizuje atd.

Otevířač dveří - nástavba na Raspberry Pi 2/3, obsahující DIP přepínače pro adresaci dveří a možnost osadit až dvě relátka pro spínání elektromagnetického zámku dveří.

PS: Tento článek nepřináší žádné technické údaje, ani konkrétní postupy. Je spíše inspirací co se dá s Raspberry Pi udělat a zároveň je článek i jakýmsi stručným popisem naší cesty do cíle :-)

Sdílet