| src | ||
| .gitignore | ||
| Cargo.lock | ||
| Cargo.toml | ||
| LICENSE | ||
| przyklad_konfiguracji.json | ||
| README.md | ||
| smierc.service | ||
| śmierć.png | ||
Śmierć
Automat macierzowy informujący o otwarciu lub zamknięciu drzwi. Używany w siedzibie Akademickiego Stowarzyszenia Informatycznego, żeby nie trzeba było ręcznie pisać do innych członków ASI, że boks został już otwarty.
Sposób działania
W momencie pisania tego opisu, do wykrywania stanu drzwi jest używane Arduino
z czujnikiem krańcowym zamontowanym we framudze drzwi, tak by był naciśnięty
po zamknięciu drzwi na klucz (na 2 razy). Program komunikuje się z Arduino
przez port szeregowy. Linia d0 oznacza, że drzwi zostały zamknięte, a d1,
że otwarte.
Konfiguracja
Program konfiguruje się plikiem JSON. W repozytorium jest przykładowy plik konfiguracyjny. Opis ustawień:
matrix_user_id,matrix_password- dane logowania do Macierzymatrix_room_id- identyfikator pokojuserial_device_path- scieżka do używanego portu szeregowegomessage_delay_seconds- czas w sekundach, który musi minąć od ostatniego komunikatu z portu szeregowego, zanim zostanie wysłana wiadomość. Używane, żeby pominąć przypadkowe naciśnięcia.door_open_message,door_closed_message- wiadomości, które będą wysyłane
Ścieżkę do pliku można podać argumentem -c. Domyślnie jest to /etc/smierc.conf.
Jeżeli plik nie będzie istniał, a użytkownik uruchamiający program będzie miał uprawnienia, żeby tam zapisywać, to zostanie utworzony przykładowy plik.
W repozytorium znajduje się też przykładowy plik jednostki systemd,
który może być używany do automatycznego uruchamiania Śmierci.
Można go skopiować do /etc/systemd/system/smierc.service, a Śmierć
powinna być w /opt.
