Mundarija:

Raspberry Pi yordamida aqlli avtoturargoh: 5 qadam
Raspberry Pi yordamida aqlli avtoturargoh: 5 qadam

Video: Raspberry Pi yordamida aqlli avtoturargoh: 5 qadam

Video: Raspberry Pi yordamida aqlli avtoturargoh: 5 qadam
Video: Мини компьютер Raspberry Pi 4 что это и зачем? Что можно собрать на его основе? RetroPie прошивка 2024, Noyabr
Anonim
Raspberry Pi yordamida aqlli avtoturargoh
Raspberry Pi yordamida aqlli avtoturargoh

Ushbu qo'llanmada biz veb -interfeysga ulangan to'liq avtomatik to'xtash tizimini yaratamiz. Siz qaysi joyni olganingizni ko'rishingiz, kim kirishi va kim chiqishini aniqlashingiz mumkin va u avtomatik yoritish tizimi bilan jihozlangan.

Ta'minotlar

Uskuna

  • 2 x Ultrasonik sensorlar
  • 1x servo dvigatel
  • 4x oq LED
  • 1x Yorug'likka bog'liq qarshilik
  • 1x 2*16 LCD displey

Hisoblash

  • 1x Raspberry Pi 3 B+
  • 1 x SD-karta (8-16 Gb-tanlov sizniki)
  • 1x Adafruit I2S 3W D sinfidagi kuchaytirgichning uzilishi - MAX98357A
  • 1x MCP3008
  • 1x rezistor 2.2K Ohm
  • 9x rezistorlar 1K Ohm

Har xil

  • Jumper simlari
  • Non paneli
  • UTP kabeli
  • Sizning malina pi uchun adapter
  • Multipleks varag'i (siz korpus uchun xohlagan materialdan foydalanishingiz mumkin)
  • Yelimli qurol

Dasturiy ta'minot

  • PuTTY
  • Kodni tahrirlash uchun dasturiy ta'minot (Python, HTML, CSS va java skriptlari qo'llab -quvvatlansa, xohlagan narsani ishlatishingiz mumkin).
  • Win32 disk qidiruvchisi
  • Raspbian OS tasvir
  • VNC Viewer (ixtiyoriy)

1 -qadam: RPIni sozlash

Uskunani ulashni boshlashdan oldin, uni yozing

dasturiy ta'minot va korpusni tayyorlang, biz sizning PI -ni loyihani ishga tushirish uchun zarur bo'lgan dasturiy ta'minot bilan sozlashimiz kerak bo'ladi.

SD kartani qo'yish va uni Win32 Disk Imager SD kartasiga yozish uchun sizga Raspbian tasviri kerak bo'ladi. Siz ikkalasiga havolalarni quyida topishingiz mumkin.

- Win32 Disk Imager:

- Raspbian tasviri:

O'rnatish

  1. Win32 disk qidiruvchisini oching

    1. Yangi yuklangan rasmni papka belgisi orqali tanlang
    2. Ochiladigan ro'yxat orqali SD -kartangizni tanlang
    3. Yozishni bosing
    4. Jarayon tugagandan so'ng, sizning kompyuteringiz, agar siz SD -kartani formatlamoqchi bo'lsangiz, buni qilmang

Ushbu qadamlarni bajarganingizdan so'ng, siz PI dasturiy ta'minotiga kirishingiz uchun qo'shimcha narsalarni qilishingiz kerak bo'ladi.

  1. Explorer -da SD -kartani oching
  2. "Cmdline.txt" faylini oching.
  3. Oxirida matnning uzun qatorini ko'rasiz: ip = 169.254.10.1
  4. Faylni saqlang
  5. Kengaytmasi bo'lmagan ssh nomli fayl yarating (agar buni bilmasangiz, yangi faylni bosing, yangi matnli faylni tanlang, kengaytmani o'chirib tashlang va uni ssh deb nomlang)
  6. Ushbu qismning oxirgi bosqichi - SD -kartani xavfsiz chiqarib, Raspberry PI -ga joylashtirish

Ulanmoqda

