Uživatelské nástroje

Nástroje pro tento web


system_pro_parametrizovane_snimani_obrazovych_dat_s_ukladanim_na_disk

Systém pro parametrizované snímání obrazových dat s ukládáním na disk

Projekt vznikl na základě úplné finanční podpory ze strany Grantové agentury Jihočeské univerzity.


Systém sběru obrazových dat se skládá z několika základních částí:

  • kamerové moduly založené na Raspberry Pi 4
  • podpůrný systém pro osvětlování snímané scény
  • síťové diskové úložiště (NAS)
  • vizualizační a dokumentační server (ai-plants.net)

Blokové schéma systému sběru dat

Na obrázku je znázorněno základní schéma systému sběru obrazových dat. Celá technologie je založena na standarních sítí typu ethernet, což dovoluje použít běžně dostupné prvky a standarní UTP kabeláž. Jako výhodné se jeví použít PoE síťový switch s aktivním PoE napájením. Kamerové moduly jsou osazeny PoE napájecím modulem. Kamery leží v jedné síti LAN společně se síťovým úložištěm.


Je-li switch připojen k routeru s přístupem na internet, je možné spolupracovat s vizualizačním serverem (ai-plants.net).
Pokud je potřeba snímanou scénu přisvítit, je možné k síťovému switchi připojit elektronický modul řízení osvětlení.

Systém má tyto základní parametry:

  • je připojitelný do stávající sítě LAN
  • napájení je řešeno buď adaptéry 230 V nebo aktivním PoE napájecím modulem
  • modulární řešení dovoluje případnou expanzi systému

Kamerové moduly

Celkem byly realizovány 3 kamerové moduly, které jsou založeny na Raspberry Pi 4. Liší se pouze využitým objektivem a snímacím čipem. Rozdílné ohniskové vzdálenosti předurčují moduly pro rozdílné využití. Parametry Raspberry Pi 4 jsou:

  • Quad-core ARM Cortex-A72
  • 4 GB RAM
  • WiFi, LAN konektivita
  • OS Raspbian
  • napájení 5 V (možné rozšířit PoE napájecím modulem)
  • spotřeba max. 200 mA
  • USB porty
  • CSI-2 sběrnice pro připojení kamerových modulů


Všechny kamerové moduly jsou vybaveny SD kartou s nainstalovaných OS Raspbian - založeno na OS Linux.

OS Raspbian je volně dostupný na adrese https://www.raspberrypi.com/software/operating-systems/#raspberry-pi-os-32-bit.

Verze Kernel version: 5.15
Debian version: 11 (bullseye)

Nahrání OS na SD kartu probíhá pomocí SW Raspberry Pi Imager https://www.raspberrypi.com/software/.

V záložce Advanced options je možné nastavit připojení k WiFi, výchozí účet, lokalizaci apod.


Základní nastavení probíhá pomocí příkazu:
raspi-config

Nebo graficky pomocí aplikace (např. zákaz spuštění grafického rozhraní a automatické přihlášení):

Spuštění grafického rozhraní z příkazové řádky je možné příkazem:

$ startx

V provozní verzi je výhodnější nechat grafické rozhraní vypnuté.

V jednotlivých modulech je spuštěn SSH server s možností autentizace přes zabezpečené certifikáty, to umožňuje automatické vzdálené přihlášení např. k vizualizačnímu serveru bez nutnosti zadávání hesla.

Vzdálená konfigurace kamerových modulů je rovněž možná pomocí SSH přístupu.

