Мазмуну:

Акылдуу ойготкуч саат: 13 кадам
Акылдуу ойготкуч саат: 13 кадам

Video: Акылдуу ойготкуч саат: 13 кадам

Video: Акылдуу ойготкуч саат: 13 кадам
Video: Калыбек менен Садыктан тамашалуу ролик / 777 кукуруздары 2024, Июль
Anonim
Акылдуу ойготкуч саат
Акылдуу ойготкуч саат

Саламатсызбы, менин атым Александра Кристиаенс жана мен Кортрихтеги (Бельгия) Хоестте Медиа жана коммуникация технологиясын окуйм.

Мектеп тапшырмасы катары бизден IoT түзмөгүн жасоо талап кылынган. Биз өзүбүздүн же тааныган адамдардын жашоосун өзгөртө турган нерсени жасоого үндөдүк. Мага проект табуу өтө кыйын болуп калды жана ылайыктуу долбоор издөөгө аракет кылганымда, көбүнчө: "Мен бул үчүн абдан чарчадым" деп ойлочумун. Ошентип, акыры бул менин долбоорум болушу мүмкүн экенин түшүндүм: мен акылдуу ойготкуч жасайм, ал экөө тең эртең менен туруп, кечинде жатууга жардам берет. Бул тапшырманын талаптарына ылайык, биз баарын иштетүү үчүн Raspberry Pi колдонушубуз керек экен, ошондуктан мен түзмөгүмдү "Sleepi" деп атоону чечтим.

Эгерде сиз бул түзмөктү өзүңүз жасап, мага окшоп татыктуу уктоону кааласаңыз, анда мен колдонгон бул колдомону карап көрүңүз. Мен жөнүндө жана мен жасаган же жасай турган башка долбоорлор жөнүндө көбүрөөк билгиңиз келсе, портфолиомду карап көрүңүз.

1 -кадам: 1 -кадам: Компоненттерди чогултуу

Step1: Компоненттерди чогултуу
Step1: Компоненттерди чогултуу
Step1: Компоненттерди чогултуу
Step1: Компоненттерди чогултуу
Step1: Компоненттерди чогултуу
Step1: Компоненттерди чогултуу

Ошентип, биринчи кезекте, курулушту баштаардан мурун, биз керектүү нерселердин бар экенине ынаналы. Мен эң маанилүү компоненттердин тизмесин түздүм. Төмөндө компоненттери жөнүндө кененирээк маалымат бар pdf таба аласыз.

- 1 x Raspberry Pi 3 модели В.

- 1 x (бош) microSD карта жана адаптер (менде 16 ГБ карта бар, бирок 8 ГБ жетиштүү)

- Raspberry Pi үчүн 1 x 5V электр менен камсыздоо

- 1 x Ethernet кабели

- 2 x 9V батареялары

- 2 x 9V батарейка клиптери

- 1 x GPIO 40 пин кеңейтүү тактасы жана асан -үсөн кабели

- 2 x BB830 Solderless Plug-in Breadbord

- 1 x Arduino Uno

- 1 х 0,56 дюймдук 4*7 сегменттүү дисплей

- 1x DS18B20 температура сенсору

- 1 x TSL2561 жарыктык сенсору

- 1 x 1602A LCD экраны

- 1 x деңгээлдеги конвертер

- 1 x SN74HC595N сменалык каттоочу

- 1 x Rotary Encoder

- 1 x потенциометр

- 1 x Power RGB LED

- 1 x спикер

- 4 x 337B транзисторлор

- 1 x диод

- 1 x баскычы

- 3 x xl4005 31 LED драйвери

- 7 х резистор (2 x 10k Ohm, 4 x 1k Ohm, 1 x 470 Ohm)

- Ар кандай секирүүчү зым кабелдери (эркектен эркекке жана эркектен ургаачысына)

Кошумча:

- 1 х мультиплекс жыгач панели (мен төмөнкү өлчөөлөр менен колдонгон элем: 860мм х 860мм х 5мм)

- Жыгач иштетүү үчүн ар кандай шаймандар

- Акрил боёгу сизге жаккан түстө

2 -кадам: 2 -кадам: Схемалар

2 -кадам: схемалар
2 -кадам: схемалар

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

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

Кээ бир элементтер, бирок кээ бир казыктарга туташтырылышы керек. Жарык сенсорунун GPIO 23 (SDA) жана GPIO 24 (SCL) менен туташканын текшериңиз. Бул 5 -кадамда эмне үчүн маанилүү экенин түшүндүрөм.

3 -кадам: 3 -кадам: Raspberry Pi орнотуусу

Эми биздин Pi орнотууга убакыт келди:

1. MicroSD картаңызды адаптердин ичине салып, компьютериңизге сайыңыз.

Эгерде сиздин microSD картаңыз бош болбосо, анда аны алгач өзүңүз каалаган ыкма менен форматтаңыз.

2. Raspberry OS веб -сайтынан Raspbian OS программасын орнотуңуз.

ZIP файлын жүктөп алып, каалаган жерге чыгарыңыз.

3. Win32 диск менеджерин жүктөп алыңыз.

Сүрөттү тандоо үчүн папканын сөлөкөтүн чыкылдатыңыз "Түзмөктөн" microSD тандаңыз "Жазуу" баскычын басыңыз

Сүрөт MicroSD картаңызга жазылганда, аны Windows Explorerде ачсаңыз болот.

Файлды ачыңыз "cmdline.txt" Файлдын аягына төмөнкү текст сабын кошуңуз: ip = 169.254.10.1 Баары бир сапта экенин текшериңиз. Файлды сактаңыз.

Эми MicroSD картасын компьютериңизден чыгарыңыз. Пиңиздин кубаты өчүрүлгөнүн текшериңиз жана картаны Raspberry Piге салыңыз.

Ethernet кабелин Piңизге жана компьютериңизге туташтырыңыз.

Пиңизге 5, 2В кубат адаптери менен кубат бериңиз.

4 -кадам: 4 -кадам: Raspberry Pi менен туташуу

4 -кадам: Raspberry Pi менен туташуу
4 -кадам: Raspberry Pi менен туташуу

Туташуу үчүн

биздин компьютер менен Pi, биз Putty колдонобуз.

1. Putty орнотуп, аны ачыңыз.

2. IP дарегин жана портту сүрөттө көрсөтүлгөндөй толтуруңуз жана "ачуу" баскычын басыңыз.

3. Кирүү төмөнкү демейки шарттар менен:

а. Колдонуучунун аты: pi

б. Сырсөз: малина

4. WiFi орнотуу үчүн:

а. Sudo nano /etc/wpa_supllicant/wpa_supllicant.conf

б. Файлдын ылдый жагына бул саптарды кошуңуз:

мен. Тармак = {

ii. ssid = "Зымсыз тармагыңыздын атын жазыңыз"

iii. psk = "Зымсыз тармагыңыздын сырсөзүн толтуруңуз"

iv. }

в. Файлды жаап, сактап коюңуз

5. Пиңиздин IP дарегин аныктоо үчүн төмөнкү буйрукту киргизиңиз: ifconfig wlan0

6. Сиз азыр зымсыз туташуу үчүн Puttyдеги бул IP дарегин колдоно аласыз (жогоруну караңыз).

5-кадам: 5-кадам: Орнотууларды Raspi-config менен өзгөртүү

Эми биз Pi биздин бардык компоненттерибиз менен баарлаша аларын текшеришибиз керек.

Кээ бир орнотууларды raspi-configда өзгөртөбүз

Команда менен raspi-config ачыңыз:

sudo raspi-config

2. 4 Локалдаштыруу Жолдорун тандаңыз.

3. I2 Change Timezone тандаңыз.

4. Убакыт алкагын жергиликтүү убакыт алкагына өзгөртүп, raspi-configге кайтуу үчүн бүтүрүңүз.

5. 5 Interfacing Options тандаңыз.

6. P5 I2C тандаңыз.

7. I2C байланышын иштетүү.

8. 5 Interfacing Options тандаңыз

9. P6 Сериясын тандаңыз

10. Кирүү кабыгын өчүрүү.

11. Сериялык байланышты иштетүү

6 -кадам: 6 -кадам: /boot/config.txt ичиндеги Орнотууларды өзгөртүү

Эми биз /boot/config.txt файлындагы кээ бир нерселерди кайра конфигурациялашыбыз керек

1. Файлга кирүү:

sudo nano /boot/config.txt

2. Төмөндө сиз көрүшүңүз керек:

enable_uart = 1

Себеби, биз буга чейин сериялык портту иштеткенбиз.

3. Төмөнкү эки сапты кошуңуз:

dtoverlay = pi3-miniuart-bt

dtoverlay = i2c-gpio, автобус = 3

Raspberry Pi 3 2 сериялык порту бар: аппараттык сериялык порт жана программалык сериялык порт. Биринчи буйрук менен биз программалык камсыздоонун сериялык портун Bluetooth функциясына жана Arduino менен байланышуу үчүн колдоно турган Rx жана Tx казыктарына аппараттык сериялык портту дайындайбыз.

Экинчи линия Pi боюнча программалык I²C автобусун иштетет. Бул I²C аппараттык шинасы кээде бул I²C автобусуна туташкан сенсор сааттын созулушун колдонгондо ката кетирет. I²C программалык программасы GPIO 23 (SDA) жана GPIO 4 (SCL) боюнча автоматтык түрдө активдүү болот, ошондуктан маалыматтарды жөнөтүү үчүн I²C колдонгон жарыктык сенсорун туура туташтыруу абдан маанилүү болгон.

7 -кадам: 7 -кадам: Колдонуучуну Оң Топторго кошуу

Акыры колдонуучуну кээ бир топторго кошуңуз:

1. Учурдагы колдонуучуңуз кайсы топторго таандык экенин текшериңиз:

сиздин_колдонуучу атыңызды топтоштурат

2. Бардык функциялар иштеши үчүн колдонуучу төмөнкү топторго кириши керек:

adm dialout sudo киргизүү netdev gpio i2c spi ·

Керек болсо, колдонуучуну тиешелүү топторго кошуңуз:

sudo adduser your_username groupname

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

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

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

Raspberry Piге маалымат базасын кошуу үчүн, төмөнкү кадамдарды жасаңыз:

1. Putty аркылуу байланыш түзүңүз

2. MySQL жаңыртуу

sudo apt-get update

sudo apt-get mysql-server --fix-missing -y орнотуу

sudo өчүрүп күйгүзүү

3. Коопсуз MariaDB

sudo mysql_secore_installation

4. MariaDBге кирүү

sudo mysql -u тамыры

5. Учурда маалымат базасында колдонуучулар жок. Биз бул кодду колдонуучу түзүү үчүн колдонобуз, сиз жөн гана колдонуучуну жана сырсөздү толтурушуңуз керек:

БАРДЫК АРТЫКТЫКТАРДЫ БЕРГИЛЕ *. * "Тандалган_колдонуучуну_аткыла"@'%'

ГРАНТ ОПЦИЯСЫ МЕНЕН "толтурулган_чык_сөзүңүздү" ИДЕНТИВАЛАНДЫРУУ;

ЧЫГУУ;

6. Githubдан маалымат базасын жүктөп алыңыз.

7. Иш тактасын орнотуңуз.

8. Пи менен workbenchке туташып, файлды аткарыңыз.

9 -кадам: 9 -кадам: Python коду

1. Githubдан Pythonfilesти жүктөп алып, сактаңыз.

2. Pycharmды жүктөп алып, ачыңыз.

3. Raspberry Pi үчүн ылайыктуу котормочу жана жайылтуу конфигурациясын жасаңыз.

4. PyCarmдагы mainCode1.py файлын түзөтүңүз жана мурунку кадамдардан баштап пиннумерлерди жана маалымат базасынын орнотууларын жеке жөндөөлөрүңүзгө өзгөртүңүз.

10 -кадам: 10 -кадам: Python кодун иштетүү

10 -кадам: Python кодун иштетүү
10 -кадам: Python кодун иштетүү

1. Пиңиз менен Putty туташуусун түзүңүз.

2. /etc/rc.local файлын ачыңыз:

sudo nano /etc/rc.local

3. Чыгуудан мурун төмөнкү саптарды кошуңуз:

уйку 60

python3 /path_from_root_to_your_pythonfile/name_of_your_pythonfile.py

11 -кадам: 11 -кадам: Arduino коду

1. Githubдан.ino файлын жүктөп алып, сактаңыз.

2. Ардуинону ноутбукка USB аркылуу туташтырыңыз.

3. Arduino Raspberry Pi менен туташтырган Rx жана Tx кабелдерин ажыратыңыз.

4. Файлды ачыңыз жана Arduinoго жүктөңүз.

5. Ардуинону ноутбуктан ажыратып, Rx жана Tx кабелдерин туура кайра туташтырыңыз.

6. Ардуиного күч бер. 4*7 сегментинин дисплейи азыр 12:34 көрсөтүшү керек

12 -кадам: 12 -кадам: Webserver

12 -кадам: Webserver
12 -кадам: Webserver

1. Apache орнотуу:

sudo apt install apache2 -y

2./var/www/html каталогунун ээси болуңуз:

sudo chown pi/var/www/html

3. Каталогго өтүңүз:

cd/var/www/html

4. Сиз тамырдын ордуна ээси экениңизди текшериңиз:

ls -al

5. Filezilla жүктөп алып ачыңыз

6. Сүрөттө көрсөтүлгөндөй пи менен байланыш түзүңүз. (же 169.254.10.1 жана ethernet кабелин колдонуңуз же wi-fi аркылуу туташыңыз)

а. Каталогго өтүңүз/var/www/html

б. Демейки index.html барагын жок кылыңыз

в. Бардык алдыңкы файлдарды бул каталогго жылдырыңыз

13 -кадам: 13 -кадам: Сыртты куруу

13 -кадам: Сыртты куруу
13 -кадам: Сыртты куруу
13 -кадам: Сыртты куруу
13 -кадам: Сыртты куруу
13 -кадам: Сыртты куруу
13 -кадам: Сыртты куруу

Сиз будильниктин сыртын өзүңүз каалагандай жасай аласыз! Мен ойготкуч саатым үчүн 5 мм туурасы мультиплекс жыгач панели менен куту жасадым. Мен окшош нерсени жасагыңыз келет, бул кутучанын кадамдары:

1. Мультиплекс панелине төмөнкү фигураларды чийиңиз:

Тараптар: 2 х чарчы (180 мм x 180 мм)

Үстү жана асты: 2 x тик бурчтук (180 мм x 300 мм)

Алдыңкы жана арткы: 2 x тик бурчтук (170 мм x 300 мм)

2. Ар бир формадагы төрт бурчтукту жана кумду көрүңүз

3. Кошумча жыгач алып, бийиктиги 20 мм жана туурасы 20 мм болгон кичинекей тактайларды жасаңыз.

4. Фотолордо көрүнүп тургандай, кичинекей тактайларды мультиплекстин ичине (асты, алдыңкы жана арткы тарабына) сайыңыз.

5. ЖК-экрандын, 4*7 сегментинин дисплейинин, үн күчөткүчтүн, жаркыроо сенсорунун, RGB LEDинин, айлануучу коддогучтун жана баскычтын тиешелүү тешиктерин жасоону каалаган жериңизди чечиңиз.

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

7. Керектүү бөлүктөрдү кесип алыңыз.

8. Үстүн жана арт жагын туташтырып, кутунун сыртына бир нече топсолорду бекит.

9. Магнитти маңдайдын ички жагына жана үстүңкү капталдын ички жагына кичинекей металл пластинканы жабыштырыңыз.

10. Баарын каалаган жерге бурап же клей менен жабыңыз.

11. Сырттагы бардык жактарын бурап кутуну чогултуңуз (үстүнөн башкасы).

Эгерде сиз кичинекей бурамаларды колдонсоңуз, 3 жана 4тү өткөрүп жибере аласыз (мен 12 мм бурамаларды колдондум). Кичине бурамаларды колдонуу кутунун туруктуулугун бир аз төмөндөтөт.

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