AtticTemp - Температура / Климат жазгыч: 10 кадам (Сүрөттөр менен)
AtticTemp - Температура / Климат жазгыч: 10 кадам (Сүрөттөр менен)
Anonim
AtticTemp - Температура / Климат Логгери
AtticTemp - Температура / Климат Логгери

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

1 -кадам: Жаркыраган RaspberriPi Hard Disk / Керектүү Программаны Орнотуу (Ubuntu Linuxту колдонуу)

"RASPBIAN JESSIE LITE" жүктөп алуу

DashboardPI үчүн жаңы катуу дискти түзүңүз

USB адаптери аркылуу microSDди компьютериңизге киргизиңиз жана dd командасын колдонуп дисктин сүрөтүн түзүңүз

Киргизилген microSD картаңызды df -h буйругу аркылуу таап, аны ажыратып, dd буйругу менен дисктин сүрөтүн түзүңүз.

$ df -h/dev/sdb1 7.4G 32K 7.4G 1%/медиа/XXX/1234-5678

$ umount /dev /sdb1

Эскертүү: буйруктун так экенине ишениңиз, бул буйрук менен башка дисктерге зыян келтире аласыз

if = RASPBIAN JESSIE LITE сүрөт файлы = microSD картаңыздын жайгашкан жери

$ sudo dd bs = 4M if =/path/to/raspbian-jessie-lite.img of//dev/sdb (note: in this case, it's this/dev/sdb,/dev/sdb1 was in the existing zavod partition on microSD)

RaspberriPi орнотуу

Жаңы microSD картаңызды raspberrypiге салып, HDMI портуна туташкан монитор менен күйгүзүңүз

Кирүү

колдонуучу: pi pass: малина

Коопсуздук үчүн каттоо эсебиңиздин сырсөзүн өзгөртүңүз

sudo passwd pi

RaspberriPi Advanced Options иштетүү

sudo raspi-config

Тандоо: 1 Файл системасын кеңейтүү

9 Advanced Options

A2 Hostname аны "AtticTemp" кылып өзгөртөт

A4 SSH SSH серверин иштетүү

A7 I2C i2c интерфейсин иштетүү

Англисче/АКШ баскычтобун иштетүү

sudo nano/etc/default/keyboard

Төмөнкү сапты өзгөртүңүз: XKBLAYOUT = "us"

Клавиатуранын жайгашуусун өзгөртүү үчүн / файл системасынын өлчөмүн өзгөртүү үчүн PIди кайра жүктөө

$ sudo өчүрүү -r азыр

WiFiга автоматтык түрдө туташуу

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Сиздин raspberrypi автоматтык түрдө үй WiFiңызга кошулушу үчүн төмөнкү саптарды кошуңуз (эгер сиздин зымсыз тармагыңыз "linksys" деп аталып калса, мисалы, төмөнкү мисалда)

network = {ssid = "linksys" psk = "БУЛ ЖЕРДЕ ЗАПСЫЗ ПАРОЛЬ"} WiFi тармагына туташуу үчүн PIди кайра жүктөңүз

$ sudo өчүрүү -r азыр

Эми сиздин PI акыры жергиликтүү тармакта болгондуктан, ага алыстан SSH аркылуу кире аласыз. Бирок адегенде азыркы учурда бар болгон IP дарегин алышыңыз керек.

$ ifconfig "inet addr: 192.168. XXX. XXX" издеңиз, PIнин IP дареги үчүн төмөнкү буйруктун чыгарылышында.

Башка машинага өтүп, raspberrypi -ге ssh аркылуу кириңиз

$ ssh [email protected]. XXX. XXX

Керектүү пакеттерди орнотууну баштаңыз

$ sudo apt-get update

$ sudo apt-get жогорулатуу

$ sudo apt-get install vim git python-python-smbus i2c-tools python-Imaging python-smbus build-essential python-dev rpi.gpio python3 python3-pip libi2c-dev

Жергиликтүү убакыт алкагынын жөндөөлөрүн жаңыртуу

$ sudo dpkg-маалыматты кайра конфигурациялоо

интерфейс аркылуу убакыт алкагыңызды тандаңыз

Жөнөкөй каталогду орнотуу l буйругу [милдеттүү эмес]

$ vi ~/.bashrc

төмөнкү сапты кошуу:

$ alias l = 'ls -lh'

$ source ~/.bashrc

VIM демейки синтаксисин бөлүп көрсөтүүнү оңдоңуз [милдеттүү эмес]

$ sudo vi/etc/vim/vimrc

төмөнкү сапка комментарий бербеңиз:

синтаксис күйгүзүлгөн

2 -кадам: Долбоорду клондоо / Программалык камсыздоо драйверлерин орнотуу

Clone Project репозиторийи

$ cd ~

$ git клону

DHT22 орнотуу

$ cd ~

$ git клону

$ cd Adafruit_Python_DHT/

$ sudo python setup.py орнотуу

$ sudo python ez_setup.py

$ cd мисалдары/

$ vi simpletest.py

Төмөнкү сапты өзгөртүү:

сенсор = Adafruit_DHT. DHT22

Сызыкты комментарийге калтырыңыз

пин = 'P8_11'

Сызыкка комментарий жазбай, пин номерин 16га өзгөртүңүз

пин = 18

Тестти иштет

python simpletest.py

Сиз буйрук сабында көрсөтүлгөн Temp and Humidity аттуу метрикалык окууну көрүшүңүз керек.

SSD1306 орнотуу

Айдоочуларды/SSD1306.zipди долбоор папкасына чыгаруу

Драйверди орнотуңуз

$ cd ssd1306/ $ sudo python setup.py орнотуу

Түзмөгүңүздүн регистрлерин ырастаңыз, көбүнчө i2c шинасында / 0x3c

$ sudo i2cdetect -y 1

0 1 2 3 4 5 6 7 8 9 abcdef 00: - - - - - - - - - - - - - 10: - - - - - - - - - - - - - - - - - - - 20: - - - - - - - - - - - - - - - - - 30: - - - - - - - - - - - - 3c - - - 40: - - - - -------------50:------------ ----60:----------------70:--- ----- Дисплейиңиздин иштөө абалда экенин ырастоо үчүн демону иштетиңиз

$ cd мисалдары/ $ python demo.py

3 -кадам: Керектелүүчү материалдар

Керектелүүчү материалдар
Керектелүүчү материалдар
Керектелүүчү материалдар
Керектелүүчү материалдар
Керектелүүчү материалдар
Керектелүүчү материалдар
Керектелүүчү материалдар
Керектелүүчү материалдар

RaspberriPi Zero

DHT22 температура-нымдуулук сенсору

0.96 I2C IIC SPI Serial 12864 OLED ЖК LED Ак дисплей модулу

2.4 400x240 16: 9 Сериялык: UART/I2C/SPI TFT сенсордук экраны

4 -кадам: Түзмөктү зымга сайыңыз

Түзмөктү зым менен жабыңыз
Түзмөктү зым менен жабыңыз
Түзмөктү зым менен жабыңыз
Түзмөктү зым менен жабыңыз

SSD1306 дисплейи

GND -> GND

DATA -> SDA

CLK -> SCL

VCC -> 3V

Digole Display

GND -> GND

DATA -> SDA

CLK -> SCL

VCC -> 3V

DHT22 Humidistat

VCC -> 5V

GND -> GND

DATA -> GPIO 18 / PIN 12

5 -кадам: Түзмөктү куруу

Түзмөктү куруу
Түзмөктү куруу
Түзмөктү куруу
Түзмөктү куруу

3D баскычтын астына түзмөктүн маңдайына Plexiglass кесиңиз

3D басылган алкак аркылуу бурамалар менен айнекти орнотуңуз

6 -кадам: Түзмөктү куруу (улант …)

Түзмөктү куруу (улант …)
Түзмөктү куруу (улант …)
Түзмөктү куруу (улант …)
Түзмөктү куруу (улант …)
Түзмөктү куруу (улант …)
Түзмөктү куруу (улант …)

Hot Glue компоненттери алдыңкы панелге каршы

Ичиндеги зым бирдиги

Артка орнотуп, ал барууга даяр болушу керек

7 -кадам: Колдонмону Settings.py Config File файлында туура иштетүү үчүн конфигурациялаңыз

Файл settings.py табыңыз жана учурдагы жөндөөлөрүңүзгө тууралаңыз

Жергиликтүү аба ырайы маалыматы үчүн # prognoz.io API ачкычы

weatherAPIURL = 'https://api.forecast.io/forecast/'

weatherAPIKey = 'СИЗДИН API АЧКЫЧЫ КАБЫЛ АЛУУ ҮЧҮН.'

# алыскы температура/нымдуулукту каттоочу үчүн кошумча

deviceLoggerAPI = 'mydevicelogger.com'

# үйүңүздүн жайгашкан жери үчүн Latitude/Longitude алуу үчүн googleден издеңиз

кеңдик = 41.4552578

узундук = -72.1665444

8 -кадам: Пландаштырылган скрипттерди орнотуу

$ crontab -e

Төмөнкү саптарды кошуңуз: */7 * * * * python /home/pi/AtticTemp/displays.py

ОПЦИОНАЛДЫ: API скриптине Temp Logger ар 10 мүнөт сайын

$ crontab -e

Төмөнкү саптарды кошуңуз: */10 * * * * python /home/pi/EnvironmentClock/temp-check.py

9 -кадам: ОПЦИОНАЛДЫК: дисплейде көрсөтүү үчүн өзүңүздүн аба ырайыңыздын сүрөттөрүн түзүү

Өзүңүздүн 128x128 файлыңызды төмөнкү URLге жүктөңүз:

www.digole.com/tools/PicturetoC_Hex_converter.php

Жүктөө үчүн сүрөт файлыңызды тандаңыз, экранда кандай өлчөмдө болушун кааласаңыз кошуңуз (Туурасы/Бийиктиги)

"Колдонуу үчүн" ачылуучу тизмесинен "256 Color for OLED/LCD (1 байт/пиксел)" тандаңыз.

Hex чыгарылышын алыңыз

Он алтылык чыгууну дисплей/ куруу/ header (.h) файлына кошуңуз, башкаларын синтаксис үчүн колдонмо катары колдонуңуз.

Жаңы файлды digole.c файлына #include myimage.h

Сүрөт файлыңызга жаңы буйрук сабынын кайырмасын кошуңуз. Эскертүү: төмөндөгү буйрукта 10 пикселден ылдый 10 пикселдик абалда сүрөтүңүздү тартуу керек деп айтылат. Сиз аны башка X, Y координаттарына өзгөртө аласыз, ошондой эле 128, 128 маанилерин жаңы сүрөтүңүздүн өлчөмүнө өзгөртө аласыз.

} else if (strcmp (digoleCommand, "myimage") == 0) {drawBitmap256 (10, 10, 128, 128, & myimageVariableHere, 0); // myimageVariableHere сиздин (.h) файлыңызда аныкталган}

Эми жаңы сүрөттү төмөнкү буйрук менен көрсөтүү үчүн төмөндө кайра куруңуз (каталарга көңүл бурбаңыз).

$./digole myimage

Кошумча өзгөртүүлөрүңүз үчүн [Камтылган] Digole Display Driver кайра куруу

$ cd дисплей/куруу

$ gcc digole.c

$ mv a.out../../digole

$ chmod +x../../digole

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