Բովանդակություն:
- Քայլ 1. Սարքավորումը միացնել Pi- ին
- Քայլ 2: Հիմնական ծրագրերի կոդավորում
- Քայլ 3: Տվյալների բազայի ստեղծում
- Քայլ 4: Սարքավորման կոդավորում
Video: Բիրգարդյան. 5 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:50
Ողջույն, տղերք դպրոց, ինձ պետք էր մի գաղափար նախագծի համար: Այսպիսով, ես մտածում էի, որ այն պետք է նախագիծ լինի ազնվամորու պիի հետ և այն տեղական է: Հանկարծ ես հիանալի գաղափար ունեցա և մի հարցրու ինձ, թե ինչպես ես ստանում այդ գաղափարը, բայց ես մտածեցի մանկական մոնիտորի բարելավման մասին: Պարզապես մի վայրկյան մտածեք այդ գաղափարի մասին, մանկական մոնիտորների մեծամասնությունը պարզապես երեխայի սենյակ լսելու գործառույթ ունի:
Առանձնահատկությունները
- Մի փոքր լուսային շոու ՝ կարգավորվող գույներով
- Տեսախցիկ, որը ցույց է տալիս կենդանի պատկերներ
- Երաժշտություն նվագելու բարձրախոս
- Սենսորներ ՝ երեխայի շարժումը գրավելու համար
- Այդ ամենը ցուցադրվում է կայքում
Կարճ տեղեկատվություն
Թույլ տվեք դա բացատրել կարճ տարբերակով: Այսպիսով, մեզ վեբ կայք է պետք, և այս նախագծի համար ես օգտագործում եմ Flask, մենք նաև տվյալների բազա ունենք և ես օգտագործում եմ mysql- ը, ինչպես նաև սցենար, որն աշխատում է ապարատով, և դա Python- ի հետ է (3), և վերջին հաշվով մեզ անհրաժեշտ է սերվերի կարգավորում դա nginx կլինի PI- ի վրա:
Ինչ է մեզ պետք
- Raspberry Pi 3
- Քայլքայլ 28BYJ
- Ոտքի շարժիչի վարորդական չիպ ULN2003 ստեպ մոդուլ
- A rgb առաջնորդվել է 3 ռեզիստորով 330 Օմ
- Pi NoIR տեսախցիկ V2
- Ուլտրաձայնային տվիչ HC-SR04
- Միկրո մոդուլը ardiuno- ից
- MAX98357A
- Բարձրախոս 8 Օմ
- Եվ մի մոռացեք արջ գնել
Տեղադրեք ազնվամորի պի --------------------------------------------------- ------------------------------------------------------ ------------------------------
Սկզբում մենք պետք է տեղադրենք Pi- ն: Սկսեք արդեն մուտք գործել ծեփամածիկի միջոցով, եթե ծեփոն չունեք, խորհուրդ եմ տալիս ներբեռնել սա, պարզապես ssh- ով մուտքագրեք Pi- ի ձեր ստատիկ ip- ն և գնացեք դրանով: Եթե դուք պետք է տեղադրեք ձեր Raspberry Pi- ն, ապա ես վատ նորություններ եմ ստացել, ես դա չեմ բացատրում այս նախագծում:
Տեղադրեք փաթեթներ
sudo apt թարմացում
sudo apt install -y python3-venv python3-pip python3-mysqldb mysql-server uwsgi nginx uwsgi-plugin-python3
Վիրտուալ միջավայր
python3 -m pip install -upgrade pip setuptools wheel virtualenv
mkdir {your project foldername} && cd {your project foldername} python3 -m venv --system-site-packages env source env/bin/activ python -m pip install mysql-connector-python argon2-cffi Flask Flask-HTTPAuth Flask- MySQL mysql-connector-python passlib
Այժմ դուք պետք է կլոնավորեք git պահոցը ձեր նախագծի թղթապանակում
github.com/NMCT-S2-Project-I/Project-I.git
Եթե նայեք ձեր նախագծի թղթապանակին, ապա պետք է տեսնեք 5 պանակ
- կոնֆ
- նախանձ
- սենսոր
- քառ
- վեբ
Տվյալների շտեմարան
sudo systemctl կարգավիճակը mysql
ss -lt | grep mysql sudo mysql
ստեղծել տվյալների բազայում օգտագործող `բոլոր արտոնություններով և կազմել ձեր տվյալների բազան
ստեղծել օգտվողի 'user'@'localhost' նույնականացված 'գաղտնաբառով';
ստեղծել տվյալների բազայի ձեր տվյալների բազայի անունը; տրամադրել բոլոր արտոնությունները ձեր տվյալների բազայի անվան վրա:* 'user'@'localhost' - ին `դրամաշնորհի տարբերակով.
Conf սերվերների համար ֆայլեր
Uwsgi-flask.ini- ում դուք փոխում եք 'module =…'-ը 'module = web: app' և ձեր ստեղծած virtualenv- ի ուղին: Մնացած ֆայլերում դուք պետք է փոխեք ձեր գրացուցակի իրական բացարձակ ուղիների ուղիները:
Դա պարզելուց հետո կարող եք ֆայլերը տեղադրել ճիշտ տեղում:
sudo cp conf/project1-*. service/etc/systemd/system/
sudo systemctl daemon-reload sudo systemctl սկսել նախագիծը 1-* 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 վերագործարկել nginx.service sudo nginx -t
Եթե ամեն ինչ լավ է ընթանում, ապա պետք է բարև ունենաս այս հրամանով
wget -qO - localhost
Կատարած ! Դե, դա այն մասի համար է, որը թույլ է տալիս գործարկել ձեր համակարգը…
Քայլ 1. Սարքավորումը միացնել Pi- ին
BCM- ի օգտագործմամբ
աուդիո MAX98357A
- BCK- ից 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- ը ՝ ինդեքս, մուտք, գրանցում, հիմնական էկրան, երաժշտություն, ավելորդ երաժշտություն, addbear, լույս, տեսախցիկ, տեսախցիկի կարգավորում, տվիչ, վահանակի էջ: Html ֆայլերը պետք է լինեն կաղապարներում, իսկ css ֆայլերը ՝ static/css թղթապանակում: Դուք կարող եք լիովին հարմարեցնել css- ը, ինչպես ցանկանում եք:
Եթե դուք կատարել եք այս մասը, դուք պետք է կարգավորեք ձեր տափաշիշը: Flask- ը հեշտ է օգտագործել միայն բարև աշխարհի օրինակ
# ներմուծման շիշ սկզբում
տափաշիշ ներմուծումից * @app.route ('/') def index (): վերադարձնել render_template ('index.html')
Այժմ իմ ծածկագրում սա արդեն լրացված է, միակ բանը, որ դուք պետք է անեք, տվյալների բազայի օգտագործողի և գաղտնաբառի փոփոխումն է ձեզանից և, բնականաբար, ստեղծեք նույն տվյալների բազան, որը կարող եք գտնել նաև github- ում:
Քայլ 3: Տվյալների բազայի ստեղծում
Իսկական երկրպագուների համար ես ձեզ կասեմ, թե ինչպես ստեղծել նույն տվյալների բազան:
Այսպիսով, նախ մենք պետք է ստեղծենք տվյալների բազան, եթե դուք դա չեք կատարել առաջին քայլում:
ստեղծել տվյալների բազան beargardian;
Դա անելուց հետո դուք ստեղծում եք աղյուսակներ mysql workbench- ում կամ phpadmin- ում
օգտագործողի սեղանն ունի
- օգտագործողի այ - Դի
- անուն
- Ազգանուն
- էլ
- մանկանուն
- գաղտնաբառ sha1- ով
- userfolder
- նվագախաղ (ինտ.)
- լուսարձակ (ինտ)
- խաղերի ձայնագրում (int)
երաժշտական սեղանն ունի
- musicID
- երգ
- ուղի
- userfolder
- կարգավիճակը
- ծավալը
ձայնագրման սեղան ունի
- ձայնագրման ID
- ուղի
- userfolder
- ժամանակը
- օր
գույնի սեղանն ունի
- գույնի ID
- կարմիր
- կանաչ
- Կապույտ
- պայծառություն
- օգտագործողի այ - Դի
արջի սեղան ունի
- bearID (տասնորդական (8))
- userID լռելյայն null
- նշանի անուն
սենսորային սեղան ունի
- sensorID
- հեռավորությունը
- միկրո
- bearID
- ժամանակը
- օր
- քնի ժամանակ
Այսպիսով, այժմ դուք հաջողությամբ ստեղծեցիք տվյալների բազան, եկեք գնանք ապարատային:
Քայլ 4: Սարքավորման կոդավորում
Ես ցույց կտամ մի փոքր ծածկագիր և կասեմ, թե ինչու եմ այդպես վարվել:
Սկզբից ես օգտագործեցի թելեր, ինչը բացարձակ պարտադիր է այս նախագծում: Ի՞նչ է թելը, հմմ, լավ հարց: Պիթոնում սպառնացողը միանգամից բազմաթիվ ծրագրեր գործարկելն է: Այսպիսով, եթե դուք, օրինակ, փոխեք գույնը, կարող եք նաև ձայնագրել: Հեշտ է օգտագործել, մի անհանգստացեք:
ներմուծել _threaddef ֆունկցիայի անունը (ինչ -որ բան, այլ բան). գործարկել կոդը
_thread.start_new_thread (ֆունկցիայի_անուն, բազմապատիկ_ֆունկցիաների_փոփոխականներով)
Եթե նայեցիք իմ ծրագրին, տեսաք logger.info ('…'): Սա տպագրման գործառույթն է, բայց շատ ավելի լավ, քանի որ Pi- ով դուք չեք կարող տպել իրեր, այնպես որ ես ֆայլ եմ պատրաստում և տպում այնտեղ: Yoe- ն կարող է սահմանել տեղեկամատյան ֆայլը այս ծածկագրով:
logger = logging.getLogger (_ անուն _) logger.setLevel (logging. INFO) # ստեղծել ֆայլ մշակողի մշակող = logging. FileHandler ('logger.log') handler.setLevel (logging. INFO)
# ստեղծել մուտքագրման ձևաչափ
formatter = logging. Formatter (' %(asctime) s - %(name) s - %(message) s') handler.setFormatter (formatter)
# ավելացրեք կարգավորիչները անտառահատին
logger.addHandler (վարիչ)
logger.info ('սարքի գործարկում / n ---------------------------------------')
այնուհետև հենց օրենսգրքում ես բացատրում եմ ամեն ինչ:
Խորհուրդ ենք տալիս:
Arduino մեքենայի հետադարձ կայանման ահազանգման համակարգ - Քայլ առ քայլ: 4 քայլ
Arduino մեքենայի հետադարձ կայանման ահազանգման համակարգ | Քայլ առ քայլ. Այս նախագծում ես նախագծելու եմ մի պարզ Arduino մեքենայի հետադարձ կայանման սենսորային միացում ՝ օգտագործելով Arduino UNO և HC-SR04 ուլտրաձայնային տվիչ: Այս Arduino- ի վրա հիմնված Car Reverse ազդանշանային համակարգը կարող է օգտագործվել ինքնավար նավարկության, ռոբոտների ռանգի և այլ տեսականու համար
Քայլ առ քայլ համակարգչային շենք. 9 քայլ
Քայլ առ քայլ համակարգչի կառուցում. Պարագաներ. Սարքավորումներ. Մայրական համակարգիչ CPU coolerPSU (Էներգամատակարարման միավոր) Պահեստավորում (HDD/SSD) RAMGPU (պարտադիր չէ) Գործ CaseTools: Պտուտակահան ESD ապարանջան/matsthermal paste w/aplikator
Երեք բարձրախոս շղթա -- Քայլ առ քայլ ձեռնարկ ՝ 3 քայլ
Երեք բարձրախոս շղթա || Քայլ առ քայլ ձեռնարկ. Բարձրախոսների սխեման ուժեղացնում է շրջակա միջավայրից ստացված աուդիո ազդանշանները MIC- ում և այն ուղարկում է խոսնակին, որտեղից արտադրվում է ուժեղացված ձայնը:
Քայլ առ քայլ կրթություն ռոբոտաշինության մեջ `հանդերձանքով. 6 քայլ
Քայլ առ քայլ կրթություն ռոբոտաշինության մեջ ՝ հանդերձանքով. Իմ սեփական ռոբոտը կառուցելուց մի քանի ամիս անց (խնդրում եմ անդրադառնալ այս բոլորին), և երկու անգամ մասերի խափանումից հետո, ես որոշեցի մի քայլ հետ գնալ և նորից մտածել իմ մասին ռազմավարություն և ուղղություն: Մի քանի ամսվա փորձը երբեմն շատ հատուցող էր, և
Ձայնային թռիչք Arduino Uno- ի հետ Քայլ առ քայլ (8 քայլ) `8 քայլ
Ձայնային թռիչք Arduino Uno- ի հետ Քայլ առ քայլ (8 քայլ). Ուլտրաձայնային ձայնային փոխարկիչներ L298N Dc կանացի ադապտեր էներգիայի մատակարարում արական dc pin Arduino UNOBreadboard և անալոգային նավահանգիստներ ՝ կոդը փոխարկելու համար (C ++)