Przygotowanie
Potrzebny jest system operacyjny Raspbian dla Raspberry Pi skonfigurowany tak, aby można było uzyskać dostęp do jego pulpitu UI przez VNC lub wyświetlacz HDMI. Następnie należy zainstalować moduły i biblioteki wymagane w projekcie. Używany jest serwer WWW Apache do hostowania strony zawierającej UI, PHP do tworzenia UI oraz WiringPi do konwersji danych wejściowych UI na elektroniczne wejście cyfrowe dla elektronicznego bankomatu lub automatu vendingowego.
Oprócz tego potrzebujemy generatora kodów QR, który tworzy kod QR, który użytkownicy mogą uzyskać za pomocą interfejsu użytkownika. Po zainstalowaniu ich wszystkich, otwórz terminal Linuksa i wykonaj następujące polecenia:
sudo pip3 install pyqrcode
sudo apt-get install php
sudo git clone https://github.com/WiringPi/WiringPi.git
cd WiringPi
./build
Kodowanie
Trzeba napisać kod, który przekształci adres URL strony UI hostowanej przez WiringPi w czytelny i możliwy do zeskanowania kod QR. Aby to osiągnąć, napisz kod Pythona do tworzenia kodu QR.
Kod QR
Aby wygenerować kod QR dla strony UI hostowanej przez webserver, zaimportuj moduł pyqrcode w Pythonie. Następnie ustaw ciąg znaków na nazwę URL strony PHP. Następnie zapisz wygenerowany kod do formatu .png lub .svg, aby można go było wydrukować i później wykorzystać do skanowania.
Następnie utwórz kod PHP, który będzie obsługiwał wejścia/wyjścia maszyny. Aby to zrobić, stwórz UI w .php używając CSS i HTML. W kodzie, ustaw funkcję przycisku tak, abyśmy mogli użyć GPIO lub Raspberry Pi do wprowadzenia danych wejściowych do bankomatu lub automatu vendingowego. Tak więc, gdy wciśniemy dany przycisk na telefonie to wartości GPIO zmieniają się z 0 na 1 na kilka sekund. Po puszczeniu przycisku wartość wróci do 0.
Aby stworzyć kod dla UI należy ustawić listę przycisków do wprowadzania danych. Ich liczba i kolor wyrównania mogą się różnić w zależności od potrzeb. Należy zrobić UI dla I/O bankomatu podobny do tego z prawdziwego bankomatu. Dla automatów vendingowych utwórz przyciski do wyboru i usunięcia wyboru artykułów spożywczych/napojów.
Testowanie
Po wygenerowaniu kodu QR, wydrukuj go i przyklej na maszynę (z napisem SCAN ME). Następnie otwórz przeglądarkę w telefonie, przejdź do narzędzi i kliknij na skanuj kod QR (lub możesz pobrać dowolną aplikację do skanowania kodów QR na telefon i użyć jej).
Na ekranie telefonu pojawi się strona UI, za pomocą której możesz sterować bankomatem, automatem vendingowym, windą itp. Dotknij przycisków widocznych na ekranie telefonu, aby wprowadzić dane do urządzenia.
W celach demonstracyjnych użyto kodu testowego automatu vendingowego. Wybierz napój, który chcesz, a następnie naciśnij jego nazwę. Przełączenie pinu GPIO i przełączenie przekaźnika na pozycję ON spowoduje uruchomienie zaworu vendingowego z napojem.