Obsah:
2025 Autor: John Day | [email protected]. Naposledy změněno: 2025-01-13 06:57
V tomto jednoduchém projektu použijeme pohybový senzor k detekci, zda objekt prochází před naším Raspberry Pi. Potom spočítáme, kolikrát se to stane, a odešleme tuto hodnotu Ubidots.
Počitadla lidí jsou obvykle drahá zařízení používaná v maloobchodě, aby pochopili, jak se zákazníci chovají. Díky Raspberry Pi a Ubidots jsme schopni postavit funkční počítadlo lidí za pár hodin a za pár peněz!
Jakmile odešleme data počítání lidí do Ubidots, můžeme vytvořit pěkné grafy pro analýzu a také upozornění na SMS/E -mail.
Krok 1: Získání správných materiálů
K dokončení tohoto projektu budete potřebovat:
- Raspberry Pi Model B
- Senzor PIR od Paralaxy
- USB WiFi dongle kompatibilní s Raspberry Pi
- Sada baterií USB pro napájení Raspberry Pi (to je volitelné v případě, že chcete ponechat Pi zcela bezdrátové)
- Tři propojovací vodiče žena-žena
- Účet Ubidots - nebo - licence STEM
Krok 2: Zapojení věcí
Pohybový senzor PIR se velmi snadno používá, protože má pouze tři kolíky:
- V+
- GND
- Signální pin, který vydává „1“, když je pohyb, a „0“, když není pohyb.
K detekci tohoto signálu není třeba nic pájet ani psát složité I2C nebo sériové funkce; stačí zapojit kabely přímo do pinů GPIO vašeho Raspberry Pi a bude to fungovat!
Krok 3: Pouzdro
Protože je PIR senzor velmi citlivý na pohyb, použil jsem propojovací spínač za ním k nastavení nejnižší možné citlivosti. Také jsem vzal staré pouzdro ze slunečních brýlí a udělal do něj díru, pak jsem do něj umístil RPi a PIR senzor. Tímto způsobem se pohybový senzor vysoce zaostřil v jednom bodě, místo aby byl tak všesměrový.
Krok 4: Kódování RPi
V tomto okamžiku budeme předpokládat, že jste provedli základní nastavení svého Raspberry Pi a díváte se na jeho příkazový řádek Linux. Pokud ne, doporučujeme si nejprve projít tuto příručku. Můžete si také přečíst tento příspěvek o použití Wicdu k nastavení WiFi vašeho Raspberry Pi.
Začněme tím, že se ujistíme, že máme všechny požadované knihovny:
$ sudo apt-get update $ sudo apt-get upgrade $ sudo apt-get install python-setuptools $ sudo easy_install pip $ pip install ubidots
Vytvořte nový soubor s názvem „peoplecounter.py“:
$ sudo nano peoplecounter.py
A napište do něj níže uvedený kód. Nezapomeňte nahradit hodnoty klíče API a ID proměnné hodnotami ve vašem osobním účtu Ubidots. (Poznámka: kód není příliš elegantní, ale hej, nejsem vývojář Pythonu, jen hardwarový typ:)
Skript se skládá ze smyčky, která kontroluje stav pinu #7 (pohybový senzor). Pokud čte „1“, což znamená, že došlo k pohybu, pak zvýší proměnnou „počet lidí“a čeká 1,5 sekundy, aby se pohybový senzor vrátil do normálu. To se provádí 10krát, přičemž se ujistěte, že mezi každým cyklem je alespoň 1 sekunda, poté odešle celkový součet „pohybů“do Ubidots. Pokud potřebujete zkalibrovat People Counter, měli byste si pak pohrát s řádky „time.sleep“s jinými hodnotami.
z ubidots importujte ApiClient
importujte RPi. GPIO jako GPIO
čas importu
GPIO.setmode (GPIO. BCM)
GPIO.setup (7, GPIO. IN)
Snaž se:
api = ApiClient ("a21ebaf64e14d195c0044fcc3b9f6dab9d653af3")
people = api.get_variable ("5238cec3f91b282c7357a140")
kromě: tisk „Nelze se připojit k API, zkontrolujte připojení k internetu“
čítač = 0
peoplev = 0
zatímco (1):
prezence = GPIO.input (7)
pokud (přítomnost):
počet lidí += 1
přítomnost = 0
time.sleep (1.5)
time.sleep (1)
čítač += 1
if (counter == 10):
vytisknout počet lidí
people.save_value ({'value': peoplecount})
čítač = 0
peoplev = 0
Krok 5: Zobrazte svá data
Nakonec přejděte na hlavní panel Ubidots a přidejte widget typu „Prohlášení“. Zobrazí se celkový počet detekovaných osob v zadaném časovém rámci
Krok 6: Zabalení
Tento projekt poskytuje náznak množství lidí procházejících konkrétním bodem. Vzhledem k omezením pohybového senzoru neposkytuje přesný počet lidí, ale v některých aplikacích to může stačit.
Shromážděná data lze snadno odeslat do cloudu Ubidots, kde je lze interpretovat vytvářením výstrah, živých řídicích panelů nebo dokonce sdílením těchto dat na sociálních médiích, jako vložený kód nebo jen ve veřejném odkazu. Tato data můžete také přečíst z jiné aplikace pomocí rozhraní Ubidots API.