Агуулгын хүснэгт:
- Алхам 1: Тоног төхөөрөмжийг Pi руу холбох
- Алхам 2: Үндсэн програмуудыг кодлох
- Алхам 3: Мэдээллийн сан үүсгэх
- Алхам 4: Тоног төхөөрөмжийн кодчилол
Видео: Beargardian: 5 алхам
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:04
Хөөе сургуулийн хүүхдүүд ээ, надад төслийн санаа хэрэгтэй байсан. Тиймээс би энэ нь бөөрөлзгөнө пи бүхий төсөл байх ёстой гэж бодож байсан бөгөөд энэ нь орон нутгийнх юм. Гэнэт надад гайхалтай санаа төрсөн бөгөөд энэ санаагаа яаж олж авсныг надаас асуугаагүй ч хүүхдийн мониторыг шинэчлэх талаар бодсон. Энэ санааг нэг хором бодоод үзээрэй, ихэнх нярай хүүхдийн монитор нь хүүхдийн өрөөг сонсох чадвартай байдаг.
Онцлог шинж чанарууд
- Тохируулах өнгө бүхий бяцхан гэрлийн шоу
- Танд амьд зургийг харуулдаг камер
- Хөгжим тоглуулах чанга яригч
- Хүүхдийн хөдөлгөөнийг мэдрэх мэдрэгч
- Энэ бүхэн вэбсайт дээр харагдаж байна
Богино мэдээлэл
Үүнийг богино хувилбараар тайлбарлая. Тиймээс бидэнд вэбсайт хэрэгтэй бөгөөд энэ төслийн хувьд би Колбыг ашиглаж байна, бидэнд бас мэдээллийн сан хэрэгтэй, би mysql -ийг ашиглаж байна, энэ нь техник хангамжийг ажиллуулдаг скрипт бөгөөд энэ нь python (3) -тэй бөгөөд хамгийн сүүлд бидэнд серверийн тохиргоо хэрэгтэй болно. Энэ нь PI дээрх nginx байх болно.
Бидэнд юу хэрэгтэй байна
- Raspberry Pi 3
- Алсын хөдөлгүүр 28BYJ
- Stepmotor драйверын чип ULN2003 stepper модуль
- 330Ohm 3 эсэргүүцэлтэй rgb LED
- Pi NoIR камер V2
- HC-SR04 хэт авианы мэдрэгч
- Ardiuno -ийн микро модуль
- MAX98357A
- Чанга яригч 8 Ом
- Мөн баавгай худалдаж авахаа бүү мартаарай
Бөөрөлзгөнө pi тохируулах ----------------------------------------------- -------------------------------------------------- --------------------------
Эхлээд бид Pi -г тохируулах хэрэгтэй. Шаваасаар нэвтрэх ажлыг аль хэдийн эхлүүлээрэй, хэрэв танд шаваас байхгүй бол би үүнийг татаж авахыг зөвлөж байна, зүгээр л Pi -ийн статик ip -ийг ssh ашиглан бичээрэй. Хэрэв та Raspberry Pi -ээ суулгах шаардлагатай бол надад муу мэдээ байна, би үүнийг энэ төсөлд тайлбарлаагүй байна.
Багц суулгах
sudo apt update
sudo apt install -y python3-venv python3-pip python3-mysqldb mysql-server uwsgi nginx uwsgi-plugin-python3
Виртуал орчин
python3 -m pip install -pip setuptools wheel virtualenv -ийг сайжруулах
mkdir {таны төслийн хавтасны нэр} && cd {таны төслийн хавтасны нэр} python3 -m venv --system-site-packages env source env/bin/python -m pip-ийг идэвхжүүлэх mysql-connector-python argon2-cffi колбо колбо-HTTPAuth Flask- MySQL mysql-connector-python нэвтрэх
Одоо та төслийн хавтсан дахь git репозиторийг хуулбарлах хэрэгтэй
github.com/NMCT-S2-Project-I/Project-I.git
Хэрэв та өөрийн төслийн хавтсыг харвал 5 хавтас харах ёстой
- conf
- env
- мэдрэгч
- кв
- вэб
Мэдээллийн сан
sudo systemctl status mysql
ss -lt | grep mysql sudo mysql
мэдээллийн санд бүх давуу эрх бүхий хэрэглэгч үүсгэж, мэдээллийн баазаа бүрдүүлэх
'нууц үг' -ээр тодорхойлогдсон хэрэглэгчийн 'хэрэглэгч'@'localhost' үүсгэх;
өгөгдлийн сангийн нэрээ үүсгэх; өгөгдлийн баазын нэр дээрх бүх давуу эрхийг олгоно.
Серверийн конф файлууд
Uwsgi-flask.ini-д та 'module =…' -г 'module = web: app' болгон өөрчилж, өөрийн үүсгэсэн виртуал сүлжээний замыг өөрчилнө. Бусад файлууд дээр та лавлахынхаа абсолют замуудын замыг өөрчлөх хэрэгтэй.
Үүнийг олж мэдсэний дараа та файлуудаа зөв газар байрлуулж болно.
sudo cp conf/project1-*. service/etc/systemd/system/
sudo systemctl демон-дахин ачаалах sudo systemctl start project1-* sudo systemctl төлөвийн төсөл1-*
одоо бид үүнийг боломжтой болгох ёстой
sudo cp conf/nginx/etc/nginx/sites-available/project1
sudo rm/etc/nginx/sites-enabled/default sudo ln -s/etc/nginx/sites-available/project1/etc/nginx/sites-enabled/project1 sudo systemctl restart nginx.service sudo nginx -t
Хэрэв бүх зүйл сайн болсон бол та энэ тушаалаар сайн байна уу
wget -qO - localhost
Дууссан! Энэ бол таны системийг ажиллуулах хэсэг юм …
Алхам 1: Тоног төхөөрөмжийг Pi руу холбох
BCM ашиглан
аудио MAX98357A
- BCIO -аас GPIO 18 хүртэл
- GPIO 21 -ийн өгөгдөл
- LRCK - GPIO 19
гэрэл
- улаан GPIO 17 хүртэл
- GPIO 27 руу ногоон
- GPIO 22 хүртэл цэнхэр
мотор модуль ULN2003
- 1 -ийг GPIO 5 руу холбоно уу
- 2 -р зүүг GPIO 6 руу холбоно уу
- 3 -р зүүг GPIO 13 руу холбоно уу
- 4 -р зүүг GPIO 26 руу холбоно уу
бичил
D0 - GPIO 21
хэт авианы мэдрэгч
- GPIO 16 руу шилжих
- GPIO 20 руу цуурайтах
Алхам 2: Үндсэн програмуудыг кодлох
Би энд дэлгэрэнгүй мэдээлэл өгөхгүй байна, гэхдээ та github дээр миний кодыг шалгаж болно.
Эхлэхийн тулд би html, css, индекс, нэвтрэх, бүртгүүлэх, гэрийн дэлгэц, хөгжим, addmusic, addbear, гэрэл, камер, камерын тохиргоо, мэдрэгч, хяналтын самбарын хуудсыг хийсэн. Html файлууд нь загварууд болон css файлууд нь static/css хавтсанд байх ёстой. Та CSS -ийг хүссэнээрээ бүрэн тохируулах боломжтой.
Хэрэв та энэ хэсгийг хийсэн бол колбыг тохируулах хэрэгтэй. Колбо нь сайн уу ертөнцийн жишээг ашиглахад хялбар байдаг
Эхэндээ # импортын колбо
колбоны импортоос * @app.route ('/') def index (): render_template буцах ('index.html')
Одоо миний кодонд үүнийг аль хэдийн бөглөсөн байгаа бөгөөд таны хийх ёстой цорын ганц зүйл бол мэдээллийн сангийн хэрэглэгч болон нууц үгийг өөрөөсөө өөрчилж, мэдээж github дээрээс олж болох мэдээллийн баазаа хийх явдал юм.
Алхам 3: Мэдээллийн сан үүсгэх
Жинхэнэ шүтэн бишрэгчдийн хувьд би ижил мэдээллийн санг хэрхэн бий болгох талаар танд хэлэх болно.
Тиймээс, хэрэв та эхний алхам дээр хийгээгүй бол бид эхлээд мэдээллийн санг бий болгох хэрэгтэй.
beargardian мэдээллийн сан үүсгэх;
Үүнийг хийсний дараа та хүснэгтийг mysql workbench эсвэл phpadmin дээр үүсгэж болно
хэрэглэгчийн хүснэгт байна
- хэрэглэгчийн ID
- Нэр
- овог
- имэйл илгээх
- хүүхдийн нэр
- sha1 бүхий нууц үг
- хэрэглэгчийн хавтас
- playmusic (int)
- тоглоомын гэрэл (int)
- тоглох бичлэг (int)
хөгжмийн ширээ байна
- хөгжим ID
- дуу
- зам
- хэрэглэгчийн хавтас
- байдал
- эзлэхүүн
бичлэгийн хүснэгт байна
- бичлэг ID
- зам
- хэрэглэгчийн хавтас
- цаг
- өдөр
өнгөний хүснэгт байна
- colorID
- улаан
- ногоон
- хөх
- тод байдал
- хэрэглэгчийн ID
баавгайн ширээ байна
- bearID (аравтын бутархай (8))
- userID анхдагч null
- овог нэр
мэдрэгчийн хүснэгт байдаг
- мэдрэгч ID
- зай
- бичил
- баавгай
- цаг
- өдөр
- унтах цаг
Одоо та мэдээллийн санг амжилттай бүтээсэн тул тоног төхөөрөмж рүүгээ явцгаая.
Алхам 4: Тоног төхөөрөмжийн кодчилол
Би жаахан код үзүүлээд яагаад ийм зүйл хийснээ хэлье.
Эхлэхийн тулд би энэ урсгалд туйлын чухал зүйл байх ёстой. Урсгал гэж юу вэ, хммм сайхан асуулт байна! Питон дээр аюул заналхийлж байгаа зүйл бол олон програмыг нэгэн зэрэг ажиллуулах явдал юм. Тиймээс, хэрэв та жишээ нь өнгөө өөрчилвөл бичлэг хийх боломжтой. Хэрэглэхэд хялбар, санаа зоволтгүй.
import _threaddef function_name (ямар нэг зүйл, ямар нэгэн зүйл): ажиллуулах код
_thread.start_new_thread (функцын_ нэр, функцүүдийн_хувьсагчуудтай хамт)
Хэрэв та миний програмыг харсан бол logger.info ('…') харагдсан. Энэ бол хэвлэх функц боловч илүү дээр юм, учир нь Pi дээр та ямар ч зүйлийг хэвлэж чадахгүй тул би файл хийж тэнд хэвлэдэг. Yoe бүртгэлийн файлыг энэ кодоор тохируулж болно.
logger = logging.getLogger (_ нэр _) logger.setLevel (logging. INFO) # файл зохицуулагч үүсгэх = logging. FileHandler ('logger.log') handler.setLevel (logging. INFO)
# бүртгэлийн формат үүсгэх
форматлагч = бүртгэл хийх
# зохицуулагчийг бүртгэгч рүү нэмнэ үү
logger.addHandler (зохицуулагч)
logger.info ('техник хангамжийг эхлүүлэх / n ---------------------------------------')
Цаашлаад код өөрөө би бүх зүйлийг тайлбарлаж өгдөг.
Зөвлөмж болгож буй:
Ухаалаг мотоциклийн HUD прототип (алхам алхмаар навигаци хийх гэх мэт): 9 алхам
Ухаалаг мотоциклийн HUD прототип (ээлжлэн навигаци хийх гэх мэт): Сайн байна уу! Энэхүү зааварчилгаа нь миний мотоциклийн дуулга дээр суурилуулах зориулалттай HUD (Heads-Up Display) платформыг хэрхэн бүтээж, бүтээсэн тухай түүх юм. Үүнийг " газрын зураг " уралдааны хүрээнд бичсэн болно. Харамсалтай нь би үүнийг бүрэн дуусгаж чадаагүй
Arduino машины урвуу зогсоолын дохиоллын систем - Алхам алхамаар: 4 алхам
Arduino машины урвуу зогсоолын дохиоллын систем | Алхам алхамаар: Энэ төсөлд би Arduino UNO болон HC-SR04 хэт авианы мэдрэгч ашиглан Arduino автомашины урвуу зогсоолын мэдрэгчийн энгийн хэлхээг зохион бүтээнэ. Энэхүү Arduino дээр суурилсан Автомашины Урвуу дохиоллын системийг бие даасан навигаци, роботын хүрээ болон бусад хүрээний зориулалтаар ашиглаж болно
Алхам алхамаар PC -ийн барилга: 9 алхам
Алхам алхамаар PC барилга: хангамж: хангамж: техник хангамж: MotherboardCPU & CPU хөргөгч PSU (Цахилгаан хангамжийн хэсэг) Хадгалалт (HDD/SSD) RAMGPU (шаардлагагүй) Кейс Хэрэгсэл: Халив ESD бугуйвч/матстермал оо
Arduino Uno ашиглан акустик левитаци Алхам алхам (8 алхам): 8 алхам
Arduino Uno-тай акустик Levitation Алхам алхамаар (8 алхам): хэт авианы дууны дамжуулагч L298N Dc эмэгтэй адаптерийн эрэгтэй тэжээлийн тэжээлийн хангамж Arduino UNOBreadboard Энэ нь хэрхэн ажилладаг вэ: Нэгдүгээрт, та кодыг Arduino Uno-д байршуулдаг (энэ нь дижитал төхөөрөмжөөр тоноглогдсон микроконтроллер юм. кодыг хөрвүүлэх аналог портууд (C ++)
DIY Arduino робот гар, Алхам алхам: 9 алхам
DIY Arduino робот гар, алхам алхмаар: Эдгээр заавар нь танд робот гарыг хэрхэн яаж хийхийг зааж өгөх болно