====== System ====== Na chwile obecną są dwie opcje: * Instalacja gotowego obrazu * Instalacja manualna ====== Instalacja gotowego obrazu ====== Jest to chyba najprostsza opcja nie wymagająca zbytniej znajomości systemu Linux. Najprostszą metodą jest skorzystanie z dedykowanego narzędzia jakim jest [[pl:download|Haier Pi Imager]]. Jest to fork dobrze znanego Raspberry Pi Imager z tym że standardowo dodane są tylko repozytoria z obrazami Haier Pi. Dodana też jest możliwość edycji ustawień wifi z poziomu tego narzędzia. Nie musimy więc martwić się o edycję żadnych plików. {{:pl:zrzut_ekranu_z_2023-12-12_22-45-07.png?400|}} {{:pl:zrzut_ekranu_z_2023-12-12_22-45-35.png?400|}} {{:pl:zrzut_ekranu_z_2023-12-12_22-46-03.png?400|}} {{:pl:zrzut_ekranu_z_2023-12-12_22-46-50.png?400|}} {{:pl:zrzut_ekranu_z_2023-12-12_22-47-31.png?400|}} {{:pl:zrzut_ekranu_z_2023-12-12_22-47-59.png?400|}} {{:pl:zrzut_ekranu_z_2023-12-12_22-40-01.png?400|}} {{:pl:zrzut_ekranu_z_2023-12-12_22-43-23.png?400|}} {{:pl:zrzut_ekranu_z_2023-12-12_22-44-09.png?400|}} Możemy też ściągnąć jeden z [[pl:download|gotowych obrazów]], wrzucamy go na kartę SD i odpalamy system. Po uruchomieniu powinniśmy w sieci lokalnej odszukać adresu IP jaki dostał sterownik i wejść przeglądarką na stronę http://adres-ip-sterownika/ od wersji obrazu 1.2 dla Raspberry Pi i 1.5 dla Nano Pi. System po uruchomieniu powinien przedstawiać się w sieci jako haierpi.local. Więc wystarczy wtedy wejść na stronę http://haierpi.local nie trzeba już szukać jaki adres IP dostało urządzenie. == Domyślne dane do logowania: admin/admin == == UWAGA == Wstępna konfiguracja zamieszczona na obrazach wymaga podłączonych fizycznych czujników temperatury. W przeciwnym wypadku może dość do zatrzymania części procesów które odpowiedzialne są za komunikację z pompą. Konieczny może wtedy być restart usługi który możemy wykonać z poziomu strony, lub przyciskając przycisk na płytce przez ok 3 sekundy, sterownik poinformuje o restarcie usługi migając czerwoną diodą 3 razy (** Przycisk reset działa tylko na sterowniku z NanoPi Neo, niestety na RaspberryPi przycisk nie działa**) ===== NanoPi Neo ===== Jeśli zdecydujemy się na NanoPi Neo, do połączenia z siecią mamy do dyspozycji wbudowany port ethernet, a system skonfigurowany tak aby pobierał adres IP z DHCP. Jeśli jednak z jakiegoś powodu chcieli byśmy użyć Wi-Fi, to możemy podłączyć do portu USB kartę Wi-Fi, wymaga to jednak [[pl:software#konfiguracja_wi-fi|dodatkowej konfiguracji.]] Standardowo obraz ma włączoną obsługę ethernet, obsługa wi-fi standardowo jest wyłączona. ===== RaspberryPi zero W ===== Jeśli zdecydujemy się na płytkę RaspberryPi zero W, to do połączenia z siecią możemy wykorzystać tylko Wi-Fi gdyż raspberryPi nie ma wbudowanego portu ethernet ani zwykłego portu USB do którego w łatwy sposób można by podłączyć kartę ethernet na USB. Być może podłączenie przez przejściówkę OTG microusb-USB będzie działać, ale takiej konfiguracji nie będę tutaj opisywać. i jeśli chcesz skorzystać z sieci podłączając kabel, skorzystaj z NanoPi Neo. [[pl:software#konfiguracja_wi-fi|Konfiguracja Wi-Fi]] wygląda identycznie jak w przypadku NanoPi. Standardowo obraz ma włączoną obsługę Wi-Fi i wyłączoną obsługę ethernetu ===== Konfiguracja Wi-Fi ===== Opis konfiguracji sieci Wi-Fi jest identyczny zarówno dla NanoPi Neo jak i RaspberryPi zero W. Jeśli obraz nagrywasz imagerem to od razu w nim możesz skonfigurować sieć. Gotowe obrazy systemów zostały tak przygotowane aby można było taką konfigurację wykonać zarówno w systemie Linux jak i Windows. Aby skonfigurować system do korzystania z sieci wifi należy: - Podłączyć kartę SD do komputera - W systemie powinien pojawić się nowy dysk wymienny o wielkości 128MiB - Na dysku powinny znajdować się między innymi dwa pliki: **dietpi-wifi.txt** oraz **dietpi.txt** - Otwieramy do edycji plik **dietpi.txt** i znajdujemy linię AUTO_SETUP_NET_WIFI_ENABLED=0 i ustawiamy na **1** (jeśli wartość tej zmiennej jest już ustawiona na 1 to nic nie zmieniamy i zamykamy plik) - Otwieramy plik **dietpi-wifi.txt**, #--------------------------------------------------------------- # Entry 0 # - WiFi SSID: required, case sensitive aWIFI_SSID[0]='' # - WiFi key: If no key/open, leave this blank # - In case of WPA-PSK, alternatively enter the 64-digit hexadecimal key returned by wpa_passphrase # - Please replace single quote characters ' in your key with '\''. No other escaping is required. aWIFI_KEY[0]='' # - Key type: NONE (no key/open) | WPA-PSK | WEP | WPA-EAP (then use settings below) aWIFI_KEYMGR[0]='WPA-PSK' # - WPA-EAP options: Only fill if WPA-EAP is set above aWIFI_PROTO[0]='' aWIFI_PAIRWISE[0]='' aWIFI_AUTH_ALG[0]='' aWIFI_EAP[0]='' aWIFI_IDENTITY[0]='' aWIFI_PASSWORD[0]='' aWIFI_PHASE1[0]='' aWIFI_PHASE2[0]='' # - Path to the certificate file, e.g.: /boot/mycert.cer aWIFI_CERT[0]='' Plik co prawda zawiera więcej linii ale interesują nas tylko te związane z **Entry 0**, edytujemy więc linie: * aWIFI_SSID[0]= - w cudzysłowie wpisujemy nazwę naszej sieci. Wielkość liter ma znaczenie. * aWIFI_KEY[0]= - w cudzysłowie wpisujemy hasło do naszej sieci. * aWIFI_KEYMGR[0]='WPA-PSK' - tutaj ustawiamy rodzaj szyfrowania, jeśli używamy standardowo WPA2, pozostawiamy tą linię bez zmien Jeśli masz jakąś niestandardową konfiguracje, np z certyfikatem to musisz wypełnić resztę pól zgodnie ze swoją konfiguracją. Po zapisaniu zmian w pliku możemy bezpiecznie usunąć kartę SD z systemu i włożyć ją do naszego komputerka. (Pamiętaj żeby w przypadku NanoPi Neo, przed uruchomieniem systemu podłączyć kartę wifi) ====== Instalacja manualna ====== Ta opcja przeznaczona jest dla bardziej zaawansowanych użytkowników, nie będę zagłębiał się tutaj w szczegóły dotyczące instalacji i konfiguracji systemu, poruszę tylko kwestie które są bezpośrednio związane z działaniem skryptu. ===== Zmiany w systemie ===== ==== Raspberry Pi ==== Jeśli zdecydujesz się na korzystanie z Raspberry Pi koniecznym jest wyłączenie wbudowanego bluetooth gdyż wykorzystuje on uart sprzętowy który my musimy wykorzystać do komunikacji z pompą. RaspberryPi posiada co prawda drugi uart, ale nie obsługuje on zmian innych parametrów niż prędkość połączenia, a my musimy użyć niestandardowych parametrów połączenia. dlatego w **/boot/config.txt** powinniśmy dokonać następujących zmian: dtoverlay=w1-gpio,gpiopin=4 dtoverlay=pi3-disable-bt enable_uart=1 ==== Nano Pi neo 1.4 ==== W przypadku NanoPi Neo musimy na wstępie określić czy będziemy chcieli korzystać z fizycznego czujnika temperatury DS18b20 czy też tylko z czujników z Home Assistant. Jeśli chcemy wykorzystać fizyczny czujnik podłączony do płytki musimy przemapować porty GPIO procesora, gdyż domyślna konfiguracja nie wyprowadza na fizyczne piny portu odpowiedzialnego za komunikację 1-Wire. W tym celu pobieramy przygotowany przeze mnie plik **sun8i-h3-w1-gpio.dtbo** z sekcji [[pl:download|Download]]. Umieszczamy go w **/boot/dtb/overlay/** nadpisując plik który się tam znajduje. Następnie edytujemy parametry startowe. Przykładowo dla Armbiana jest to: ** /boot/armbianEnv.txt **, dla DietPi będzie to ** /boot/dietpiEnv.txt ** a dla innych dystrybucji może być ten plik nazwany inaczej. W każdym bądź razie edytujemy ten plik i zmieniamy aby wyglądał mniej więcej tak: consoleargs=console=ttyS0,115200 usbstoragequirks= extraargs=net.ifnames=0 docker_optimizations=off overlay_prefix=sun8i-h3 overlays=usbhost1 usbhost2 uart1 w1-gpio user_overlays= ===== Instalacja skryptu ===== ==== Download ==== Ściągamy z git najnowsze repo master $ git clone https://github.com/ktostam/HaierPi /opt/haier ==== Virtual Env ==== Tworzymy virtual enva dla Pythona3 $ python3 -m venv /opt/haier/env jeśli w tym momencie napotkamy na błąd że nie mamy zainstalowanego pythona czy też venv, to musimy je zainstalować w systemie. Jesli uda się stworzyć env, przechodzimy do następnego kroku ==== zależności ==== Teraz musimy zainstalować wszystkie zależności dla Pythona, aby to zrobić „wchodzimy” najpierw do naszego enva: # source /opt/haier/env/bin/activate A następnie instalujemy zależności: # pip install —upgrade -r /opt/haier/requirements.txt ==== config.txt ==== Edytujemy plik /opt/haier/config.txt i ustawiamy odpowiadające nam parametry. W pliku konfiugrujemy między innymi jakich czujników temperatury używamy (podpiętych fizycznie czy z HA) oraz na których portach GPIO podpięte są poszczególne przekaźniki. ==== systemd ==== jeśli chcemy odpalać nasz skrypt jako daemona systemd to zawartość katalogu /opt/haier/etc/systemd/system/ kopiujemy do /etc/systemd/system i robimy: # systemctl deamon-reload a jeśli chcemy aby daemon startował automatycznie przy starcie systemu to: # systemctl enable haier.service ==== Po instalacji ==== Domyślnie po uruchomieniu, skrypt słucha na porcie 4000, ale można to zmienić w **/opt/haier/config.ini** domyślne dane logowania do panelu to: **admin/admin**