Съдържание:

Интелигентен будилник: 13 стъпки
Интелигентен будилник: 13 стъпки

Видео: Интелигентен будилник: 13 стъпки

Видео: Интелигентен будилник: 13 стъпки
Видео: РАЗДАЕТ WIFI СЛЕДИТ ЗА ЧЕЛОВЕКОМ 4G камера видеонаблюдения 2024, Юли
Anonim
Интелигентен будилник
Интелигентен будилник

Здравейте, казвам се Александра Кристианс и изучавам медии и комуникационни технологии в Howest в Кортрейк, Белгия.

Като училищна задача трябваше да направим IoT устройство. Бяхме насърчени да направим нещо, което би променило както нашия собствен живот, така и живота на хора, които познаваме. Беше ми доста трудно да намеря проект и когато се опитвах да търся подходящ проект, често си мислех: „Прекалено съм уморен за това“. Така че в крайна сметка осъзнах, че това може да е моят проект: бих направил интелигентен будилник, който едновременно да ми помогне да ставам сутрин и да ми помогне да си легна навреме навреме. Тъй като изискванията за това задание диктуваха, че трябва да използваме Raspberry Pi, за да изпълняваме всичко, реших да нарека устройството си „Sleepi“като игра на думи.

Ако искате да направите това устройство сами и да получите приличен режим на сън като мен, разгледайте това удобно ръководство, което написах по -долу. Ако искате да знаете повече за мен и други проекти, които направих или ще направя, разгледайте моето портфолио.

Стъпка 1: Стъпка 1: Събиране на компонентите

Стъпка 1: Събиране на компонентите
Стъпка 1: Събиране на компонентите
Стъпка 1: Събиране на компонентите
Стъпка 1: Събиране на компонентите
Стъпка 1: Събиране на компонентите
Стъпка 1: Събиране на компонентите

И така, първо, нека се уверим, че имаме всичко необходимо, преди да започнем да строим. Направих списък с най -важните компоненти. Отдолу можете да намерите pdf с по -подробна информация за компонентите.

- 1 x Raspberry Pi 3 модел B

- 1 x (празна) microSD карта и адаптер (имам 16GB карта, но 8GB са достатъчни)

- 1 x 5V захранване за Raspberry Pi

- 1 x Ethernet кабел

- 2 x 9V батерии

- 2 x 9V скоби за батерии

- 1 x GPIO 40 -пинова платка за разширение и дъгов кабел

- 2 x BB830 Безплатни Plug-in Breadbord

- 1 x Arduino Uno

- 1 x 0,56 инчов 4*7 сегментен дисплей

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

- 1 x сензор за осветеност TSL2561

- 1 x 1602A LCD екран

- 1 x преобразувател на ниво

- 1 x регистър на смяна SN74HC595N

- 1 x въртящ се енкодер

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

- 1 x Power RGB LED

- 1 x високоговорител

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

- 1 x диод

- 1 x бутон

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

- 7 x резистора (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. Инсталирайте софтуера Raspbian OS от уеб сайта на Raspberry pi.

Изтеглете ZIP файла и го извлечете на желаното място.

3. Изтеглете диспечера на дискове Win32.

Щракнете върху иконата на папката, за да изберете изображението Изберете вашия microSD в „Устройство“Кликнете върху „Писане“

Когато изображението е записано на вашата MicroSD карта, можете да го отворите в Windows Explorer.

Отворете файла "cmdline.txt" В края на файла добавете следния ред текст: ip = 169.254.10.1 Уверете се, че всичко е на същия ред. Запазете файла.

Сега извадете MicroSD картата от компютъра. Уверете се, че захранването на вашия Pi е изключено и поставете картата в Raspberry Pi.

Свържете Ethernet кабел към вашия Pi и компютъра си.

Приложете захранване към вашия Pi с 5, 2V захранващ адаптер.

Стъпка 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

б. В долната част на файла добавете тези редове:

i. Мрежа = {

ii. ssid = „Попълнете името на вашата безжична мрежа“

iii. psk = „Попълнете паролата за вашата безжична мрежа“

iv. }

° С. Затворете файла и го запазете

5. Въведете следната команда, за да разберете IP адреса на вашия Pi: ifconfig wlan0

6. Вече можете да използвате този IP адрес в Putty, за да направите безжична връзка (вижте по -горе).

Стъпка 5: Стъпка 5: Променете настройките с Raspi-config

Сега трябва да се уверим, че Pi може да комуникира с всички наши компоненти.

Ще променим някои настройки в raspi-config

Отворете raspi-config с командата:

sudo raspi-config

2. Изберете 4 Опции за локализация.

3. Изберете I2 Промяна на часовата зона.

4. Променете часовата зона на вашата местна часова зона и завършете, за да се върнете към raspi-config.

5. Изберете 5 Опции за взаимодействие.

6. Изберете P5 I2C.

7. Активирайте I2C комуникация.

8. Изберете 5 Опции за взаимодействие

9. Изберете P6 Serial

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 и присвояваме хардуерния сериен порт към пиновете Rx и Tx, които ще използваме за комуникация с Arduino.

Вторият ред активира софтуерна шина I²C на Pi. Това е така, защото хардуерната шина 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 име на група

Стъпка 8: Стъпка 8: База данни

Стъпка 8: База данни
Стъпка 8: База данни
Стъпка 8: База данни
Стъпка 8: База данни
Стъпка 8: База данни
Стъпка 8: База данни

За да мога да съхраня различните алармени времена, зададени от потребителя, и различните стойности на сензорите, трябваше да направя база данни. Можете да видите схемата на базата данни по -горе.

За да добавите базата данни към Raspberry Pi, направете следните стъпки:

1. Направете връзка чрез Putty

2. Актуализирайте MySQL

sudo apt-get update

sudo apt-get install mysql-server --fix-missing -y

sudo рестартиране

3. Защитете MariaDB

sudo mysql_secore_installation

4. Влезте в MariaDB

sudo mysql -u корен

5. Понастоящем базата данни няма потребители. Използваме този код за създаване на потребител, просто трябва да попълните потребителя и паролата:

ПРЕДОСТАВЕТЕ ВСИЧКИ ПРИВИЛЕГИИ НА *. * НА ‘fill_in_your_chosen_username’@’%’

ИДЕНТИФИЦИРАНО ОТ „fill_in_your_chosen_password“С ОПЦИЯ ЗА ГРАНТ;

FLUSH PRIVILEGES; ИЗХОД;

6. Изтеглете базата данни от Github.

7. Инсталирайте работната маса.

8. Направете връзка в работен плот с вашия pi и изпълнете файла.

Стъпка 9: Стъпка 9: Python код

1. Изтеглете и запишете Pythonfiles от Github.

2. Изтеглете и отворете Pycharm.

3. Направете конфигурация за интерпретатор и разполагане, подходяща за вашия Raspberry Pi.

4. Редактирайте файла mainCode1.py в Pycharm и променете пиновите номера и настройките на базата данни към личните си настройки от предишните стъпки.

Стъпка 10: Стъпка 10: Автоматично стартирайте кода на Python

Стъпка 10: Автоматично стартирайте кода на Python
Стъпка 10: Автоматично стартирайте кода на Python

1. Направете замазка връзка с вашия Pi.

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. Изтеглете и запазете.ino файла от Github.

2. Свържете вашия Arduino с вашия лаптоп чрез USB.

3. Изключете Rx и Tx кабелите, които свързват Arduino с Raspberry Pi.

4. Отворете файла и го качете в Arduino.

5. Изключете Arduino от вашия лаптоп и свържете отново Rx и Tx кабелите правилно.

6. Дайте сила на Arduino. 4*7 сегментният дисплей сега трябва да показва 12:34

Стъпка 12: Стъпка 12: Уеб сървър

Стъпка 12: Уеб сървър
Стъпка 12: Уеб сървър

1. Инсталирайте apache:

sudo apt инсталирате apache2 -y

2. Станете собственик на директорията/var/www/html:

sudo chown pi/var/www/html

3. Отидете в директорията:

cd/var/www/html

4. Проверете дали сте собственик вместо root:

ls -al

5. Изтеглете и отворете Filezilla

6. Направете връзка с вашия pi, както е показано на снимката. (или използвайте 169.254.10.1 и Ethernet кабел или се свържете чрез wi-fi)

а. Отидете в директорията/var/www/html

б. Изтрийте стандартната страница index.html

° С. Преместете всички външни файлове в тази директория

Стъпка 13: Стъпка 13: Изграждане отвън

Стъпка 13: Изграждане отвън
Стъпка 13: Изграждане отвън
Стъпка 13: Изграждане отвън
Стъпка 13: Изграждане отвън
Стъпка 13: Изграждане отвън
Стъпка 13: Изграждане отвън

Можете да направите външната страна на будилника както искате! Направих кутия за моя будилник с мултиплекс от дървен панел с ширина 5 мм. Искам да направите нещо подобно, това са стъпките за казаното поле:

1. Начертайте следните форми на мултиплексния панел:

Страни: 2 x квадрат (180 mm x 180 mm)

Отгоре и отдолу: 2 x правоъгълник (180 mm x 300 mm)

Отпред и отзад: 2 x правоъгълник (170 mm x 300 mm)

2. Изрежете и опесъчете всяка форма квадрат и правоъгълник

3. Вземете малко резервно дърво и направете малки дъски с височина 20 мм и широчина 20 мм.

4. Завийте малките дъски към вътрешностите (отдолу, отпред и отзад) на мултиплекса, както се вижда на снимките.

5. Решете къде искате да направите подходящите отвори за LCD екрана, 4*7 сегментен дисплей, високоговорител, сензор за светлинна сила, RGB LED, въртящ се енкодер и бутон.

6. Измерете всеки компонент, който искате да покажете отвън, и начертайте фигури с подходящ размер в мултиплекса.

7. Изрежете необходимите парчета.

8. Прикрепете някои панти от външната страна на кутията, свързвайки горната и задната страна.

9. Прикрепете магнит от вътрешната страна на предната част и малка метална пластина от вътрешната страна на горната част.

10. Завийте или залепете всичко, където искате.

11. Сглобете кутията, като завиете всички външни страни (с изключение на горната част).

Можете да пропуснете 3 и 4, ако използвате по -малки винтове (аз използвах 12 мм винтове). Използването на по -малки винтове обаче намалява леко стабилността на кутията.

Препоръчано: