Talaan ng mga Nilalaman:

Smart Parking Lot Paggamit ng Raspberry Pi: 5 Hakbang
Smart Parking Lot Paggamit ng Raspberry Pi: 5 Hakbang

Video: Smart Parking Lot Paggamit ng Raspberry Pi: 5 Hakbang

Video: Smart Parking Lot Paggamit ng Raspberry Pi: 5 Hakbang
Video: On the traces of an Ancient Civilization? 🗿 What if we have been mistaken on our past? 2024, Nobyembre
Anonim
Smart Parking Lot Gamit ang Raspberry Pi
Smart Parking Lot Gamit ang Raspberry Pi

Sa mga itinuturo na ito lilikha kami ng isang ganap na awtomatikong sistema ng paradahan na nakakonekta sa isang web interface. Makikita mo kung anong lugar ang kuha, magpasya kung sino ang papasok at kung sino ang lalabas at ito ay nilagyan ng isang awtomatikong sistema ng pag-iilaw.

Mga gamit

Hardware

  • 2x Ultrasonic sensor
  • 1x servo motor
  • 4x white LED's
  • 1x Banayad na nakasalalay na risistor
  • 1x 2 * 16 LCD Display

Computing

  • 1x Raspberry Pi 3 B +
  • 1x SD card (8-16GB ang pagpipilian ay iyo)
  • 1x Adafruit I2S 3W Class D Amplifier Breakout - MAX98357A
  • 1x MCP3008
  • 1x Resistor 2.2K Ohm
  • 9x Resistors 1K Ohm

Iba-iba

  • Jumper wires
  • Breadboard
  • UTP-cable
  • Adapter para sa iyong raspberry pi
  • Isang sheet ng multiplex (maaari mong gamitin ang anumang uri ng materyal na gusto mo para sa pambalot)
  • Isang baril na pandikit

