Obsah:

Chytré parkoviště využívající Raspberry Pi: 5 kroků
Chytré parkoviště využívající Raspberry Pi: 5 kroků

Video: Chytré parkoviště využívající Raspberry Pi: 5 kroků

Video: Chytré parkoviště využívající Raspberry Pi: 5 kroků
Video: JAK HACKNOUT AUTO Security Series E1 | WWW.TESLACEK.TV & BESECURED.CZ 2024, Listopad
Anonim
Chytré parkoviště využívající Raspberry Pi
Chytré parkoviště využívající Raspberry Pi

V tomto návodu vytvoříme plně automatický parkovací systém připojený k webovému rozhraní. Budete mít možnost vidět, jaké místo je obsazeno, rozhodnout, kdo jde dovnitř a kdo zhasne, a je vybaven systémem automatického osvětlení.

Zásoby

Hardware

  • 2x ultrazvukové senzory
  • 1x servomotor
  • 4x bílé LED diody
  • 1x odpor závislý na světle
  • 1x 2*16 LCD displej

Výpočetní

  • 1x Raspberry Pi 3 B+
  • 1x SD karta (8-16 GB výběr je na vás)
  • 1x Adafruit I2S 3W zesilovač třídy D Breakout - MAX98357A
  • 1x MCP3008
  • 1x rezistor 2.2K Ohm
  • 9x Rezistory 1K Ohm

Rozličný

  • Propojovací vodiče
  • Prkénko
  • UTP kabel
  • Adaptér pro vaše malinové pi
  • List multiplexu (na plášť můžete použít jakýkoli druh materiálu, který chcete)
  • Lepicí pistole

