Spisu treści:
- Krok 1: Film demonstracyjny
- Krok 2: Rzeczy, których potrzebujemy
- Krok 3: Jak to działa?
- Krok 4: Interfejs użytkownika
- Krok 5: Przypadki użycia i zalety
- Krok 6: Arduino MKR WiFi 1010
- Krok 7: Arduino IDE
- Krok 8: Portal przechwytujący
- Krok 9: Twilio i rzeczy mówią
- Krok 10: Tryb AP LUB STA
- Krok 11: 4-bitowy cyfrowy wyświetlacz LED w kształcie tuby TM1637 i przycisk
- Krok 12: Obwód
- Krok 13: Sprawa
- Krok 14: Szkic Arduino
- Krok 15: QMN…
Wideo: Żetony głośnomówiące: 15 kroków (ze zdjęciami)
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:27
Hej maniacy, Teraz uczę się w klasie +2, co odpowiada 12 klasie. Bardzo interesuję się informatyką i to też jest moim głównym przedmiotem. Spędziłem dużo czasu na tworzeniu projektów Embedded. Mam około 3 letnie doświadczenie w branży systemów wbudowanych. Zawsze stawiam na innowacyjne i różnorodne rozwiązania. Moi rodzice udzielili mi ogromnego wsparcia przy tworzeniu tego projektu.
Motywem przewodnim konkursu jest tworzenie rozwiązań hands-free.
Tutaj tworzę urządzenie o nazwie QMN (węzeł zarządzania kolejką), które może utworzyć wirtualny token, a tym samym może utrzymywać wirtualną kolejkę.
W niektórych kolejkach musimy otrzymać fizyczne tokeny z licznika, które prawdopodobnie wprowadzą Cię w niebezpieczeństwo. Korzystając z tych wirtualnych tokenów, możesz uniknąć tego niebezpieczeństwa. W rzeczywistości otrzymujesz wirtualne tokeny na swoim smartfonie. Token jest całkowicie wolny od rąk.
Jest to prosty, przyjazny dla użytkownika program do tworzenia wirtualnych kolejek zasilany przez Arduino MKR WiFI 1010.
Krok 1: Film demonstracyjny
Obejrzyj film demonstracyjny, aby się o tym dowiedzieć.
Krok 2: Rzeczy, których potrzebujemy
Komponenty sprzętowe
- Arduino MKR WiFi 1010 x 1
- Moduł przycisku x 1
- TM1637 4-bitowy cyfrowy moduł wyświetlacza LED w kształcie tuby x 1
-
Zworki x 1
Komponenty oprogramowania
- IDE Arduino
- Interfejs API Twilio SMS
- Interfejs API ThingSpeak
Narzędzia
- Narzędzie do ściągania izolacji i przecinak x 1
- Lutownica x 1
- Lutowane x 1
Krok 3: Jak to działa?
Węzeł zarządzania kolejką (QMN) to urządzenie, które tworzy inteligentne tokeny. Do tworzenia inteligentnych tokenów osoba powinna znajdować się w zasięgu Wi-Fi Arduino MKR 1010. Osoba ta potrzebuje również smartfona, aby wykonać proces. Przepływ pracy będzie przebiegał następująco…
- Punkt dostępu WI-FI zostanie utworzony przez Arduino MKR 1010.
- Osoba, która chce tokena, musi połączyć telefon z punktem dostępowym, który zostanie przekierowany do hosta lokalnego.
- Na tej stronie osoba musi wpisać swój numer telefonu. W tym momencie na dany numer zostanie wysłany kod OTP, aby go zweryfikować. Numer telefonu jest pobierany celowo w celu powiadomienia.
- Po zweryfikowaniu numeru telefonu token zostanie wyświetlony na hoście lokalnym.
- Kiedy nadejdzie jego / jej kolej, urządzenie (QMN) wyśle wiadomość z powiadomieniem do zainteresowanej osoby, aby wziąć swoją kolej.
To urządzenie faktycznie otrzymuje prośbę od ludzi i przekazuje im inteligentne tokeny. Do wysłania wiadomości używamy Twilio SMS API w urządzeniu QMN. Powiadomienie o turze można wysłać, naciskając przycisk w QMN.
Po wywołaniu wszystkich tokenów możesz wyczyścić pamięć, naciskając przycisk resetowania na Arduino MKR WiFi 1010.
Krok 4: Interfejs użytkownika
*) Po połączeniu z punktem dostępowym zostaniesz przekierowany na stronę podobną do pierwszej.
*) Po przesłaniu numeru telefonu otrzymasz OTP na ten numer. Następnie pokazuje stronę OTP, aby wprowadzić swój numer OTP.
*) Po przesłaniu prawidłowego OTP otrzymasz token na tej stronie tokena.
*) Jeśli wprowadziłeś zły OTP, pokaże on nieprawidłowy OTP.
*) Jeśli Twój numer otrzymał już token, poinformuje Cię, że już się zarejestrowałeś.
To wszystko o interfejsie użytkownika.
Niewiele wiem o HTML. Mój tata uatrakcyjnił te strony za pomocą CSS.
Krok 5: Przypadki użycia i zalety
Może być używany wszędzie, np. w szpitalach, sklepach i hotelach.
Zalety
- Do uzyskania tokenów nie jest wymagane połączenie internetowe
- Prosty, przyjazny dla użytkownika interfejs sieciowy.
- Powiadomienie natywnego urządzenia, gdy nadejdzie kolej.
- Brak fizycznych tokenów.
- Łatwy do wdrożenia.
- Bez zbędnego oczekiwania, pokaż się, gdy nadejdzie Twoja kolej.
Krok 6: Arduino MKR WiFi 1010
Mózgiem urządzenia jest Arduino MKR WiFi 1010. To najprostszy punkt wyjścia do projektowania podstawowych aplikacji IoT i piko-sieci. Głównym procesorem płyty jest 32-bitowy SAMD21 Arm® Cortex®-M0 małej mocy, podobnie jak w innych płytach z rodziny Arduino MKR. Łączność WiFi i Bluetooth® realizowana jest za pomocą modułu u-blox NINA-W10.
To urządzenie całkowicie opiera się na łączności Wi-Fi Arduino MKR WiFi 1010. Urządzenie wykorzystuje zarówno tryb AP (punkt dostępu), jak i tryb STA (stacja) modułu Wi-Fi. Urządzenie będzie inteligentnie przełączać się między tymi trybami, aby zapewnić prawidłowe działanie tego urządzenia.
Krok 7: Arduino IDE
Arduino IDE służy tutaj do programowania Arduino MKR WiFI 1010. Zajrzyj tutaj, aby rozpocząć pracę z urządzeniem. Do programowania Arduino MKR wifi 1010 użyj najnowszego środowiska Arduino IDE. Przed przystąpieniem do programowania sprawdź, czy jest dostępna najnowsza aktualizacja oprogramowania układowego dla urządzenia. Zajrzyj tutaj, aby dowiedzieć się, jak zaktualizować oprogramowanie.
Krok 8: Portal przechwytujący
W rzeczywistości tworzymy punkt dostępowy (AP) przez Arduino MKR WiFI 1010, do tego AP można podłączyć dowolne urządzenie (mobilne). Aby przejść do interfejsu internetowego w przeszłości, osoba musi wpisać adres IP lub nazwę hosta w przeglądarce. To prawie w porządku, ale użytkownik musi ręcznie wprowadzić adres IP lub nazwę hosta w przeglądarce. To naprawdę dziwna rzecz. Ale w tym przypadku urządzenie, które łączy się z QMN, zostanie automatycznie przekierowane do interfejsu internetowego za pośrednictwem Captive Portal. Tutaj Captive Portal odgrywa dużą rolę w zmniejszaniu wysiłku użytkownika. Istnieje wiele projektów Captive Portal z urządzeniami Espressif, niestety nie ma żadnego z biblioteką NINA. Ponieważ MKR WiFi 1010 korzysta z biblioteki NINA. W końcu znalazłem projekt w centrum Arduino, który używa Captive Portal jako kluczowych rzeczy przez JayV. Następnie zacząłem mój projekt, biorąc go jako kod podstawowy. To prawie działa dobrze.
To, co właściwie robimy, to ustawianie DNS i posiadanie punktu dostępowego (AP) - adres IP i sprawdzanie pierwszych (16) żądań DNS przez port UDP 53. Po sprawdzeniu pierwszych 16 żądań wyślemy odpowiedź na żądania DNS z przekierowanym adresem IP własnego Access Pointa. Następnie telefon automatycznie załaduje interfejs sieciowy przez przeglądarki internetowe. Efekt końcowy będzie taki, gdy urządzenie podłączone do określonego AP telefon automatycznie załaduje interfejs WWW. Serwer UDP i serwer WWW działają jednocześnie. Serwer WWW to prosta strona główna z przyciskiem formularza do wpisania numeru telefonu.
Krok 9: Twilio i rzeczy mówią
Niestety nie mam modułu GSM do wysyłania wiadomości. Do wysłania OTP i powiadomienia urządzenia potrzebujemy dowolnego SMS API. Więc w tym projekcie użyłem API SMS Twilio do wykonania zadania. Jak wiemy, aby API zadziałało musimy podać żądanie HTTP do serwera. Najpierw przekazałem Twilio normalne żądanie HTTP bez żadnego szyfrowania, ale Twilio nie uwzględniło mojego żądania. Potrzebują odcisków palców SSL, aby zapewnić bezpieczeństwo. Nie widziałem żadnych funkcji w bibliotekach NINA, które obsługują te SSL. Więc użyłem Thingsspeak, aby wywołać Twilio. Aby korzystać z tych usług, musisz zarejestrować się na obu platformach.
W Twilio utwórz nowy numer i będzie to numer, w którym wysłałeś dane. Otrzymasz bezpłatny kredyt w Twilio za wiadomości. W przypadku konta testowego musisz zweryfikować numery, w których chcesz przesłać dane.
Przejdź do Thingspeak.com, kliknij aplikacje, następnie ThingHTTP, a następnie New ThingHTTP. Spowoduje to przejście do strony konfiguracji. Musisz znaleźć swój identyfikator SID konta Twilio i token uwierzytelniania na stronie pulpitu nawigacyjnego Twilio.
- Nazwij to Twilio Wyślij SMS
- Adres URL to https://api.twilio.com/2010-04-01/Accounts/ID KONTA TWILIO/SMS/Wiadomości
- Nazwa użytkownika HTTP Auth to SID TWOJEGO KONTA TWILIO
- Hasło uwierzytelniające HTTP to TWÓJ TOKEN UWIERZYTELNIANIA TWILIO
- Ustaw metodę na POST
- Content-type to application/x-www-form-urlencoded
- Kliknij usuń nagłówki i pozostaw host puste
- Treść = Od=TWÓJ NUMER TWILIO&Do=%%number%%&Body=%%wiadomość%%
Kliknij Zapisz rzeczHTTP. Klucz API ThingHTTp powinien być zawarty w Arduino Sketch.
Krok 10: Tryb AP LUB STA
Wszystkie płyty Arduino posiadające moduł Nina pełnią jedną rolę na raz, tj. Tryb stacji lub tryb punktu dostępu. Aby wykonać zadanie, musimy stale przełączać się między tymi trybami. Po pierwsze, QMN będzie w trybie AP po otrzymaniu numeru, przełączy się w tryb STA do wysyłania OTP. Po wysłaniu OTP QMN przełączy się z powrotem do trybu AP. Jeśli osoba nacisnęła przycisk, QMN przełączy się w tryb STA w celu wysłania powiadomienia SMS. Następnie wróci do trybu AP. W celu udostępnienia połączenia internetowego przełączamy QMN na tryb STA. API SMS wymaga połączenia z Internetem.
Krok 11: 4-bitowy cyfrowy wyświetlacz LED w kształcie tuby TM1637 i przycisk
4-bitowy cyfrowy moduł wyświetlacza LED TM1637 jest niedrogim rozwiązaniem do wyświetlania danych wyjściowych wbudowanego projektu. Chociaż wyświetlane dane są ograniczone liczbami, nadal pozwala użytkownikom wyświetlać niektóre znaki, takie jak A, B, C itp. Aktualny numer tokena, który będzie uruchomiony, jest wyświetlany na tej 4-bitowej siedmiosegmentowej diodzie LED. Ten 7-segmentowy wyświetlacz LED Dsiplay ma 4 cyfry, które są kontrolowane przez układ sterownika TM1637. Wymaga tylko dwóch połączeń do sterowania tym 4-bitowym modułem wyświetlacza LED TM1637. Patrząc na ten wyświetlacz, każdy może łatwo zrozumieć numer Tokena. To jest prawdziwe zastosowanie tego urządzenia.
Do pracy z tym modułem potrzebna jest biblioteka o nazwie TM1637Display.h. Wystarczy pobrać bibliotekę stąd.
Tutaj przycisk służy do wywoływania tokenów. Użyłem modułu przycisku, dzięki czemu jest bardzo łatwy do zintegrowania. Tutaj przycisk jest w trybie pull-down. Możesz również łatwo wykonać moduł z rezystorem i przyciskiem.
Krok 12: Obwód
Układ jest bardzo prosty, nie składa się z żadnego skomplikowanego sprzętu. Wystarczy podłączyć zgodnie ze schematami. Najpierw wykonałem obwód na płytce stykowej. Potem połączyłem się ze zworami.
Krok 13: Sprawa
Dostałem tę skrzynkę z lokalnego sklepu. Po prostu wyciąłem mały kawałek z przodu, aby pokazać siedem segmentów prowadzących do pokazania żetonu. Mam też oderwany dwuczęściowy z boku, jeden pod przycisk, a drugi na kabel USB. Do dawania mocy dla węzła. Ta obudowa jest bardzo odpowiednia, wszystkie elementy są bardzo dobrze rozmieszczone.
Krok 14: Szkic Arduino
Wszystkie strony HTML pokazane w interfejsie są zapisane w pamięci flash Arduino MKR WiFi 1010. Do ich zapisania wykorzystałem narzędzie PROGMEM.
PROGMEM jest częścią biblioteki pgmspace.h. Jest automatycznie dołączany do nowoczesnych wersji IDE. Jeśli jednak używasz wersji IDE poniżej 1.0 (2011), najpierw musisz dołączyć bibliotekę u góry szkicu, w następujący sposób:
#włączać.
Chociaż PROGMEM może być używany z pojedynczą zmienną, to naprawdę jest warte zamieszania tylko wtedy, gdy masz większy blok danych, który musi być przechowywany, co zwykle jest najłatwiejsze w tablicy. Mamy tu duży blok danych, więc idziemy do tego.
Wszystkie pliki HTML są przechowywane w zakładce "source.h". Cały kod tego projektu można znaleźć tutaj. Wystarczy wgrać ten kod do urządzenia Arduino.
Krok 15: QMN…
Ostateczny wygląd urządzenia. Urządzenie jest gotowe do użycia. Po prostu włącz go za pomocą kabla USB i ciesz się!
Drugie miejsce w konkursie rodzinnym „Nie można tego dotknąć”
Zalecana:
Kask ochronny Covid, część 1: wprowadzenie do obwodów Tinkercad!: 20 kroków (ze zdjęciami)
Kask ochronny Covid, część 1: wprowadzenie do obwodów Tinkercad!: Witaj, przyjacielu! W tej dwuczęściowej serii nauczymy się korzystać z obwodów Tinkercad - zabawnego, potężnego i edukacyjnego narzędzia do nauki działania obwodów! Jednym z najlepszych sposobów uczenia się jest robienie. Dlatego najpierw zaprojektujemy nasz własny projekt: th
Licznik kroków - Micro:Bit: 12 kroków (ze zdjęciami)
Licznik kroków - Micro:Bit: Ten projekt będzie licznikiem kroków. Do pomiaru kroków użyjemy czujnika przyspieszenia wbudowanego w Micro:Bit. Za każdym razem, gdy Micro:Bit się trzęsie, dodamy 2 do licznika i wyświetlimy go na ekranie
Bolt - DIY Wireless Charging Night Clock (6 kroków): 6 kroków (ze zdjęciami)
Bolt - DIY Wireless Charging Night Clock (6 kroków): Ładowanie indukcyjne (znane również jako ładowanie bezprzewodowe lub ładowanie bezprzewodowe) to rodzaj bezprzewodowego przesyłania energii. Wykorzystuje indukcję elektromagnetyczną do dostarczania energii elektrycznej do urządzeń przenośnych. Najpopularniejszym zastosowaniem jest stacja ładowania bezprzewodowego Qi
Jak zdemontować komputer za pomocą prostych kroków i zdjęć: 13 kroków (ze zdjęciami)
Jak zdemontować komputer za pomocą prostych kroków i zdjęć: To jest instrukcja demontażu komputera. Większość podstawowych komponentów ma budowę modułową i jest łatwa do usunięcia. Jednak ważne jest, abyś był w tym zorganizowany. Pomoże to uchronić Cię przed utratą części, a także ułatwi ponowny montaż
Żetony na wózek na zakupy: 8 kroków
Żetony wózka na zakupy: - Ten samouczek pokaże Ci, jak stworzyć prosty, ale skuteczny żeton wózka na zakupy wycinany laserowo lub drukowany w 3D - Ten produkt jest poręczny, aby mieć go na kluczach lub jako prezent dla członków rodziny i przyjaciół. - Ten produkt jest najlepiej wykonany na Tinker CAD spec