Serwisy partnerskie:
Close icon
Serwisy partnerskie

Interfejs zbliżeniowy dla automatów vendingowych, bankomatów i wind

Podczas gdy wciąż używamy ekranu dotykowego lub przycisków do obsługi bankomatów, automatów sprzedających czy wind, systemy bezstykowe stały się istotnym wymogiem na rynku w dzisiejszych czasach. Dlatego też będziemy tworzyć rozwiązanie, które wyświetla UI na telefonie i może mieć zastosowanie dla każdego urządzenia, takiego jak bankomaty, automaty, windy lub obiekty, które wymaga interakcji bezstykowej.
Article Image

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.

Rysunek 1. Kod Pythona dla obsługi generowania QR

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.

Rysunek 2. Sterowanie GPIO w PHP

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.

Rysunek 3. Kod PHP
Rysunek 4. Układ UI

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).

Rysunek 5. Wygenerowany kod QR

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.

Fotografia 6. Kod QR do sterowania oświetleniem hali
Wykaz elementów
Ilość
Symbol
Nazwa/opis/gdzie kupić
1
-
Telefon z obsługą Bluetooth
Wideo
Do pobrania
Download icon Interfejs zbliżeniowy dla automatów vendingowych, bankomatów i wind - kod źródłowy

Artykuł QR Code-Based UI for Vending Machine, ATM and LIFT opracowano w wersji polskiej na podstawie współpracy z portalem www.electronicsforu.com.

Tematyka materiału: QR, IoT
AUTOR
Źródło
www.electronicsforu.com
Udostępnij
UK Logo