Spisu treści:

Jak zbudować licznik ludzi za pomocą Raspberry Pi i Ubidots: 6 kroków
Jak zbudować licznik ludzi za pomocą Raspberry Pi i Ubidots: 6 kroków

Wideo: Jak zbudować licznik ludzi za pomocą Raspberry Pi i Ubidots: 6 kroków

Wideo: Jak zbudować licznik ludzi za pomocą Raspberry Pi i Ubidots: 6 kroków
Wideo: Raspberry Pi C64 2024, Czerwiec
Anonim
Jak zbudować licznik osób za pomocą Raspberry Pi i Ubidots
Jak zbudować licznik osób za pomocą Raspberry Pi i Ubidots
Jak zbudować licznik osób za pomocą Raspberry Pi i Ubidots
Jak zbudować licznik osób za pomocą Raspberry Pi i Ubidots

W tym prostym projekcie użyjemy czujnika ruchu, aby wykryć, czy obiekt przechodzi przed naszym Raspberry Pi. Następnie policzymy, ile razy to się zdarzy, i wyślemy tę wartość do Ubidots.

Liczniki osób są zazwyczaj drogimi urządzeniami używanymi w branży detalicznej, aby zrozumieć, jak zachowują się kupujący. Dzięki Raspberry Pi i Ubidots jesteśmy w stanie zbudować funkcjonalny licznik ludzi w kilka godzin i za kilka dolarów!

Po przesłaniu danych zliczających osoby do Ubidots, możemy tworzyć ładne wykresy do analizy, a także alerty SMS/e-mail.

Krok 1: Zdobycie odpowiednich materiałów

Zdobycie odpowiednich materiałów
Zdobycie odpowiednich materiałów
Zdobycie odpowiednich materiałów
Zdobycie odpowiednich materiałów
Zdobycie odpowiednich materiałów
Zdobycie odpowiednich materiałów
Zdobycie odpowiednich materiałów
Zdobycie odpowiednich materiałów

Aby ukończyć ten projekt, potrzebujesz:

  1. Raspberry Pi Model B
  2. Czujnik PIR firmy Parallax
  3. Klucz USB WiFi zgodny z Raspberry Pi
  4. Zestaw baterii USB do zasilania Raspberry Pi (jest to opcjonalne w przypadku, gdy chcesz pozostawić Pi całkowicie bezprzewodowe)
  5. Trzy przewody połączeniowe żeńsko-żeńskie
  6. Konto Ubidots - lub - Licencja STEM

Krok 2: Podłączanie rzeczy

Podłączanie rzeczy
Podłączanie rzeczy
Podłączanie rzeczy
Podłączanie rzeczy

Czujnik ruchu PIR jest dość prosty w obsłudze, ponieważ ma tylko trzy piny:

  • V+
  • GND
  • Pin sygnałowy, który wyprowadza „1”, gdy jest ruch i „0”, gdy nie ma.

Nie ma potrzeby lutowania czegokolwiek ani pisania skomplikowanych funkcji I2C lub szeregowych do wykrywania tego sygnału; po prostu podłącz kable bezpośrednio do pinów GPIO swojego Raspberry Pi i zadziała!

Krok 3: Obudowa

Obudowa
Obudowa
Obudowa
Obudowa

Ponieważ czujnik PIR jest bardzo czuły na ruch, użyłem przełącznika znajdującego się za nim, aby ustawić jak najniższą czułość. Wziąłem też stare etui z okularów przeciwsłonecznych i zrobiłem w nim dziurę, a następnie umieściłem w nim czujnik RPi i PIR. W ten sposób czujnik ruchu jest silnie skupiony w jednym punkcie, zamiast być tak wielokierunkowym.

Krok 4: Kodowanie RPi

W tym momencie założymy, że wykonałeś podstawową konfigurację swojego Raspberry Pi i patrzysz na jego wiersz poleceń Linuksa. Jeśli nie, zalecamy najpierw zapoznać się z tym przewodnikiem. Możesz również sprawdzić ten post na temat używania Wicd do konfiguracji WiFi swojego Raspberry Pi.

Zacznijmy od upewnienia się, że mamy wszystkie wymagane biblioteki:

$ sudo apt-get update $ sudo apt-get upgrade $ sudo apt-get install python-setuptools $ sudo easy_install pip $ pip zainstaluj ubidots

Utwórz nowy plik o nazwie „peoplecounter.py”:

$ sudo nano peoplecounter.py

I napisz do niego poniższy kod. Pamiętaj, aby zastąpić wartości klucza API i identyfikatora zmiennej tymi z Twojego osobistego konta Ubidots. (Uwaga: kod nie jest zbyt elegancki, ale hej, nie jestem programistą w Pythonie, tylko facetem od sprzętu:)

Skrypt składa się z pętli, która sprawdza stan pinu nr 7 (czujnika ruchu). Jeśli odczyta „1”, co oznacza, że był ruch, zwiększa zmienną „liczba osób” i czeka 1,5 sekundy, aby czujnik ruchu wrócił do normy. Odbywa się to 10 razy, upewniając się, że między każdym cyklem jest co najmniej 1 sekunda, a następnie wysyła całkowitą sumę „ruchów” do Ubidots. Jeśli potrzebujesz skalibrować licznik osób, powinieneś pobawić się liniami "time.sleep" z innymi wartościami.

z ubidots importuj ApiClient

importuj RPi. GPIO jako GPIO

czas importu

GPIO.setmode(GPIO. BCM)

GPIO.setup(7, GPIO. IN)

próbować:

api =ApiClient("a21ebaf64e14d195c0044fcc3b9f6dab9d653af3")

ludzie = api.get_variable("5238cec3f91b282c7357a140")

z wyjątkiem: print "Nie można połączyć się z API, sprawdź połączenie internetowe"

licznik = 0

ludziev = 0

podczas (1):

obecność = GPIO.input(7)

jeśli (obecność):

liczba osób += 1

obecność = 0

czas.sen(1.5)

czas.sen(1)

licznik += 1

jeśli(licznik==10):

drukuj liczbę osób

people.save_value({'value':liczba osób})

licznik = 0

ludziev = 0

Krok 5: Wyświetl swoje dane

Wyświetl swoje dane
Wyświetl swoje dane
Wyświetl swoje dane
Wyświetl swoje dane
Wyświetl swoje dane
Wyświetl swoje dane
Wyświetl swoje dane
Wyświetl swoje dane

Na koniec przejdź do pulpitu nawigacyjnego Ubidots i dodaj widżet typu „Oświadczenie”. Spowoduje to wyświetlenie całkowitej liczby osób wykrytych w określonym przedziale czasowym

Krok 6: Podsumowanie

Zawijanie
Zawijanie

Ten projekt daje wskazówkę, ile osób przechodzi przez dany punkt. Nie podaje dokładnej liczby osób, biorąc pod uwagę ograniczenia czujnika ruchu, ale w niektórych aplikacjach może to wystarczyć.

Zebrane dane można łatwo przesłać do chmury Ubidots, gdzie można je zinterpretować, tworząc alerty, pulpity na żywo, a nawet udostępniając te dane w mediach społecznościowych, jako kod do osadzenia lub po prostu w publicznym linku. Możesz również odczytać te dane z innej aplikacji za pomocą interfejsu API Ubidots.

Zalecana: