Spisu treści:

Połączona bransoletka orientacyjna: 6 kroków
Połączona bransoletka orientacyjna: 6 kroków

Wideo: Połączona bransoletka orientacyjna: 6 kroków

Wideo: Połączona bransoletka orientacyjna: 6 kroków
Wideo: "Nie zaznam spokoju, dopóki policja go nie złapie." - Historia Teresity Basy 2024, Listopad
Anonim
Połączona bransoletka orientacji
Połączona bransoletka orientacji

Ten akademicki projekt, połączona bransoletka orientacyjna, został zrealizowany przez czterech studentów ze szkoły inżynierskiej Polytech Paris-UPMC: Sébastiena Poteta, Pauline Pham, Kevina Antunesa i Borisa Brasa.

Jaki jest nasz projekt?

W ciągu jednego semestru musieliśmy stworzyć połączoną bransoletkę, z której będzie korzystał biegacz. Jego tor wyścigu będzie zorientowany kilkoma punktami, w których będzie tagował, a to pozwoli na zarejestrowanie jego przebiegu. Dane te będą przechowywane w chmurze w czasie rzeczywistym.

Ten produkt może podać temperaturę, wilgotność i orientację. Ponadto mamy trzy przyciski, w tym jeden, który wysyła pozycję GPS w przypadku problemów biegacza (przycisk SOS), dlatego potrzebujemy go w czasie rzeczywistym. Drugi pozwala oznaczyć, a ostatni wyłączyć bransoletkę, ponieważ chcemy produktu o małej mocy.

Mieliśmy budżet w wysokości 120 €. Aby zrealizować połączoną bransoletkę orientacyjną, postępuj zgodnie z naszym samouczkiem!

Krok 1: Potrzebny materiał

Potrzebny materiał
Potrzebny materiał
Potrzebny materiał
Potrzebny materiał
Potrzebny materiał
Potrzebny materiał

Lista komponentów:

- STM32L432KC-Nucleo Ultra Low Power

- Moduł SigFox TD1208

- Czytnik RFID 125 kHz

- Czujnik temperatury/wilgotności HTU21D

- Moduł akcelerometru 3-osiowy ADXL345

- Moduł kompasu 3-osiowy HMC5883L

- Ekran OLED ADA938

- Moduł GPS Grove 31275

- Bateria 1,5 V LR6

- Regulator naciągu Pololu 3,3V U1V11F3

- Niektóre przyciski sterujące

Krok 2: Część programowania

Część programowania
Część programowania

Przede wszystkim zaprogramowaliśmy każdy komponent za pomocą strony deweloperskiej mbed. Do tego wykorzystaliśmy mikrokontroler STM32L476RG-Nucleo o niskim zużyciu energii.

Ekran, czujnik temperatury/wilgotności i kompas działają w komunikacji I²C. Czytnik RFID oraz akcelerometr pracują w komunikacji szeregowej. Dla każdego komponentu trzeba było dodać własną bibliotekę.

W przypadku czujnika temperatury/wilgotności, kompasu i akcelerometru należy wywołać określoną funkcję w ich bibliotece, aby uzyskać dane.

Czytnik RFID działa na komunikacji szeregowej, należy użyć funkcji "getc()", ponieważ tag zwraca dane w postaci znaków.

Wszystkie kody dostępne są w postaci pliku, z wyjątkiem kodu ekranu OLED.

Krok 3: Montaż elektroniczny

Montaż elektroniczny
Montaż elektroniczny

Po zaprogramowaniu każdego komponentu wzięliśmy płytkę labdec i podłączyliśmy je do STM32L432KC-Nucleo. Postępuj zgodnie ze schematem okablowania w załączniku, aby zmontować wszystkie komponenty, lub każdy PIN jest wyszczególniony na zespole kodu.

Dodaliśmy trzy przyciski z trzema rezystancjami 10 kiloomów: jeden wysyłający pozycję GPS w przypadku niebezpieczeństwa, jeden do włączania/wyłączania, a ostatni do umożliwienia biegaczowi oznaczenia punktu. Dodaliśmy brzęczyk po naciśnięciu przycisku SOS.

Plik "braceletOrientation" w załączniku to nasz projekt na Fritzing. To jest plik podsumowujący nasze komponenty i nasze okablowanie zarówno na labdecu, jak i na płytce drukowanej. Ponadto dodaliśmy kod montażowy wszystkich komponentów.

Krok 4: Akwizycja danych

Pozyskiwanie danych
Pozyskiwanie danych
Pozyskiwanie danych
Pozyskiwanie danych
Pozyskiwanie danych
Pozyskiwanie danych

Płyta kartonowa

Actoboard to narzędzie oparte na dashboardzie. Wyświetla wszystkie dane wysłane przez moduł Sigfox. Następnie za pośrednictwem adresu URL wyśle te dane do węzła nodered w celu umieszczenia ich w bazie danych.

Wyślij dane:

Aby przesłać dane za pomocą kodu, należy w pierwszej kolejności zadeklarować PIN (Tx, Rx) modułu Sigfox (widać to w naszym kodzie). Następnie dzięki temu poleceniu: "sigfox.printf("AT$SF=%02X%02X%02X%02X%02X%02X \r\n", lat_deg, long_deg, lat_10s, long_10s, lat_100s, long_100s);", ten przykład wysyła dane GPS do Actoboard.

Odbierz dane:

Po skonfigurowaniu źródeł danych w związku z modułem Sigfox, musisz ustawić format danych do otrzymywania danych z kodu. Dla tego samego przykładu niż wcześniej (GPS) musisz ustawić format danych w następujący sposób: "lat_deg::uint:8 long_deg::uint:8 lat_10s::uint:8 long_10s::uint:8 lat_100s::uint:8 long_100s::uint:8".

Uważaj na rodzaj i liczbę bitów, musisz mieć dokładnie taką samą długość. Dlatego polecam rzucić swoje dane w swoim kodzie w ten sposób: "lat_deg = (int8_t)lat_deg;".

Uważaj też na liczbę cyfr, w tym przykładzie przesyłamy tylko dane z maksymalnie 2 cyframi. Ale jeśli chcesz przesłać większe dane, takie jak „%04X”, możesz wiedzieć, że Actoboard odwróci cyfrę. Na przykład, jeśli prześlesz 0x3040, Actoboard zrozumie 0x4030. Musisz więc odwrócić cyfrę przed wysłaniem formatu danych, który przekracza 2 cyfry.

Edytuj panel:

Aby edytować dane w Dashboard na Actoboard, wystarczy dodać widżet. Istnieje lista widżetów, musisz wybrać ten, który najlepiej odpowiada Twojemu systemowi. A potem wystarczy wybrać, które dane będą wypełniać dany widżet.

Prześlij do nodered:

Aby przesłać wszystkie dane, które otrzymujesz na Actoboard do węzła nodered za pośrednictwem adresu URL, wystarczy wypełnić pole „adres URL przekazywania” w ustawieniach adresem URL projektu nodered. Na przykład wypełniliśmy pole "https://noderedprojet.mybluemix.net/projet".

Krok 5: Baza danych

Baza danych
Baza danych
Baza danych
Baza danych
Baza danych
Baza danych
Baza danych
Baza danych

Bluemix

  • Węzłowy:
  • Odbierz dane z Actoboard

Aby uzyskać dane z Actoboard, musisz dodać wejście „websocket”, które musisz ustawić metodą „POST” i podać swój adres URL (przykład na zdjęciu).

Formatowanie danych

Musisz wyodrębnić dane, które chcesz dodać do swojej bazy danych (cloudant) i sformatować je. w tym celu musisz dodać blok "funkcja". Zobacz zdjęcie w załączniku, aby dowiedzieć się, jak to zrobić.

Możesz dodać geometrię do mapy, na przykład dostaliśmy funkcję, która dodaje punkt ze współrzędnymi GPS na mapie i łączy je. Używamy tej funkcji do tworzenia wyścigu, a następnie przełączamy inną funkcję, która utworzy wielokąt wokół punktu, jeśli sprawdzisz TAG RFID.

Wyślij do cloudanta

Po sformatowaniu danych musisz je przesłać do swojej bazy danych cloudant. W tym celu musisz dodać blok pamięci „chmura” i określić ustawienia, takie jak nazwa bazy danych, operacja „wstaw” patrz nasz przykład w załączniku.

Nie zapomnij "Wdrożyć" swojego węzła, aby system działał.

Chmury:

W Twojej bazie danych Cloudant możesz teraz zobaczyć wszystkie dane, które wysłałeś za pomocą sigfoxa i formatowanie w węźle czerwonym. Możesz wybrać, które informacje chcesz zobaczyć, takie jak „data, urządzenie, TAG RFID, GPS”.

I możesz zwizualizować geometrię, którą stworzyłeś w funkcji węzła w menu "GPS Geospatial Indexes"

Krok 6: Demonstracja

Podsumowując, mieliśmy cztery interfejsy człowiek-maszyna sterowane czterema przyciskami.

Podstawowy interfejs wskazuje temperaturę, wilgotność, numer breloka, chronometr i kierunek magnetyczny.

Na jednym z przycisków akcji znajdziesz prawdziwy kompas interfejsu. Na ekranie zostanie narysowany okrąg z dobrze ustawionym kierunkiem.

Przy innej akcji przycisku wyślesz wiadomość SOS, która wyśle Twoją lokalizację do bazy danych. Ponadto usłyszysz wiadomość SOS w kodzie Morse'a.

Ponadto po ostatnim naciśnięciu przycisku obudzisz tag RFID. Następnie masz pięć sekund na oznaczenie swojego punktu przecięcia. Wtedy usłyszysz sygnał dźwiękowy. Akcja ta zwiększa licznik na wyświetlaczu i wysyła tag z czasem w naszej bazie danych. Na koniec wszystkie tagi narysują jazdę na mapie.

Autonomia naszego zegarka to około 4h30 (około 660mA/h). Zależy to od sprawdzanego numeru tagu.

Podsumowując po wyścigu, wszystkie działania biegaczy znajdziesz w naszej bazie danych bluemix.

Zalecana: