Studna
Hlavní funkcí popisované konstrukce je měření objemu vody ve studni. Principem je měření výšky hladiny ultrazvukovým čidlem a přepočet na litry. Spolu s tím je možné měřit teplotu a vlhkost ze dvou čidel - vnitřního a vnějšího. Hodnoty se spolu s aktuálním časaem zobrazují na malém OLED displeji, zapisují do vnitřní databáze a je možné je posílat přes WiFi na internetový server a zobrazovat v grafech.

Základní popis
Jádrem je Orange Pi Zero. Ze SDHC karty na něm běží Linux (Armbian).
Ultrazvukové čidlo je připojeno přes převodník 5V/3.3V na GPIO piny Orange. Čidlo umí být ovládáno i po sériové lince, ale to se mi neosvědčilo, výstup měl příliš nízké rozlišení. Proto jsem použil tradiční rozhraní - Orange pošle startovací puls a měří délku přijatého pulzu, která odpovídá době šíření ultrazvuku (asi 33cm/ms).
Komponenty
Pokud se chcete pustit do stavby, je dobré začít objednáním komponent, protože jejich dodání zabere nějaký ten týden. Celkově vyjdou komponenty kolem 1000 Kč.
- OrangePi Zero H2+ 512MB
 - OLED displej 0.96" 128x64
 - Vodotěsné ultrazvukové čislo JSN-SR04T
 - Propojovací kablíky female-female
 - Převodník úrovní
 - Napájecí zdroj 5V 2.5A USBµB
 - SDHC karta SanDisk 16GB A1
 - Vruty do plastu
 - Stíněný kablík pro prodloužení kablíku k čidlu
 
Nástroje
- Čtečka mikro SDHC (SD) karet nebo notebook s integrovanou čtečkou
 - Volitelně MICRO USB to UART TTL Module USB->TTL převodník
 
Sestavení
- Stáhněte si [obraz Armbianu pro Orange Pi Zero]. Můj obraz už má nainstalovaný balíček ziautils který některé kroky zjednoduší.
 - Rozpakujte jej, výsledkem musí být soubor .img
 - Nahrajte ho na kartu.
- Pod Linuxem (X je písmeno, pod kterým se karta nadetekuje, zjistíte například příkazem dmesg):
cat Armbian.img > /dev/sdX - Po Windows se mi osvědčil program Etcher, ale určitě lze použít i jiné
 
 - Pod Linuxem (X je písmeno, pod kterým se karta nadetekuje, zjistíte například příkazem dmesg):
 - Zasuňte kartu do soketu Orange.
 - Připojte napájecí zdroj. Nic dalšího nepřipojujte.
 
Teď je potřeba rozhodnout se, zda budete prvotní konfiguraci provádět přes sériovou konzoli USB, přes sériovou konzoli TTL nebo přes ethernet. Výběr bude vycházet z toho, co máte k dispozici a s čím máte zkušenosti.
Prvotní konfigurace přes sériovou konzoli USB
Budete potřebovat kvalitní USB kabel s konektorem mikro-B. Ideální je od telefonu, který umí rychlé nabíjení proudem alespoň 2A. POZOR, Orange může ve špičkách překračovat maximální povolený odběr USB portu. Proto k němu nic dalšího nepřipojujte. Bude-li se Orange chovat divně, použijte jinou metodu konfigurace.
- Připojte Orange přes kvalitní USB kabel do mikro-B konektoru.
 - Na počítači se objeví další sériový port:
- Pod Linuxem to bude /dev/ttyUSBn, kde n je číslo od nuly výše
 - Pod Windows to bude COM3 a výše
 
 - Spusťte sériový emulátor terminálu (putty, minicom) a připojte se na port
 
Prvotní kongiruace přes sáriovou konzoli TTL
- Připojte Orange k napájecímu zdroji
 - Použijte převodník USB->TTL (3V). Mě se osvědčily převodníky s čipem CP2102. Odkaz viz výše.
 - Propojte převodník a Orange (třípinový header vedle ethernet portu). Nejprve GND, pak křížem RXD s TXD. 

 - Pripojte převodník přes USB do PC
 - Na počítači se objeví další sériový port:
- Pod Linuxem to bude /dev/ttyUSBn, kde n je číslo od nuly výše
 - Pod Windows to bude COM3 a výše
 
 - Spusťte sériový emulátor terminálu (putty, minicom) a připojte se na port
 
Prvotní konfigurace přes ethernet
- Připojte Orange ethernetem k hubu. Na síti musí být DHCP server
 - Připojte Orange k napájecímu zdroji
 - Počkejte cca 1-2 minuty, než Orange naběhne
 - Podívejte se do seznamu klientů (leases) DHCP serveru a najděte Orange. Patrně bude mít MAC adresu začínající 12:42. Alternativně můžete použít skener sítě (např. nmap)
 - Spusťte SSH klienta (ssh, putty) a připojte se k Orange na standardní TCP port 22
 
Společná část konfigurace
Po připojení se objeví výzva k přihlášení.
Zadejte uživatelské jméno root a heslo 1234.

Ihned budete vyzváni ke změně hesla. Zadejte 1234 a pak 2x nové heslo, které se pokuste nezapomenout.

Pak zadejte uživatelské jméno neprovilegovaného uživatele. Toho pro tento projekt nebudete potřebovat.

Nastavení wifi
Spusťte příkaz armbian-config. Varování o nedostupné síti ignorujte.

Vyberte Network, wlan0, WiFi.

Vyberte vaši WiFi síť a zadejte heslo.
Opusťte nastavení Quit a 2x Cancel.
V příkazové řádce spusťte příkaz:
ifconfig wlan0
Vypíše se něco takového:
wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet xxx.xxx.xxx.xxx  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::27cd:xxxx:xxxx:xxxx  prefixlen 64  scopeid 0x20<link>
        ether 12:42:ad:xx:xx:xx  txqueuelen 1000  (Ethernet)
Zapamatujte si IP adresu pro pozdější připojení přes WiFi.
Aktualizace Armbianu
V příkazové řádce spusťte:
apt update
a pak
apt upgrade
Pokud bude tvrdit ...is another process using it?, tak se spustila automatická aktualizace a musíte nějaký čas počkat.
Předlohy pro 3D tiskárnu

Předloha Studna.STL Doporučuji PETG, vrstva 0.2mm. Doba tisku asi 5.5h.
