Мазмуну:

Raspberry Pi колдонулган акылдуу унаа токтоочу жай: 5 кадам
Raspberry Pi колдонулган акылдуу унаа токтоочу жай: 5 кадам

Video: Raspberry Pi колдонулган акылдуу унаа токтоочу жай: 5 кадам

Video: Raspberry Pi колдонулган акылдуу унаа токтоочу жай: 5 кадам
Video: Вздулся аккумулятор 2024, Июль
Anonim
Raspberry Pi менен акылдуу унаа токтоочу жай
Raspberry Pi менен акылдуу унаа токтоочу жай

Бул көрсөтмөлөрдө биз веб -интерфейске туташкан толук автоматтык паркинг системасын түзөбүз. Сиз кайсы жердин алынганын көрө аласыз, ким кирип, ким чыгып жатканын чече аласыз жана ал автоматтык жарык берүү тутуму менен жабдылган.

Жабдуулар

Аппараттык

  • 2x УЗИ сенсорлору
  • 1x servo мотор
  • 4x ак LED
  • 1x Жарыкка көз каранды резистор
  • 1x 2*16 ЖК дисплей

Эсептөө

  • 1x Raspberry Pi 3 B+
  • 1x SD карта (8-16 ГБ тандоо сиздики)
  • 1x Adafruit I2S 3W Class D Amplifier Breakout - MAX98357A
  • 1x MCP3008
  • 1х резистор 2.2K Ом
  • 9x резисторлор 1K Ом

Ар түрдүү

  • Өткөргүч зымдар
  • Breadboard
  • UTP кабели
  • Сиздин малина pi үчүн адаптер
  • Мультиплекстин барагы (корпус үчүн каалаган материалды колдонсоңуз болот)
  • Желим курал

Программалык камсыздоо

  • PuTTY
  • Кодду түзөтүү үчүн программалык камсыздоо (сиз каалаган нерсени колдоно аласыз: Python, HTML, CSS жана java скрипти)
  • Win32 диск иштетүүчү
  • Raspbian OS сүрөтү
  • VNC Viewer (милдеттүү эмес)

1 -кадам: RPI орнотуу

Аппаратты зым менен баштоого чейин, жазуу

программалык камсыздоо жана корпусту жасоо, биз сиздин ПИни керектүү программалык камсыздоону орнотушуңуз керек, сиз долбоорду иштетишиңиз керек болот.

SD картаңызды тагуу жана аны Win32 Disk Imager SD картасына жазуу үчүн сизге Raspbianдын сүрөтү керек болот. Төмөндө экөөнө тең шилтемелерди таба аласыз.

- Win32 Disk Imager:

- Raspbian сүрөтү:

Орнотуу

  1. Win32 Disk Imager программасын ачыңыз

    1. Папка сүрөтчөсү аркылуу жаңы эле түшүрүлгөн сүрөттү тандаңыз
    2. Ылдый түшүп SD картаңызды тандаңыз
    3. Жазууну басыңыз
    4. Процесс аяктагандан кийин, компьютериңиз, балким, SD картаны форматтоону кааласаңыз, муну жасабаңыз

Бул кадамдарды бүтүргөндөн кийин, сиз ПИнин программасына кирүү үчүн кошумча нерселерди жасашыңыз керек болот.

  1. SD картаңызды изилдөөчүңүздөн ачыңыз
  2. "Cmdline.txt" файлын ачыңыз
  3. Сиз аягында тексттин узун сабын көрөсүз: ip = 169.254.10.1
  4. Файлды сактаңыз
  5. Кеңейтүүсү жок ssh аттуу файлды түзүңүз (эгер муну кантип жасоону билбесеңиз, жаңы файлды чыкылдатыңыз, жаңы текст файлын тандап, кеңейтүүнү жок кылыңыз жана ага ssh деп ат коюңуз)
  6. Бул бөлүктүн акыркы кадамы - SD картаны коопсуз чыгарып, Raspberry PIге салуу

Туташууда