Software

  • PuTTY
  • Software upang mai-edit ang code (maaari mong gamitin ang anumang gusto mo hangga't sumusuporta ito: Python, HTML, CSS at java script
  • Win32 Disk Imager
  • Larawan ng Raspbian OS
  • VNC Viewer (opsyonal)

Hakbang 1: I-setup ang RPI

Bago kami magsimula sa mga kable ng hardware, pagsulat ng

software at gawin ang pambalot na kakailanganin naming i-set up ang iyong PI gamit ang kinakailangang software na kakailanganin mo upang mapatakbo ang proyekto.

Kakailanganin mo ang isang imahe ng Raspbian upang ilagay sa iyong SD card at isulat ito sa SD card Win32 Disk Imager. Maaari kang makahanap ng mga link sa parehong pababa sa ibaba.

- Win32 Disk Imager:

- Larawan ng Raspbian:

Ang pag-install

  1. Buksan ang Win32 Disk Imager

    1. Piliin ang imaheng na-download mo lamang sa pamamagitan ng icon ng folder
    2. Piliin ang iyong SD card sa pamamagitan ng drop down
    3. Mag-click sa sumulat
    4. Kapag natapos ang proseso marahil ay tatanungin ka ng iyong computer kung nais mong i-format ang SD card huwag gawin ito

Kapag natapos ka sa mga hakbang na ito kakailanganin mong gumawa ng labis na mga bagay-bagay upang ma-access mo ang software ng iyong PI.

  1. Buksan ang SD card sa iyong explorer
  2. Buksan ang file na "cmdline.txt"
  3. Makakakita ka ng isang mahabang linya ng teksto sa dulo magdagdag: ip = 169.254.10.1
  4. I-save ang file
  5. Lumikha ng isang file na pinangalanang ssh na walang extension (kung hindi mo alam kung paano ito gawin mag-click lamang sa bagong file, pumili ng bagong file ng teksto tanggalin ang extension at pangalanan itong ssh)
  6. Ang huling hakbang ng bahaging ito ay upang ligtas na palabasin ang SD card at ilagay ito sa Raspberry PI

Kumokonekta

Kapag natapos mo na ang paggawa ng mga nakaraang hakbang oras na upang kumonekta sa iyong pi sa unang pagkakataon. Una kakailanganin mong i-plug in ang iyong UTP cable, isang dulo sa iyong computer ang isa pa sa iyong pi (mahalagang i-plug mo ang LAN cable bago mo ito mai-plug).

  1. I-install ang Putty:
  2. Kapag na-install mo ito buksan ito at ipasok ang 169.254.10.1 sa IP box
  3. Piliin ang SSH at punan ang port 22
  4. I-click ang bukas
  5. Punan ang username: pi at ang password raspberry ito ang karaniwang pag-login sa isang bagong imahe

Raspi-config

Bago tayo magpatuloy kakailanganin mong baguhin ang ilang mga setting sa menu ng raspi-config buksan ito sa pamamagitan ng paggamit:

sudo raspi-config

1. Paganahin ang I2C at SPI sa ilalim ng mga pagpipilian ito ang kategorya ng mga interface

2. Piliin ang iyong WIFI coutry sa pamamagitan ng kategorya ng lokalisasyon

3. Itakda ang setting ng Desktop / CLI sa kategorya ng mga pagpipilian sa boot sa Desktop Autologin.

4. Sa ilalim ng mga advanced na pagpipilian piliin ang A1 Palawakin ang Filesystem (tinitiyak nitong gagamitin mo ang puwang ng buong SD card

5. Ngayon exit at sudo reboot

Wifi

Panahon na upang i-setup ang iyong koneksyon sa wifi off course kakailanganin mo ang mga kredensyal ng iyong wifi.

Pumunta muna sa root mode sa pamamagitan ng pagpapatakbo ng utos na ito

Sudo -i

Ngayon mayroon kang mga karapatang kinakailangan upang mapatakbo ang mga utos na ito:

Tiyaking palitan ang SSID sa iyong pangalan ng wifi at PASSWORD sa iyong wifi password

Wpa_passphrase “SSID” “PASSWORD” >> /etc/wpa_supplicant/wpa_supplicant.conf

Ipasok ang WPA Client sa pamamagitan ng pagpapatakbo ng utos na ito:

wpa_cli

Piliin ang interface

Interface wlan0

I-reload ang config

I-configure muli

Huling ngunit hindi bababa sa suriin kung ito ay gumagana. Magagawa mo ito sa pamamagitan ng pagpasok:

Ip a

Dito maaari mong suriin kung mayroon kang isang ip sa ilalim ng mga interface ng WLAN0 kung hindi sudo reboot (hindi kailanman nabigo (:).

Kung hindi ka komportable na gawin ito sa pamamagitan ng linya ng utos maaari mo itong palaging gawin sa pamamagitan ng GUI ng Raspbian na medyo mas magiliw sa gumagamit.

  1. I-install ang VNC-viewer dito:
  2. Mag-click sa file, bagong koneksyon at ipasok ang IP-address bar: 169.254.10.1 at piliin ang anumang nais mong pangalan
  3. Punan ang username: pi at ang password raspberry
  4. I-click ang icon ng wifi at kumonekta sa ganoong paraan

Mga pakete

Ngayon na konektado kami sa internet maaari naming mai-install ang mga pakete na kailangan namin upang patakbuhin ang lahat ng code.

Una kailangan naming i-refresh ang listahan ng package sa pinakabagong sa pamamagitan ng pagpapatakbo:

sudo apt update

sudo apt mag-upgrade

Apache Webserver

Kakailanganin namin ang isang webserver upang mapatakbo ang aming web application. Maaari nating makamit ito sa pamamagitan ng pag-install ng apache webserver sa pamamagitan ng pagpapatakbo ng utos na ito:

sudo apt install apach2 -y

Mga pakete ng sawa

Upang magawa ang lahat ng bagay kakailanganin namin ng ilang mga pakete. Ito ang kakailanganin natin.

  • Prasko
  • Flask-Cors
  • Flask-Extension
  • Flask-MySQL
  • Flask-SocketIO
  • Python-socketio

Maaari mong mai-install ang mga ito sa pamamagitan ng pagpapatakbo ng utos na ito:

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

Hakbang 2: Database

Database
Database

MariaDB

Patakbuhin ang sumusunod na utos upang mai-install ang MariaDB ito ang database system na kinakailangan upang subaybayan ang lahat ng data na nabasa ng mga sensor.

sudo apt i-install ang mariadb-server

Ngayon kakailanganin naming i-secure ang aming pag-install

Mysql_secure_install

Kapag natakbo mo na ang utos hihilingin ito sa amin para sa isang root password na wala pa kaming isa kaya pindutin lamang ang enter.

Ngayon tatanungin ka namin kung nais mo ang isa para sa mga kadahilanang pangseguridad na nais namin ng isa kaya pindutin ang Y sa iyong keyboard at piliin ang anumang gusto mong password.

Ngayon ay magpapatuloy itong magtanong sa iyo ng ilan pang mga katanungan sagutin lamang ang Y sa kanilang lahat

Tama na ngayon na nagawa natin ito sa puntong ito kailangan nating pumunta sa shell ng SQL.

Upang magawa ito kailangan muna tayong maging ugat muli upang bigyan tayo ng mga pribilehiyo na gawin ito sa pamamagitan ng pagpasok muli sa utos na ito:

sudo -i

Ipasok ngayon ang shell ng MySQL

MySQL

Ngayon ay lilikha kami ng isang gumagamit na ilagay ang pangalan na gusto mo sa pagitan ng mga quote bago ang @ at ang password na gusto mo pagkatapos makilala ng

Ngayon kailangan nating i-flush ang talahanayan ng mga pahintulot sa pamamagitan ng pagpapatakbo ng utos na ito:

FLUSH PRIVILEGES;

Matapos mong makumpleto ang mga hakbang na ito maaari mong muling likhain ang db scheme mula sa larawan sa itaas. Unfortunatley Hindi kita mabibigyan ng isang pagtapon ng database dahil nakakaranas ako ng ilang mga error sa software.

Hakbang 3: Mga kable

Kable
Kable
Kable
Kable
Kable
Kable

Oras na upang gawin ang mga kable ng proyekto. Upang gawing mas madali ang proseso sa pamamagitan ng unang paggawa ng isang pamamaraan sa isang program na pinangalanang fritzing. Ginagawa ito ng Fritzing kaya't mas madaling likhain muli ang iyong mga kable sa totoong buhay at nakakuha ka ng isang malinaw na larawan ng iyong ginagawa.

Hakbang 4: Pabahay

Pabahay
Pabahay
Pabahay
Pabahay
Pabahay
Pabahay

Ang unang hakbang ay upang putulin ang kahoy sa mga hugis tulad ng nakikita sa pagguhit. Ginawa ko ito sa pamamagitan ng lasercutting ngunit ang isang normal na gabas ay gagana rin. Pagkatapos nito ay gugustuhin mong pintura ang kahoy na itim upang makuha ang kulay ng aspalto. Kapag ang pintura ay tuyo maaari mong pintura ang mga puting guhitan upang madama ang parking lot na iyon. Para sa bakod nagwilig ako ng mga lagyan ng dayami upang magmukhang mga likong poste. Para sa pag-fencing mismo ay nag-atached ako ng ilang mga goas sa mga poste. Ang hadlang ay gawa sa paer maché na spray ko sa kalaunan.

Hakbang 5: Pag-coding

Coding
Coding
Coding
Coding
Coding
Coding

Backend: Ang backend ng proyekto ay nakasulat sa Python at TSQL. Binabasa nito ang lahat ng data ng mga sensor at isinusulat ito sa database na nilikha namin nang medyo mas maaga pa. Nagpapatakbo din ito ng isang webserver upang maikonekta namin ang aming frontend dito. Sinulat ko ang kinakailangang code para sa backend sa pycharm ngunit ang offcourse maaari mo lamang gamitin ang anumang nais mo.

Maaari mong makita ang code para sa backend dito:

Frontend: Ang frontend ay nakasulat sa HTML, CSS at Javascript. Gumamit ako ng isang kumbinasyon ng visual studio code at phpstorm upang isulat ang code. Karaniwang sinusulat ng code ang buong website at sa mga file na javascript maaari mong makita ang kinakailangang code upang makuha ang data mula sa backend.

Maaari mong makita ang code para sa frontend dito:

Inirerekumendang: