Բովանդակություն:
- Քայլ 1: Նյութեր
- Քայլ 2: Ազնվամորի Պի
- Քայլ 3: Լարերի տեղադրում
- Քայլ 4: Տվյալների բազա
- Քայլ 5: Կոդ
- Քայլ 6: Գործ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:46
Իմ անունն է Կոբի Մարչալ, սովորում եմ Բելգիայի Հաուեստ քաղաքում և ուսանող եմ Մուլտիմեդիա և հաղորդակցական տեխնոլոգիաներ (MCT): Առաջին տարվա իմ վերջին հանձնարարության համար ես պետք է IoT սարք սարքեի:
Տանը մենք ունենք այս խնդիրը, որ իմ եղբայրը միշտ խաղում է, և երբ մայրս պետք է ինչ -որ բան նրան ասի ներքևից, նա պետք է գոռա, քանի որ նա ականջակալներ է կրում և ոչինչ չի լսում: Ես ուզում էի լուծել այս խնդիրը նրա համար, այնպես որ ես կառուցում եմ մի սարք, որտեղից կարող եք հաղորդագրություններ ուղարկել կայքից: Այն նաև օգտագործվում է որպես օրացույց, որտեղ կարող եք պահել ձեր սեփական իրադարձությունները կամ ներմուծել արտաքին օրացույց URL- ի միջոցով: Այս սարքը նաև պահում է ջերմաստիճանի և օդի որակի արժեքները, այնպես որ կարող եք տեսնել, թե որքան առողջ է այն, երբ խաղում կամ աշխատում եք, քանի որ հաճախ չեք նկատում:
Այս սարքը կոչվում է EasyTalk և լուծում է այս խնդիրը: Դա փոքր սարք է, որն օգտագործում է OLED էկրան, որպեսզի կարողանաք տեսնել ձեր իրադարձությունները, ժամանակը կամ ջերմաստիճանը և օդի որակը հենց հիմա: Երբ հաղորդագրությունն ուղարկվում է, այն ձեզ նկատում է ծանուցման ձայնով և էկրանին ցույց է տալիս հաղորդագրությունը, որտեղ կարող եք պատասխանել այո կամ ոչ:
Եթե ցանկանում եք կառուցել այս իրը կամ ցանկանում եք տեսնել, թե ինչպես է այն պատրաստված, ես կտրականապես առաջարկում եմ կարդալ շարունակությունը: Եթե ցանկանում եք ավելին իմանալ իմ մասին, կարող եք գնալ իմ պորտֆոլիո:
Քայլ 1: Նյութեր
Առաջին քայլը այս նախագծում օգտագործելու համար անհրաժեշտ բոլոր նյութերի հավաքումն է: Ես անկեղծ կլինեմ ձեզ հետ: Սա էժան սարք չէ, ընդհանուր արժեքը ՝ 271 եվրո: Ստորև ներկայացնում ենք դրանց ցանկը և որոշ լուսանկարներ ՝ հստակեցնելու համար:
- Raspberry Pi 4 Model B - 4 ԳԲ
- Pibow Coupé 4 - Ninja
- 12 x Premium Jumperwires op strip - 40 stuks - M/M - 20 սմ
- 6 x Premium Jumperwires op strip - 40 stuks - M/F - 20 սմ
- 2 x 36-փին Stacking վերնագիր
- 40-փին արական տուփի գլխագիր
- 40 կապում Regenboog GPIO kabel
- Մոնոխրոմ 2.42 "128x64 OLED գրաֆիկական ցուցադրման մոդուլի հավաքածու
- Kleine Metalen խոսնակ հանդիպեց Draadjes - 8 ohm 0.5W
- Adafruit Mono 2.5W Class D Audio Versterker
- 3.5 մմ Aux Jack մալուխ
- 7 մմ թել Momentary Push Button
- Տույմելշաքելար
- PIR Bewegingssensor
- DS18B20 Digitale ջերմաստիճանի տվիչ
- Grove - Lucht kwaliteit ցուցիչ v1.3
- Grove - I2C ADC
- Raspberry Pi 4 USB-C Voeding
- Ֆլեքսիբելի մինի-վիճակագիր
- 470 Օմ դիմադրիչներ
- 4, 7K Օմ դիմադրություն
- Atերմային նեղացման խողովակ
- 6 x պտուտակներ M2 x 6 մմ
- 6 x պտուտակներ M2 x 8 մմ
- 3 x պտուտակներ M2 x 16 մմ
- Ալյումին 3 մմ
Ես նաև կազմեցի Bill Of Materials (BOM) նյութը, որպեսզի տեսնեք, թե որքան եմ վճարել բոլոր նյութերի համար և որտեղից եմ դրանք ձեռք բերել:
Քայլ 2: Ազնվամորի Պի
Այս նախագծի համար մենք օգտագործում ենք Raspberry Pi- ն, քանի որ այն հեշտ է կարգավորել և այն կարող է օգտագործվել շատ բաների համար: Այն կատարյալ է այն բանի համար, ինչ մենք ուզում ենք անել:
Ներբեռնեք Raspberry Pi Desktop OS- ը և տեղադրեք այն ձեր Raspberry Pi- ի վրա: Դուք պետք է միացնեք SPI, I2C և One Wire raspi-config- ում: Ես առաջարկում եմ անջատել որոշ բաներ նաև Boot Options- ում, որպեսզի այն ավելի արագ բեռնվի: Բացի այդ, ես օգտագործում եմ որոշ գրադարաններ, որոնք դուք պետք է տեղադրեք pip- ով `այս աշխատանքը կատարելու համար:
pip3 տեղադրել:
- adafruit-circuitpython-ssd1305
- ics
- Շիշ
- Flask-Cors
- Flask-JWT- Ընդլայնված
- mysql-connector-python
Ձեզ նույնպես պետք է apache2 կայք ստեղծելու համար, այստեղ մենք օգտագործում ենք apt:
sudo apt տեղադրել apache2 -y
Դուք պետք է անլար կապ ստեղծեք, քանի որ Raspberry Pi- ում չեք կարող ստանալ UTP մալուխ, եթե այն պատյանում է:
Դուք նույնպես պետք է կարգավորեք MariaDB- ն, որպեսզի կարողանաք մուտք գործել տվյալների բազա:
Քայլ 3: Լարերի տեղադրում
Հաջորդ քայլը ամեն ինչ միացնելն է և ստուգել, արդյոք բոլոր բաղադրիչներն աշխատում են: Ես ստեղծեցի PCB ՝ հացաթուղթը հանելու և լարերը ավելի փոքր դարձնելու համար, որպեսզի սարքը կարողանա ավելի փոքր լինել: Սա անհրաժեշտ է, քանի որ այն կկանգնի ձեր մոնիտորի կողքին և չի կարող շատ տեղ զբաղեցնել, որպեսզի ձեզ չշեղի ձեր աշխատանքից:
Քայլ 4: Տվյալների բազա
Այս սարքը օգտագործում է նորմալացված MySQL տվյալների բազան ՝ իր ամբողջ տեղեկատվությունը պահելու և այն ցուցադրելու համար կայքում և հենց սարքում: Ես այն ստեղծել եմ MySQL Workbench- ում:
Այս տվյալների բազայում կա 5 աղյուսակ:
Աղյուսակ Activiteiten (= գործողություններ, իրադարձություններ) օգտագործվում է օրացույցի բոլոր իրադարձությունները պահելու համար: Սա նաև ներառում է մեկ այլ օրացույցից ներմուծված բոլոր իրադարձությունները:
Table Apparaten (= սարքեր) օգտագործվում են տարբեր տեսակի սարքեր պահելու համար, որոնք օգտագործվում են աղյուսակի Historiek (= պատմություն) մեջ: Այս նախագծում օգտագործվում են երկու տվիչներ ՝ ջերմաստիճանի տվիչ և օդի որակի սենսոր, բայց ես ունեմ նաև երրորդ «սարքը», որն ինքնին կայքն է ՝ կայքից ուղարկվող հաղորդագրությունները սարքին պահելու համար:
Աղյուսակ Gebruikers (= օգտվողներ) պահում է օգտվողներին: Նրանք կարող են մուտք գործել իրենց գաղտնաբառով և նշել այն մականունը, որը հայտնվում է հաղորդագրությամբ, երբ ուղարկվում է սարքին:
Աղյուսակ Historiek (= պատմություն) օգտագործվում է սարքին ուղարկվող սենսորների արժեքներն ու հաղորդագրությունները պահելու համար:
Եվ վերջապես, աղյուսակի հղումները (= URL) պահում են բոլոր արտաքին օրացույցի URL- ները:
Քայլ 5: Կոդ
Ես խորհուրդ եմ տալիս նոր օգտվող դարձնել, քանի որ դա լավագույն փորձն է, բայց դա անհրաժեշտ չէ, կարող եք նաև օգտագործել լռելյայն pi օգտագործողը:
Ֆրոնտենդի կոդը տեղադրվում է apache2- ի կանխադրված html թղթապանակում: Այս թղթապանակը կարող եք գտնել/var/www/html- ում:
Հետևի համար անհրաժեշտ է թղթապանակ պատրաստել ձեր տան թղթապանակում և այնտեղ տեղադրել ամբողջ ծածկագիրը:
Մենք պետք է որոշ արժեքներ փոխենք նաև այս ծածկագրում: Նախ գնացեք app.py: 23 -րդ տողում սահմանեք մեկ լարով ջերմաստիճանի տվիչի անունը: Սա հավանաբար ձեզ համար այլ բան կլինի: Nameիշտ անունը գտնելու համար բացեք տերմինալ և մուտքագրեք ՝
ls/sys/bus/w1/սարքեր
և փնտրեք տող, որը բաղկացած է բազմաթիվ տարբեր թվերից և փոխարինեք 23 -րդ տողում գտնվողին:
Մյուս բանը, որ մենք պետք է փոխենք, config.py ֆայլում է, փոխել տվյալների բազայի գաղտնաբառը:
Եթե ցանկանում եք, որ սա գործարկվի բեռնման վրա, ապա պետք է փոխեք նաև EasyTalk.service ֆայլը: Պարզապես փոխեք WorkingDirectory և User: Դուք պետք է պատճենեք այս ֆայլը հետևյալ հրամանով.
sudo cp EasyTalk.service/etc/systemd/system/EasyTalk.service
Այնուհետեւ գործարկեք այն.
sudo systemctl գործարկել EasyTalk.service- ը
Եվ ապա միացրեք այն, որպեսզի այն սկսվի բեռնման ժամանակ
sudo systemctl միացրեք EasyTalk.service- ը
Քայլ 6: Գործ
Ես որոշեցի պատյանը 3D տպել, որպեսզի այն հնարավորինս փոքր լինի: Տպագրությունը բաղկացած է 3 մասից, տուփը ինքնին, կափարիչը և բարձրախոսը, քանի որ այն անցքեր չունի պտուտակներ պտուտակելու համար:
Ձեզ նույնպես կպահանջվեն որոշ համարձակ գծեր ՝ ամեն ինչ իրար խառնելու համար:
- 6 x պտուտակներ M2 x 6 մմ
- 6 x պտուտակներ M2 x 8 մմ
- 3 x պտուտակներ M2 x 16 մմ
Չնայած անկեղծ կլինեմ: Ինձանից 4-5 ժամ պահանջվեց այս բանը կառուցելու համար: Քանի որ այն այնքան փոքր է, ամեն ինչ պարզապես տեղավորվում է, և երբեմն դժվար է կողպեքները ներկել, բայց դա աշխատում է, եթե դա անում եք ուշադիր:
Ես նաև նախագծել եմ PCB, որը փոխարինելու է տախտակին, նախ պետք է միացնել վերնագրերը և 5 դիմադրիչներ (4 x 470 Օմ, 1 x 4.7K Օմ):
Երբ ունեք PCB, ես առաջարկում եմ սկսել ամեն ինչին մալուխների զոդումից, որը ենթադրվում է միացնել PCB- ին:
Երբ դա արվի, դուք պատրաստվում եք պտուտակել OLED էկրանը տեղում և միացնել PCB- ն դրան: Էկրանը պահում է PCB- ն: Դրա համար օգտագործում եք 6 մմ պտուտակներ:
Այնուհետև դուք պտուտակում եք օդի որակի սենսորը այնտեղ, որտեղ ենթադրվում է, բայց դա մի փոքր բարդ է, քանի որ ADC- ն միանում է դրան: Որպեսզի դա ճիշտ կատարվի, որպեսզի երկու բաղադրիչները չդիպչեն միմյանց, դուք օգտագործում եք 16 մմ պտուտակներ 3 x 5 մմ ալյումինե խողովակներով, որոնք դուք պետք է տեսնեք: Ես դա արեցի երկու պտուտակով, քանի որ չկարողացա հասնել երրորդին: Դուք միացնում եք 4 լարերը, որտեղ դրանք պետք է անցնեն PCB- ով:
Այնուհետև ձայնային ուժեղացուցիչը միացնում եք PCB- ին և բարձրախոսը տեղադրում տեղում ՝ 3D տպված կրիչով:
Այս քայլերից հետո ամենադժվար հատվածներն ավարտված են, և մնացած ամեն ինչ կարող եք միացնել PCB- ին և պտուտակել այն տեղում: Նկատի ունեցեք, որ ձեր տեսած լուսանկարներում ես օգտագործում եմ այլ ջերմաստիճանի տվիչ, վերջնական արտադրանքի համար ես օգտագործել եմ ջերմաստիճանի տվիչը երկար մալուխով, որը դուրս է գալիս տուփից, քանի որ այն չափում էր ջերմությունը տուփի ներսից:
Երբ այս բոլորը տեղում են, դուք պետք է պտուտակեք Raspberry Pi- ն: Ես պատյանն օգտագործում եմ դրա համար, քանի որ չեմ վստահում դրա արտադրած ջերմությանը, այս պատյանը պաշտպանված է, որպեսզի 3D տպումը չհալչի: Նախքան այն տեղում ամրացնելը, դուք պետք է միացնեք հոսանքի մալուխը և օժանդակ մալուխը (որը դուք պետք է բացեք և միացնեք մեկ մետաղալար, ապա միացրեք Raspberry Pi- ից PCB- ին), քանի որ դրանից հետո չեք կարող հասնել դրան:
Այնուհետև պարզապես միացրեք GPIO- ի վերնագրի մալուխը PCB- ից Raspberry Pi- ին և ստուգեք, արդյոք ամեն ինչ աշխատում է, նախքան կափարիչը փակելը:
Ներքևում կա մի անցք, որտեղ կարող եք միացնել եռոտանի, բայց դա պարտադիր չէ:
Վերջ! Հուսով եմ, որ ձեզ դուր եկավ այս հոդվածը կարդալը: -Կոբե
Խորհուրդ ենք տալիս:
DIY LED Advent Օրացույց. 3 քայլ
DIY LED Advent Calendar. Ես նկարագրելու եմ, թե ինչպես ենք պատրաստել այս անալոգային ժամացույցը, որը կրկնապատկում է որպես գալուստի օրացույց: Շուրջօրյա կան 24 ws2811 լուսարձակներ, որոնցից յուրաքանչյուրը կանաչ լույս է տալիս Սուրբ Christmasնունդին նախորդող օրերին: Սուրբ Christmasննդյան օրը բոլոր լույսերը վառվում են
Շաբաթվա օր, օրացույց, ժամանակ, խոնավություն/ջերմաստիճան մարտկոցի խնայարարով. 10 քայլ (նկարներով)
Շաբաթվա օր, օրացույց, ժամանակ, խոնավություն/ջերմաստիճան մարտկոցի խնայարարով. Էներգախնայողության ռեժիմն այստեղ այն է, ինչ այս հրահանգը առանձնացնում է շաբաթվա օրը, ամիսը, ամսվա օրը, ժամանակը, խոնավությունը և ջերմաստիճանը ցուցադրող այլ օրինակներից: Այս հնարավորությունն է, որ թույլ է տալիս այս նախագիծը գործարկել մարտկոցից ՝ առանց տ
Անհատականացված օրացույց Servo Motor- ով `4 քայլ
Servo Motor- ով հարմարեցված օրացույց. Մարդիկ երբեմն ձանձրանում էին, երբ նստում էին գրասեղանի մոտ: Եթե սեղանին ինչ -որ դեկորատիվ բան կա, ապա դա հաստատ հաճելի կլինի: Այս նախագծի համար ես կստեղծեմ հարմարեցված օրացույց: Օրացույցից բացի, կարող եք նաև ավելացնել այլ տարրեր, որոնք կցանկանան
DIY MusiLED, Երաժշտության համաժամեցված լուսադիոդներ մեկ կտտոցով Windows և Linux հավելվածով (32 բիթ և 64 բիթ): Հեշտ է վերստեղծել, Հեշտ օգտագործել, Հեշտ տեղափոխել ՝ 3 քայլ
DIY MusiLED, Երաժշտության համաժամեցված լուսադիոդներ ՝ մեկ կտտոցով Windows և Linux հավելվածով (32-բիթ և 64-բիթ): Հեշտ է վերստեղծել, դյուրին օգտագործել, հեշտ է տեղափոխել. LED- ները դրանք լուսավորելու են ըստ հարվածի էֆեկտների (Snare, High Hat, Kick)
Ինչպես ձայնագրել երաժշտություն անվճար կամ ոչնչի կողքին ՝ 5 քայլ
Ինչպես ձայնագրել երաժշտություն անվճար կամ ոչ մի բանի կողքին. Ես փոքր խմբում եմ և մենք ցանկանում ենք երաժշտություն ձայնագրել, բայց առանց շատ փողեր ծախսելու, ուստի ես դա գտա