Мурунку кадамдарды жасап бүткөндөн кийин, пиңизге биринчи жолу туташуу убактысы келди. Алгач сиз UTP кабелиңизди, бир учуңузду компьютериңиздин экинчи учун пиңизге туташтырышыңыз керек (аны туташтыруудан мурун LAN кабелин туташтыруу маанилүү).

  1. Putty орнотуу:
  2. Аны орноткондон кийин, аны ачып, IP кутусуна 169.254.10.1 киргизиңиз
  3. SSH тандап, порт 22 толтуруңуз
  4. Ачууну басыңыз
  5. Колдонуучунун атын толтуруңуз: pi жана малинанын сырсөзү - бул жаңы сүрөттөгү стандарттык логин

Raspi-config

Биз өтүүдөн мурун, raspi-config менюсунда бир нече орнотууларды өзгөртүүгө туура келет:

sudo raspi-config

1. Интерфейстер категориясы боюнча I2C жана SPIди иштетүү

2. Локалдаштыруу категориясы аркылуу WIFI кутуңузду тандаңыз

3. Жүктөө параметрлери категориясындагы Desktop/CLI орнотуусун Desktop Autologin деп коюңуз.

4. Өркүндөтүлгөн тандоолордун астында A1 кеңейтүү файл тутумун тандаңыз (бул бүт SD картасынын мейкиндигин колдонгонуңузга ишендирет

5. Эми чыгуу жана sudo кайра жүктөө

WiFi

Эми Wi -Fi туташууңузду жөндөө убактысы келди, сизге wifi'ңиздин грамоталары керек болот.

Алгач бул буйрукту иштетүү менен тамыр режимине өтүңүз

Sudo -i

Эми сизде бул буйруктарды иштетүү үчүн керектүү укуктар бар:

SSIDди wifi атыңызга жана PASSWORDту wifi сырсөзүңүзгө өзгөртүүнү унутпаңыз

Wpa_passphrase "SSID" "PASSWORD" >> /etc/wpa_supplicant/wpa_supplicant.conf

Бул буйрукту иштетүү менен WPA Кардарын киргизиңиз:

wpa_cli

Интерфейсти тандаңыз

Интерфейс wlan0

Конфигурацияны кайра жүктөңүз

Кайра конфигурациялоо

Акыр -аягы, ал иштегенин текшерип көрүңүз. Сиз муну киргизип жасай аласыз:

Ip a

Бул жерде сизде WLAN0 интерфейстеринин астында ip барбы же жокпу текшере аласыз, эгер sudo өчүрүлбөсө (эч качан иштебейт (:).

Эгерде сиз муну буйрук сабы аркылуу аткарууга ыңгайсыз болсоңуз, анда аны Raspbian GUI аркылуу жасай аласыз, бул колдонуучуга бир аз ыңгайлуу.

  1. VNC-Viewerди бул жерге орнотуңуз:
  2. Файлды, жаңы байланышты чыкылдатыңыз жана IP-дарек тилкесине кириңиз: 169.254.10.1 жана каалаган атын тандаңыз
  3. Колдонуучунун атын толтуруңуз: pi жана малина
  4. Wi -Fi сүрөтчөсүн чыкылдатып, ошол жол менен туташыңыз

Пакеттер

Эми биз интернетке туташкандан кийин, биз бардык кодду иштетүү үчүн керектүү пакеттерди орното алабыз.

Биринчиден, биз иштетүү менен пакеттердин тизмесин акыркы тизмеге жаңыртуубуз керек:

sudo apt update

sudo apt upgrade

Apache Webserver

Веб тиркемени иштетүү үчүн бизге веб -сервер керек болот. Биз бул буйрукту иштетүү менен apache веб -серверин орнотуу менен жетише алабыз:

sudo apt install apach2 -y

Python пакеттери

Баарын иштетүү үчүн бизге бир топ пакеттер керек болот. Булар бизге керек боло турган нерселер.

  • Колба
  • Flask-Cors
  • Flask-Extension
  • Flask-MySQL
  • Flask-SocketIO
  • Python-socketio

Сиз аларды бул буйрукту иштетүү менен орното аласыз:

пип орнотуу Flask Flask-Cors Flask-Extension Flask-MySQL Flask-SocketIO python-socketio

2 -кадам: Маалыматтар базасы

Маалыматтар базасы
Маалыматтар базасы

MariaDB

MariaDB орнотуу үчүн төмөнкү буйрукту иштетиңиз, бул сенсорлор окуган бардык маалыматтарды көзөмөлдөө үчүн керектүү маалымат базасы.

sudo apt install mariadb-server

Эми биз орнотууну камсыз кылышыбыз керек

Mysql_secure_installation

Сиз буйрукту иштеткенден кийин, ал бизден азырынча жок болгон тамыры сырсөзүн сурайт, андыктан enter баскычын басыңыз.

Эми ал сизден коопсуздугуңуз үчүн каалайсызбы деп сурайт, андыктан клавиатурада Y баскычын басып, каалаган сырсөзүңүздү тандаңыз.

Эми ал сизге дагы бир нече суроолорду берүүнү уланта берет, алардын баарына Y деп жооп бериңиз

Жарайт, азыр биз ушул жерге жеткенден кийин, SQL кабыгына киришибиз керек.

Муну кылуу үчүн, адегенде, бул буйрукту кайра киргизип, бизге артыкчылыктарды берүү үчүн кайра тамырлашыбыз керек:

sudo -i

Эми mysql кабыгын киргизиңиз

mysql

Эми биз @ белгисине чейин тырмакчалардын ортосуна каалаган ысымды коюп, сиз белгилегенден кийин каалаган сырсөздү колдонуучу түзөбүз.

Эми биз бул буйрукту иштетүү менен уруксаттар столун тазалашыбыз керек:

FLUSH артыкчылыктары;

Бул кадамдарды аткаргандан кийин, жогорудагы сүрөттөн db схемасын кайра түзсөңүз болот. Тилекке каршы, мен сизге базанын таштандысын бере албайм, анткени мен программалык камсыздоонун кээ бир каталарын сезип жатам.

3 -кадам: Кабелдөө

Электр өткөргүчтөрү
Электр өткөргүчтөрү
Электр өткөргүчтөрү
Электр өткөргүчтөрү
Электр өткөргүчтөрү
Электр өткөргүчтөрү

Эми долбоордун зымдарын тартуу убактысы келди. Биринчиден fritzing аттуу программанын схемасын түзүү менен процессти бир аз жеңилдетүү үчүн. Fritzing муну кылат, ошондуктан реалдуу жашоодо зымдарды калыбына келтирүү оңой болот жана сиз эмне кылып жатканыңызды так элестетесиз.

4 -кадам: Турак жай

Турак жай
Турак жай
Турак жай
Турак жай
Турак жай
Турак жай

Биринчи кадам жыгачты чиймеде көрүнгөндөй кылып кесүү. Мен муну лазер менен кестим, бирок кадимки араа дагы ошондой иштейт. Андан кийин асфальт түсүн алуу үчүн жыгачты кара түскө боёгуңуз келет. Боёк кургатылгандан кийин, сиз ак тилкелерди боёп, ошол паркингди сезе аласыз. Мен тосмого окшош мамыларга окшоштуруу үчүн боёлгон самандарды чачам. Фехтование үчүн мен мамыларга кээ бир гозаларды коштум. Шлагбаум кийинчерээк боёлгон paer machéден жасалган.

5 -кадам: Коддоо

Coding
Coding
Coding
Coding
Coding
Coding

Backend: Долбоордун арткы бөлүгү Python жана TSQL тилдеринде жазылган. Ал сенсорлордун бардык маалыматтарын окуп чыгып, бир аз мурда биз түзгөн маалымат базасына жазат. Ал ошондой эле веб -серверди иштетет, андыктан биз өзүбүздүн фронттубузду ага туташтыра алабыз. Мен арткы бетке керектүү кодду pycharmда жазгам, бирок сиз каалаган нерсеңизди колдонсоңуз болот.

Сиз backend кодун бул жерден таба аласыз:

Frontend: Frontend HTML, CSS жана Javascriptте жазылган. Мен кодду жазуу үчүн визуалдык студия коду менен phpstormдун айкалышын колдондум. Код негизинен веб -сайтты толугу менен жазат жана JavaScript файлдарында сиз маалыматты арткы жактан алуу үчүн керектүү кодду таба аласыз.

Бул жерде алдыңкы кодду таба аласыз:

Сунушталууда: