Projekt realizuje interaktywny system quizowy z wykorzystaniem mikrokontrolerów ESP8266, połączonych za pomocą sieci Wi-Fi. System składa się z jednego serwera oraz trzech klientów, które komunikują się w czasie rzeczywistym. Dzięki zastosowaniu technologii ESP8266 projekt umożliwia tworzenie dynamicznej platformy quizowej, znajdującej szerokie zastosowanie zarówno w edukacji, jak i w rozrywce.
[przykładowe - prosimy o edycję]
1. ESP8266 /4szt/
2. Przyciski /12szt/
3. Przewody męsko-męskie 10cm /24szt/
4. Płytka prototypowa /3szt/
Założenia projektowe
-
Narzucone pytania i odpowiedzi:
- System posiada z góry zdefiniowane pytania z czterema możliwymi odpowiedziami (A, B, C, D), zapisane w pamięci serwera.
- Poprawne odpowiedzi są predefiniowane i wykorzystywane do oceny wyników graczy.
-
Komunikacja sieciowa:
- Moduły ESP komunikują się za pomocą Wi-Fi. Serwer ESP pełni funkcję koordynatora, podczas gdy klienci (pozostałe ESP) wysyłają odpowiedzi na pytania.
-
Interfejs użytkownika:
- Komputer wyświetla pytania oraz wyniki gry. Gracze mogą obserwować w czasie rzeczywistym swoje odpowiedzi oraz uzyskane punkty.
- Na koniec gry wyświetlane są szczegółowe statystyki: odpowiedzi wszystkich graczy, zdobyte punkty oraz poprawne odpowiedzi.
-
Konfiguracja sprzętowa:
- Do każdego ESP klienta podłączono cztery przyciski (oznaczone jako A, B, C, D), umożliwiające wybór odpowiedzi.
- System przewiduje jeden serwer oraz trzech klientów.
Działanie systemu
-
Inicjalizacja:
- Serwer ESP nawiązuje połączenie z siecią Wi-Fi oraz oczekuje na połączenia od trzech klientów. Po ich połączeniu następuje synchronizacja systemu.
-
Przebieg gry:
- Serwer wysyła do klientów pytania wraz z możliwymi odpowiedziami.
- Gracze wybierają odpowiedzi poprzez naciśnięcie odpowiednich przycisków. Mikrokontrolery odczytują sygnał z przycisków i przesyłają odpowiedzi do serwera.
- Po zakończeniu rundy serwer porównuje odpowiedzi graczy z poprawnymi odpowiedziami, oblicza wyniki i przesyła je do klientów.
-
Zakończenie gry:
- Po przeprowadzeniu wszystkich pytań system wyświetla na komputerze końcowe wyniki: odpowiedzi graczy, poprawne odpowiedzi oraz podsumowanie punktów.
Kod serwera
Serwer zarządza całym procesem gry, od wysyłania pytań do odbierania odpowiedzi oraz podsumowania wyników. Kluczowe funkcje serwera obejmują:
- Inicjalizację połączenia Wi-Fi.
- Obsługę połączeń klientów za pomocą gniazd sieciowych.
- Zarządzanie pytaniami i ocenę odpowiedzi.
- Komunikację zwrotną z klientami.
Kod klienta
Kod klienta odpowiada za:
- Połączenie z siecią Wi-Fi oraz serwerem.
- Odbiór odpowiedzi gracza poprzez naciśnięcie przycisku.
- Przesyłanie odpowiedzi do serwera oraz odbieranie wyników.
Podsumowanie
Projekt ilustruje praktyczne wykorzystanie mikrokontrolerów ESP w środowisku edukacyjnym i rozrywkowym. Obejmuje zarówno aspekty programistyczne (obsługa gniazd sieciowych, JSON do wymiany danych), jak i sprzętowe (interfejs przycisków). System jest skalowalny i można go łatwo dostosować, dodając np. więcej pytań, graczy lub rozbudowując interfejs użytkownika.
Jego zastosowanie może obejmować:
- Quizy edukacyjne w szkołach.
- Systemy testowe na konferencjach lub szkoleniach.
- Gry integracyjne w małych grupach.
Skalowalność liczby graczy
System został zaprojektowany w sposób umożliwiający łatwą skalowalność liczby graczy. Dzięki odpowiedniej konfiguracji serwera oraz dynamicznej obsłudze klientów, można rozszerzyć liczbę uczestników quizu według potrzeb, bez konieczności wprowadzania istotnych zmian w kodzie. Wystarczy połączyć układ dla klienta oraz wgrać na niego ten sam program jaki był wgrywany dla poprzednich klientów. Natomiast w kodzie serwera tylko zmieniamy liczbę graczy.
ZIP poniżej