Na kamerových modulech jsou spuštěny tyto služby zajišťující sběr snímků a jejich následné odeslání do diskového uložiště a vizualizačního serveru:

  • image server (jedná se o API, které poskytuje snímky přes TCP port 80, je možný přístup pomocí standardního webového prohlížeče
  • image sender (automatický skript, který odesílá v pravidelných intervalech aktuálně pořízený snímek na vizualizační server a do diskového úložiště)
  • RTC modul (zajišťuje aktuální časovou značku, pokud je dostupná síť internet)

Pro přístup k aktuálnímu snímku lze v rámci sítě využítu následující Python kontrukci:

# stahne obrazek z kamery
filename = wget.download(img_url, out=output_file)

Pro přenos pořízených snímků na server (obdobně na NAS):

# nahrani souboru na server
ssh_ob = SSHClient()
ssh_ob.load_system_host_keys()
ssh_ob.connect(server_ip, username=server_user)
scp = SCPClient(ssh_ob.get_transport())
scp.put(filename, remote_path=server_path)
scp.close()
Kamerový modul 1

Je vybaven kamerovým modulem Raspberry Pi Camera Module 2. Využívá obrazový senzor Sony IMX219 8 Megapixel.

Kamerový modul 2

Je vybaven kamerovým modulem Arducam 12MP IMX477. Obrazový senzor má rozlišení až 12,3 Megapixel. Výhodou jsou vyměnitelné objektivy.

Kamerový modul 3

Je vybaven kamerovým modulem Arducam HQ IR-CUT. Obvrazový senzor má rozlišení 12 Megapixel, obsahuje IR filtr.

Aktivní PoE switch

Jako síťový switch je využit model TP-Link TL-SF1005LP splňující normu aktivního PoE IEEE 802.3af. Dokáže napájet všechny tři kamerové moduly. Odolné, kovové, provedení je pro danou aplikaci výhodné.

Podpůrný systém pro osvětlování snímané scény

Součástí systému sběru obrazu je podpůrný systém pro osvětlování snímané scény. Tento podpůrný systém byl zvolen a navržen tak, aby byl snadno začlenitelný do systému kamer. Je proto využito ethernetového modulu R-HRJ s rozšiřujícím modulem RS-Switch + dvě SSR relé. Celé řešení je napájeno standardní sítí 230 V. Je možné sepnout klasickou elektrickou zásuvku + jeden další obvod (max. 10 A na relé). Ethernetová jednotka komunikuje službou telnet na portu 23.

Komunikace má formu zjednodušených AT příkazů. K dispozici je příkaz:

AT+SWOUTEN=kanal, on/off

S jednotkou R-HRJ může komunikovat každý kamerový modul (v případě nedostatečné expozice snímané scény si kamera může samostatně aktivovat přísvit).

Spínání pomocných svítidel nebylo nakonec využito, snímání probíhalo v klasickém skleníku s dostatečným přirozeným osvětlením. Řešení by se dalo s výhodou použít pro vnitřní aplikace.

Síťové diskové úložiště

Pro archivaci snímků bylo využito běžně dostupné síťové úložiště (NAS), Synology DS420 s kapacitou 4 TB. Disky jsou zapojeny v RAID 1. Je zaručeno uchování dat v případě výpadku/poruchy jednoho disku. NAS disponuje standardními siťovými službami jako je (S)FTP atp. Přístup na úložiště je možný přímo z kamerového modulu prostřednictvím Python skriptu.

Vizualizační a dokumentační server

Pro vizualizaci nasbíraných dat je provozován server v internetu. Server je virtualizován ve službě https://www.digitalocean.com/. Server má přidělenou IP 159.223.1.30. Pro snadnější přístup k serveru byla přiděleno DNS https://ai-plants.net poskytované službou https://www.namecheap.com/. Poskytován je bezpečnostní certifikát umožňující zabezpečené spojení https.

Na serveru jsou spuštěny standardní služby potřebné pro chod webového serveru - Apache, SQL server, PHP server atp. Dále je provozována fotogalerie PIWIGO. Jedná se o jednoduchou fotogalerii, která je využívána k náhledům nasnímaných snímků. Kamera v pravidelných intervalech odesílá snímky do úložiště NAS a do fotogalerie (zde následně docházi ke snížení kvality a rozlišení snímků z důvodu omezené kapacity serveru).

Z dokumentačních důvodů je na serveru zřízena služba DokuWiki https://www.dokuwiki.org/dokuwiki.

Závěr

Byl sestaven funkční vzorek systému pro sběr obrazových dat, který komplexně zahrnuje všechny části oblasti zpracování, přenosu, uchování a evidence obrazových dat. Modulární řešení se v průběhu realizace i v následném testování a provozu ukázalo jako vhodné řešení. Systém je možné využít především pro aplikaci snímání ve sklenících, či jiných krytých prostorách. Elektronika prokázala schopnost odolat i poměrně vysokým teplotám a zvýšené vlhkosti. V případě umístění do venkovních prostor je nutné vyřešit zakrytí elektroniky před povětrnostními vlivy. Díky virtualizovanému serveru v internetu byl umožněn dálkový dohled nad lokální kamerovou sítí. Pomocí SSH protokolu, SSH tunelování je možný i vzdálený zabezpečený přístup do všech částí řetězce. Konzistentní založení na systémech typu OS Linux zajišťuje konzistentní řešení a aplikaci standardních programovacích prostředků, především v jazyku Python, případně Bash.

system_pro_parametrizovane_snimani_obrazovych_dat_s_ukladanim_na_disk.txt · Poslední úprava: 2024/01/25 14:33 autor: miross00