Oldingi qadamlarni bajarishni tugatganingizdan so'ng, pi -ga birinchi marta ulanish vaqti keldi. Birinchidan, siz UTP kabelini, bir uchini kompyuterning ikkinchi uchini pi -ga ulashingiz kerak (uni ulashdan oldin LAN kabelini ulash muhim).

  1. Putty -ni o'rnating:
  2. O'rnatgandan so'ng uni oching va IP maydoniga 169.254.10.1 kiriting
  3. SSH -ni tanlang va 22 -portni to'ldiring
  4. Ochish -ni bosing
  5. Foydalanuvchi nomini kiriting: pi va malina - bu yangi rasmdagi standart login

Raspi-config

Davom etishdan oldin siz raspi-config menyusidagi bir nechta sozlamalarni o'zgartirishingiz kerak bo'ladi:

sudo raspi-config

1. I2C va SPI ni interfeyslar toifasiga kiriting

2. Mahalliylashtirish toifasi orqali WIFI -ni tanlang

3. Yuklash imkoniyatlari toifasidagi Desktop/CLI sozlamalarini Desktop Autologin -ga o'rnating.

4. Kengaytirilgan variantlar ostida A1 kengaytirilgan fayl tizimini tanlang (bu butun SD -kartaning bo'sh joyidan foydalanganingizga ishonch hosil qiladi

5. Endi chiqish va sudo -ni qayta ishga tushirish

Wifi

Endi Wi -Fi ulanishini sozlash vaqti keldi, sizga Wi -Fi ma'lumotlari kerak bo'ladi.

Avval ushbu buyruqni ishlatib, ildiz rejimiga o'ting

Sudo -i

Endi siz ushbu buyruqlarni bajarish uchun zarur bo'lgan huquqlarga egasiz:

SSID -ni Wi -Fi nomiga va parolni parolga o'zgartirganingizga ishonch hosil qiling

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

Ushbu buyruqni bajarish orqali WPA mijozini kiriting:

wpa_cli

Interfeysni tanlang

Interfaol wlan0

Konfiguratsiyani qayta yuklang

Qayta sozlash

Oxir -oqibat, u ishlaganligini tekshirib ko'ring. Buni kiritish orqali qilishingiz mumkin:

Ip a

Bu erda siz WLAN0 interfeyslari ostida ip borligini tekshirishingiz mumkin, agar sudo qayta yuklanmasa (hech qachon bajarilmaydi (:).

Agar siz buni buyruq satri orqali bajarishni xohlamasangiz, uni har doim Raspbian GUI orqali qilishingiz mumkin, bu foydalanuvchilar uchun qulayroq.

  1. VNC-tomoshabinni bu erga o'rnating:
  2. Faylni, yangi ulanishni bosing va IP-manzil satriga kiring: 169.254.10.1 va kerakli nomni tanlang
  3. Foydalanuvchi nomini kiriting: malina va pi
  4. Wi -Fi belgisini bosing va shu tarzda ulaning

Paketlar

Endi Internetga ulanganimizdan so'ng, biz barcha kodni ishga tushirishimiz kerak bo'lgan paketlarni o'rnatishimiz mumkin.

Birinchidan, biz ishga tushirish orqali paketlar ro'yxatini yangilashimiz kerak bo'ladi.

sudo apt yangilash

sudo apt upgrade

Apache veb -server

Veb -ilovani ishga tushirish uchun bizga veb -server kerak bo'ladi. Bunga apache veb -serverini o'rnatish orqali erishish mumkin:

sudo apt install apach2 -y

Python paketlar

Hamma ishni bajarish uchun bizga bir nechta paket kerak bo'ladi. Bular bizga kerak bo'ladi.

  • Shisha
  • Flask-Cors
  • Shishani kengaytirish
  • Flask-MySQL
  • Shisha-rozetka
  • Python-soket

Siz ularni quyidagi buyruq yordamida o'rnatishingiz mumkin:

pip o'rnatish Flask Flask-Cors Flask-Extension Flask-MySQL Flask-SocketIO python-socketio

2 -qadam: ma'lumotlar bazasi

Ma'lumotlar bazasi
Ma'lumotlar bazasi

MariaDB

MariaDB -ni o'rnatish uchun quyidagi buyruqni bajaring - bu sensorlar o'qigan barcha ma'lumotlarni kuzatib borish uchun zarur bo'lgan ma'lumotlar bazasi tizimi.

sudo apt install mariadb-server

Endi biz o'rnatishni xavfsiz qilishimiz kerak

Mysql_secure_installation

Siz buyruqni bajarganingizdan so'ng, bizdan root parolini so'raydi, bizda hali yo'q, shuning uchun Enter tugmasini bosing.

Endi u sizdan xavfsizlik nuqtai nazaridan xohlaysizmi, deb so'raydi, shuning uchun biz klaviaturadagi Y tugmachasini bosing va kerakli parolni tanlang.

Endi u sizga yana bir nechta savol berishni davom ettiradi, hammasiga Y ga javob bering

Xo'sh, biz hozir etib kelganimizdan so'ng, SQL qobig'iga o'tishimiz kerak.

Buni amalga oshirish uchun, avvalo, biz bu buyruqni qayta kiritish orqali bizga imtiyozlar berish uchun yana ildiz otishimiz kerak:

sudo -i

Endi MySQL qobig'iga kiring

mysql

Endi biz foydalanuvchini yaratmoqchi bo'lamiz, siz xohlagan ismni @ oldidagi tirnoq orasiga va kerakli parolni belgilaganidan keyin qo'ying.

Endi biz ushbu buyruqni bajarish orqali ruxsatnomalar jadvalini tozalashimiz kerak:

YUQARISH IMKONIYATLARI;

Ushbu qadamlarni bajarganingizdan so'ng, yuqoridagi rasmdagi db sxemasini qayta tiklashingiz mumkin. Afsuski, men sizga ma'lumotlar bazasini tashlay olmayman, chunki men dasturiy ta'minotdagi ba'zi xatolarga duch kelyapman.

3 -qadam: simlarni ulash

Ulanish
Ulanish
Ulanish
Ulanish
Ulanish
Ulanish

Endi loyihaning simlarini ulash vaqti keldi. Fritzing deb nomlangan dasturda sxemani tuzib, jarayonni biroz osonlashtirish uchun. Fritzing simlarni real hayotda qayta tiklashni osonlashtiradi va siz nima qilayotganingiz haqida aniq tasavvurga ega bo'lasiz.

4 -qadam: uy -joy

Uy -joy
Uy -joy
Uy -joy
Uy -joy
Uy -joy
Uy -joy

Birinchi qadam, rasmda ko'rinib turganidek, yog'ochni kesishdir. Men buni lazer kesish orqali qildim, lekin oddiy arra ham xuddi shunday ishlaydi. Shundan so'ng siz asfalt rangini olish uchun yog'ochni qora rangga bo'yashni xohlaysiz. Bo'yoq quriganidan so'ng, siz oq chiziqlarni bo'yashingiz mumkin, shunda mashinalar joyini his qilishingiz mumkin. Devorga men ustunlarga o'xshash bo'lishi uchun bo'yalgan somon sepaman. Qilichbozlik uchun men qutblarga bir nechta goa qo'ydim. To'siq, men keyinroq bo'yalgan purkagichdan qilingan.

5 -qadam: kodlash

Kodlash
Kodlash
Kodlash
Kodlash
Kodlash
Kodlash

Orqa tomon: Loyihaning orqa qismi Python va TSQL -da yozilgan. U sensorlarning barcha ma'lumotlarini o'qiydi va biz biroz oldin yaratgan ma'lumotlar bazasiga yozib qo'yadi. Bundan tashqari, u veb -serverni ishga tushiradi, shuning uchun biz unga frontendni ulashimiz mumkin. Men pycharmda orqa qism uchun kerakli kodni yozdim, lekin siz xohlagan narsani ishlatishingiz mumkin.

Orqa fon kodini bu erda topishingiz mumkin:

Frontend: frontend HTML, CSS va Javascript -da yozilgan. Kodni yozish uchun Visual studio kodi va phpstorm kombinatsiyasidan foydalandim. Kod asosan butun veb -saytni yozadi va javascript fayllarida siz ma'lumotni orqa tomondan olish uchun kerakli kodni topishingiz mumkin.

Siz frontend kodini bu erda topishingiz mumkin:

Tavsiya: