Śmierć
Find a file
2025-07-02 12:51:47 +02:00
src Zamiana większości nazw na polskie 2025-07-02 12:40:19 +02:00
.gitignore Początkowe popełnienie 2025-05-27 20:22:41 +02:00
Cargo.lock zmniejszenie rozmiaru programu o 26 dyskietek 2025-06-07 12:53:36 +02:00
Cargo.toml zmniejszenie rozmiaru programu o 26 dyskietek 2025-06-07 12:53:36 +02:00
LICENSE to nie był markdown 2025-07-02 12:51:47 +02:00
przyklad_konfiguracji.json Przykładowy plik konfiguracyjny 2025-06-07 12:57:54 +02:00
README.md dodany przykładowy plik jednostki demona systemowego 2025-06-11 13:11:35 +02:00
smierc.service dodany przykładowy plik jednostki demona systemowego 2025-06-11 13:11:35 +02:00
śmierć.png Poprawka obrazka 2025-06-07 17:20:29 +02:00

Śmierć

Ś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 Macierzy
  • matrix_room_id - identyfikator pokoju
  • serial_device_path - scieżka do używanego portu szeregowego
  • message_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.