Software

  • Tmel
  • Software pro úpravu kódu (můžete použít cokoli chcete, pokud to podporuje: skript Python, HTML, CSS a java
  • Imager disku Win32
  • Obraz operačního systému Raspbian
  • Prohlížeč VNC (volitelně)

Krok 1: Nastavení RPI

Než začneme s zapojováním hardwaru, napište

software a vyrobíme plášť, který budeme potřebovat k nastavení vašeho PI s potřebným softwarem, který budete potřebovat k spuštění projektu.

K vložení karty SD a její zápisu na kartu Win32 Disk Imager budete potřebovat obrázek Raspbian. Odkazy na oba najdete níže.

- Win32 Disk Imager:

- Raspbian image:

Instalace

  1. Otevřete Win32 Disk Imager

    1. Vyberte obrázek, který jste právě stáhli, pomocí ikony složky
    2. V rozevíracím seznamu vyberte kartu SD
    3. Klikněte na napsat
    4. Po dokončení procesu se vás počítač pravděpodobně zeptá, zda chcete naformátovat kartu SD, nedělejte to

Až budete s těmito kroky hotovi, budete muset udělat nějaké další věci, abyste měli přístup k softwaru vašeho PI.

  1. Otevřete kartu SD v průzkumníku
  2. Otevřete soubor „cmdline.txt“
  3. Na konci přidáte dlouhý řádek textu: ip = 169.254.10.1
  4. Uložte soubor
  5. Vytvořte soubor s názvem ssh bez přípony (pokud nevíte, jak to udělat, klikněte na nový soubor, vyberte nový textový soubor, odstraňte příponu a pojmenujte jej ssh)
  6. Posledním krokem této části je bezpečné vysunutí karty SD a vložení do Raspberry PI

Spojovací

Když dokončíte předchozí kroky, je čas se poprvé připojit k vašemu pi. Nejprve budete muset zapojit kabel UTP, jeden konec do počítače a druhý do zásuvky (důležité je, abyste před zapojením zapojili kabel LAN).

  1. Nainstalujte tmel:
  2. Jakmile jej nainstalujete, otevřete jej a do pole IP zadejte 169.254.10.1
  3. Vyberte SSH a vyplňte port 22
  4. Klikněte na otevřít
  5. Vyplňte uživatelské jméno: pi a heslo malina toto je standardní přihlášení ke zbrusu novému obrázku

Raspi-config

Než budeme pokračovat, budete muset změnit několik nastavení v nabídce raspi-config, otevřete ji pomocí:

sudo raspi-config

1. Povolte I2C a SPI v možnostech kategorie rozhraní

2. Vyberte svou WIFI coutry prostřednictvím kategorie lokalizace

3. Nastavte nastavení Desktop/CLI v kategorii možností spuštění na Desktop Autologin.

4. V části Pokročilé možnosti vyberte A1 Rozbalit souborový systém (tím zajistíte, že využijete místo na celé kartě SD

5. Nyní ukončete a restartujte sudo

Wifi

Nyní je čas nastavit připojení k WiFi mimo kurz, budete potřebovat přihlašovací údaje k wifi.

Nejprve přejděte do kořenového režimu spuštěním tohoto příkazu

Sudo -i

Nyní máte práva potřebná ke spuštění těchto příkazů:

Ujistěte se, že jste změnili SSID na své wifi jméno a PASSWORD na vaše wifi heslo

Wpa_passphrase „SSID“„HESLO“>> /etc/wpa_supplicant/wpa_supplicant.conf

Zadejte klienta WPA spuštěním tohoto příkazu:

wpa_cli

Vyberte rozhraní

Rozhraní wlan0

Znovu načtěte konfiguraci

Přenastavit

V neposlední řadě zkontrolujte, zda to fungovalo. To lze provést zadáním:

IP a

Zde můžete zkontrolovat, zda máte IP pod rozhraními WLAN0, pokud ne sudo restart (nikdy neselže (:).

Pokud vám to nedělá dobře z příkazového řádku, můžete to vždy provést pomocí grafického uživatelského rozhraní Raspbian, které je trochu uživatelsky přívětivější.

  1. Nainstalujte si prohlížeč VNC zde:
  2. Klikněte na soubor, nové připojení a zadejte do řádku adresy IP: 169.254.10.1 a vyberte libovolné jméno, které chcete
  3. Vyplňte uživatelské jméno: pi a heslo malina
  4. Klikněte na ikonu wifi a připojte se tímto způsobem

Balíčky

Nyní, když jsme připojeni k internetu, můžeme nainstalovat balíčky, které potřebujeme ke spuštění celého kódu.

Nejprve budeme muset aktualizovat seznam balíčků na nejnovější spuštěním:

sudo apt aktualizace

sudo apt upgrade

Webový server Apache

K provozu naší webové aplikace budeme potřebovat webový server. Toho můžeme dosáhnout instalací webového serveru apache spuštěním tohoto příkazu:

sudo apt install apach2 -y

Balíčky Pythonu

Aby vše fungovalo, budeme potřebovat několik balíčků. To jsou ty, které budeme potřebovat.

  • Baňka
  • Baňky-Cors
  • Prodloužení baňky
  • Flask-MySQL
  • Flask-SocketIO
  • Python-socketio

Můžete je nainstalovat spuštěním tohoto příkazu:

pip install Flask Flask-Cors Flask-Extension Flask-MySQL Flask-SocketIO python-socketio

Krok 2: Databáze

Databáze
Databáze

MariaDB

Spuštěním následujícího příkazu nainstalujete MariaDB, což je databázový systém, který je nutný ke sledování všech dat, která čidla čtou.

sudo apt nainstalovat mariadb-server

Nyní budeme muset zajistit naši instalaci

Mysql_secure_installation

Jakmile spustíte příkaz, požádá nás o heslo root, které ještě nemáme, takže stiskněte klávesu Enter.

Nyní se vás zeptá, jestli ho chcete z bezpečnostních důvodů chceme, takže na klávesnici stiskněte Y a vyberte si jakékoli heslo, které chcete.

Nyní vám bude pokládat několik dalších otázek, na všechny odpovězte Y

Dobře, když jsme se dostali do tohoto bodu, musíme přejít do prostředí SQL.

Abychom to mohli udělat, musíme se nejprve znovu stát rootem, abychom nám udělili oprávnění k tomu opětovným zadáním tohoto příkazu:

sudo -i

Nyní zadejte shell mysql

mysql

Nyní vytvoříme uživatele, který vloží požadované jméno mezi uvozovky před znak @ a požadované heslo po identifikaci

Nyní musíme vyprázdnit tabulku oprávnění spuštěním tohoto příkazu:

FLUSH PRIVILEGES;

Po dokončení těchto kroků můžete znovu vytvořit schéma db z obrázku výše. Bohužel vám nemohu dát výpis databáze, protože dochází k některým chybám softwaru.

Krok 3: Zapojení

Elektrické vedení
Elektrické vedení
Elektrické vedení
Elektrické vedení
Elektrické vedení
Elektrické vedení

Nyní je čas provést zapojení projektu. Aby byl tento proces trochu jednodušší, nejprve vytvořte schéma v programu s názvem fritzing. Díky fritzování je snazší znovu vytvořit kabeláž v reálném životě a získáte jasný obraz o tom, co děláte.

Krok 4: Bydlení

Bydlení
Bydlení
Bydlení
Bydlení
Bydlení
Bydlení

Prvním krokem je řezání dřeva ve tvarech, jak je vidět na výkresu. Udělal jsem to laserovým řezáním, ale normální pila bude fungovat stejně dobře. Poté budete chtít dřevo natřít černou barvou, aby získala asfaltovou barvu. Jakmile barva zaschne, můžete namalovat bílé pruhy, abyste získali pocit z parkoviště. Na plot jsem nastříkal malované brčka, abych vypadal jako tyče. K samotnému oplocení jsem k pólům připojil několik goasů. Bariéra je vyrobena z paer maché, které jsem později nastříkal.

Krok 5: Kódování

Kódování
Kódování
Kódování
Kódování
Kódování
Kódování

Backend: Backend projektu je napsán v Pythonu a TSQL. Přečte všechna data ze senzorů a zapíše je do databáze, kterou jsme vytvořili o něco dříve. Také běží webový server, takže k němu můžeme připojit náš frontend. Napsal jsem kód potřebný pro backend v pycharm, ale offcourse můžete prostě použít, co chcete.

Kód pro backend najdete zde:

Frontend: Frontend je napsán v HTML, CSS a Javascriptu. K napsání kódu jsem použil kombinaci kódu Visual Studio a phpstorm. Kód v podstatě zapisuje celý web a v souborech javascriptu najdete kód potřebný k získání dat z backendu.

Kód pro frontend najdete zde:

Doporučuje: