Съдържание:

Fanair: метеорологична станция за вашата стая: 6 стъпки (със снимки)
Fanair: метеорологична станция за вашата стая: 6 стъпки (със снимки)

Видео: Fanair: метеорологична станция за вашата стая: 6 стъпки (със снимки)

Видео: Fanair: метеорологична станция за вашата стая: 6 стъпки (със снимки)
Видео: Злые Призраки Обитают В Этом Доме | Evil Ghosts Inhabit This House 2024, Ноември
Anonim
Fanair: метеорологична станция за вашата стая
Fanair: метеорологична станция за вашата стая

Има безброй начини да разберете текущото време, но тогава знаете само времето навън. Ами ако искате да знаете времето във вашата къща, в определена стая? Това се опитвам да разреша с този проект.

Fanair използва множество сензори, за да усети:

  • температура
  • влажност
  • светлина
  • определени газове
  • въздушно налягане

Той е много компактен и използва Raspberry Pi 3 B, за да получи стойностите, да ги запише в база данни MySQL и след това да ги направи лесно достъпни на уебсайт. В кода и уебсайта е включена възможността за получаване на актуални метеорологични данни за вашето местоположение, така че уебсайтът да може да се използва и за проверка на външното време.

Стъпка 1: Вземете всички необходими елементи

Вземете всички необходими артикули
Вземете всички необходими артикули

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

За по -конкретни елементи направих този материал.

  • Малина Pi 3 B
  • MPC3008-8-канален 10-битов ADC
  • Термометър AM2301 Сензор за температура и влажност
  • WR Rademacher WR-tyoe 930-1 PCB
  • ABS калъф за прототипиране (черен)
  • LDR
  • Газов сензор MQ135
  • 2x BC517 Дарлингтънски транзистор
  • RGB LED
  • Пакет резистори
  • Звуков сигнал
  • Проводници
  • Барометър BMP280
  • Тих USB вентилатор (5V)

Всичко това заедно би трябвало да струва около 110 евро. Имайте предвид, че общата цена е приблизителна. Също така, моят проект има LCD екран на снимката, но не е свързан, тъй като нямаше достатъчно място в моя случай, така че не е включен в инструкциите.

Стъпка 2: Подгответе си Raspberry Pi

Вземете вашата Raspian Jessie с операционна система Pixel от официалния сайт на Raspberry Pi и след като я изтеглите, я разархивирайте. Ще получите файл с изображение. За да го получите на Pi, ще трябва да го запишете на SD-картата с помощта на Win32 Disk Imager. След като бъде инсталиран, изберете файла с изображението и устройството, в което се намира вашата SD-карта. След това натиснете write и изчакайте, докато приключи.

Когато приключи, щракнете върху вашата SD-карта в File Explorer и отворете файла, наречен „cmdline.txt“, отидете в края на текстовия файл точно преди rootwait и напишете „ip = 254.169.10.2“с интервали около, разбира се. След като го запазите, трябва да щракнете с десния бутон някъде в прозореца и да създадете нов файл, наречен 'ssh'. Обърнете внимание, че този файл няма разширение на файла. За да се уверите, че няма разширение, щракнете върху „изглед“във File Explorer и проверете „скрити файлове“. Ако го преименува и изтрие разширението, така че да чете само „ssh“.

След като направите това, най-накрая можете да поставите вашата SD-карта в Raspberry Pi. Изтеглете ssh клиент (препоръчвам MobaXterm). И се свържете чрез ssh с IP, който сте задали по -рано „254.169.10.2“. Потребителското име е „pi“, паролата „малинов“. Ако искате, можете да промените паролата, като въведете командата 'sudo passwd' в терминала и следвате инструкциите. Тъй като ще използваме добра част от SD-картата за Fanair, трябва да разширите наличното място за съхранение, като напишете „sudo rapi-config“, изберете „Разширени опции“и след това „Разширете файловата система“. Ако бъдете подканени, рестартирайте.

Ще използваме 1-проводния, SPI и I2C интерфейс. За да можете да ги използвате, първо трябва да ги настроите!

Стъпка 3: Свържете всичко заедно

Свържете всичко заедно
Свържете всичко заедно
Свържете всичко заедно
Свържете всичко заедно

Време е да направите верига! За първи път вероятно трябва да го изпробвате на чертеж, но ако нямате време за това, можете да опитате да го запоите заедно.

Схемата, от която се нуждаете, изглежда като горната, за удобство е включена и версия на макет.

Стъпка 4: Създайте вашата база данни

За да запазим ефективно всички данни, които ще получите, ще използваме база данни на TSQL MySQL. Преди да инсталираме MySQL, нека се уверим, че всичко е актуално, като въведем няколко команди в терминала:

  • 'sudo apt-get update'
  • 'sudo apt-get upgrade'
  • 'sudo apt-get dist-upgrade'

Приемете всяка подкана, като напишете „y“и въведете.

За да инсталирате MySQL тип:

  • 'sudo apt-get install mysql-server'
  • 'sudo apt-get install mysql-client'

Когато бъдете подканени, създайте основна парола по ваш избор.

След като приключи инсталирането на вход, като използвате:

'mysql -uroot -p'

И въведете паролата си.

Вземете кода на Fanair от My Github! Кликнете върху „Клониране или изтегляне“и след това върху „Изтегляне на ZIP“. Разархивирайте кода в избрана от вас папка. Заявката за създаване на напълно работеща база данни е в папката на базата данни. Отворете файла, копирайте кода и го поставете в терминала с отворен MySQL. След това натиснете enter и базата данни е готова!

Стъпка 5: Време е за кода

За да използвате всички сензори, очевидно трябва да стартирате програма. За щастие кодът вече е направен (в по -голямата си част) и вече го изтеглихме при получаване на SQL заявка към базата данни.

Както казах, има няколко неща, които все още трябва да бъдат променени / добавени, за да работи програмата правилно. На първо място, програмата използва Darksky API за получаване на метеорологичните данни въз основа на географска дължина и ширина. За да го използвате, трябва да се регистрирате. Първите 1000 обаждания са безплатни и след това струват $ 0,0001 на разговор. Чувал съм, че ако не платите, акаунтът ви се блокира. Честно казано, $ 0,0001 на разговор е доста евтино. Fanair извиква най -новите данни на всеки час, което означава, че след една година, ако работи на пълен работен ден, това ще ви струва само $ 0,876. Освен това получавате 41 дни безплатно, ако Fanair работи на пълен работен ден.

След като се регистрирате, потърсете своя API ключ. Потърсете географската дължина и ширина на вашето местоположение в google maps или опитайте да го потърсите в google. Създайте нов текстов файл основната директория на Fanair (с класове, main.py …). Дайте име на файла „key_location.txt“. Отворете текстовия файл и на първия ред поставете вашия Darksky API ключ. На втория ред поставете вашата дължина и на третия ред вашата географска ширина (и двете в десетичен формат). Когато приключите, запазете файла.

В същата директория създайте друг текстов файл, наречен 'database_dsn.txt'. Първият ред трябва да казва „localhost“. Вторият ред е „root“. В третия ред трябва да въведете паролата си, която сте направили за базата данни по -рано, а в четвъртия и последен ред трябва да въведете „fanair“.

Щракнете с десния бутон върху файла main.py и изберете редактиране. 'Fanair = Fanair (5, 26, 17, 27, 22, 4, "AM2301", 1, 0, 0, 0, "key_location.txt", "database_dsn.txt")' трябва да се промени. Ако сте следвали картината, първите 5 стойности трябва да бъдат променени от „5, 26, 17, 27, 22, 4“на „20, 21, 26, 19, 13“. „/home/muhsin/Applications/Fanair“също трябва да бъде променено на вашия root път на Fanair (където е main.py). Не забравяйте да поставите наклонена черта пред „дома“, но не след „Fanair“.

Всичко това е страхотно, но кодът трябва да влезе в Pi. За наш късмет протоколът sftp съществува. За да поставите файловете в Pi използвайте sftp клиент като FileZilla или ако сте решили да използвате MobaXterm можете лесно да качите файловете в sftp интерфейса вляво от терминала.

Според моя опит не винаги получавам точната дата и час в Raspberry Pi. За да сте сигурни, че ще получите правилния час и час, предлагам да следвате това ръководство: Дата и час за синхронизиране на Raspberry Pi.

И не на последно място трябва да се инсталират няколко библиотеки и да се активират няколко интерфейса:

'sudo apt-get install build-essential python-dev'

Adafruit DHT:

'pip3 инсталирайте adafruit_python_dht'

1-проводник:

  1. 'sudo raspi-config'
  2. „Опции за взаимодействие“
  3. „1 тел“
  4. Активиране
  5. 'sudo nano /boot/config.txt'
  6. Добавете този ред във файла: 'dtoverlay = w1-gpio'
  7. 'sudo рестартиране'

SPI:

  1. 'sudo raspi-config'
  2. „Опции за взаимодействие“
  3. „SPI“
  4. Активиране
  5. 'sudo рестартиране'
  6. 'sudo nano /boot/config.txt'
  7. Потърсете „dtparam = spi = on“и го декомментирайте, като премахнете хаштага.
  8. 'sudo apt-get install python3-dev

Smbus:

  1. 'sudo raspi-config' '
  2. „Опции за взаимодействие“
  3. "I2C"
  4. Активиране
  5. 'sudo рестартиране'
  6. 'sudo apt-get install -y python-smbus'
  7. 'sudo apt-get install -y i2c-tools'
  8. 'sudo nano /boot/config.txt'
  9. Потърсете dtparam = i2c_arm = on и го декомментирайте, като премахнете хаштага.

колба

pip3 инсталирайте Flask

конектор на mysql

'pip3 install -Iv mysql -connector == 2.1.4'

spidev

'pip3 install py-spidev'

мрачно небе

'pip3 инсталирайте darkskylib'

Стъпка 6: Изпробвайте

Ако сте успели да стигнете дотук, докоснете се по гърба. Сега всичко е направено, за да може Fanair да работи правилно. Така че, за да го тествате, въведете 'cd ""'. Местоположението на файла е „/home/pi“например, ако току -що сте поставили в домашната си директория. След това въведете „python3 main.py“и го оставете да почине 15 минути, за да има данни в базата данни, когато приключи. След това натиснете „ctrl + c“, спрете програмата и въведете „python3 Flask.py“. За да видите дали вашият уебсайт работи, трябва да сърфирате до IP адреса на вашия Pi, който сте направили с „: 5000“след него (като този: 169.254.10.1:5000 ').

За да го стартирате автоматично след зареждане:

'sudo nano /etc/rc.local'

В края на файла НО ПРЕДИ излизане 0:

'sudo python3 "/main.py" &'

'sudo python3 "/Flask.py" &'

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

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