Mundarija:

AtticTemp - harorat / iqlim yozuvchisi: 10 qadam (rasmlar bilan)
AtticTemp - harorat / iqlim yozuvchisi: 10 qadam (rasmlar bilan)

Video: AtticTemp - harorat / iqlim yozuvchisi: 10 qadam (rasmlar bilan)

Video: AtticTemp - harorat / iqlim yozuvchisi: 10 qadam (rasmlar bilan)
Video: What should the summer attic temperature be How Hot is too Hot Episode 127 2024, Iyul
Anonim
AtticTemp - Harorat / Iqlimni hisobga oluvchi
AtticTemp - Harorat / Iqlimni hisobga oluvchi

Uyingizda yoki boshqa tashqi tuzilmalar uchun yuqori bardoshli harorat o'lchagichi va iqlim yozuvchisi

1 -qadam: RaspberriPi qattiq diskini yondirish / kerakli dasturiy ta'minotni o'rnatish (Ubuntu Linux yordamida)

"RASPBIAN JESSIE LITE" ni yuklab oling

DashboardPI uchun yangi qattiq diskni yarating

USB adapter orqali microSD -ni kompyuterga joylashtiring va dd buyrug'i yordamida disk tasvirini yarating

O'rnatilgan microSD kartani df -h buyrug'i orqali toping, uni ajratib oling va dd buyrug'i yordamida disk tasvirini yarating.

$ df -h/dev/sdb1 7.4G 32K 7.4G 1%/media/XXX/1234-5678

$ umount /dev /sdb1

E'tibor bering: buyruq to'liq aniqligiga ishonch hosil qiling, siz bu buyruq bilan boshqa disklarga zarar etkazishingiz mumkin

if = RASPBIAN JESSIE LITE rasm faylining joylashuvi = microSD kartangiz joylashuvi

$ sudo dd bs = 4M if =/path/to/raspbian-jessie-lite.img of//dev/sdb (eslatma: bu holda, bu/dev/sdb,/dev/sdb1-bu zavod bo'limi microSD)

RaspberriPi -ni sozlash

Yangi microSD kartani malinaga joylashtiring va HDMI portiga ulangan monitor bilan yoqing

Kirish

foydalanuvchi: pi pass: malina

Xavfsizlik uchun hisob parolini o'zgartiring

sudo passwd pi

RaspberriPi kengaytirilgan parametrlarini yoqing

sudo raspi-config

Tanlang: 1 Fayl tizimini kengaytiring

9 Kengaytirilgan imkoniyatlar

A2 xost nomi uni "AtticTemp" ga o'zgartiradi.

A4 SSH SSH serverini yoqish

A7 I2C i2c interfeysini yoqish

Ingliz/AQSh klaviaturasini yoqing

sudo nano/etc/default/klaviatura

Quyidagi qatorni o'zgartiring: XKBLAYOUT = "us"

Klaviatura tartibining o'zgarishi / fayl tizimining o'lchamlari kuchga kirishi uchun PIni qayta ishga tushiring

$ sudo yopilishi -r

Wi-Fi tarmog'iga avtomatik ulanish

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Raspberrypi avtomatik ravishda uy Wi -Fi tarmog'iga ulanishi uchun quyidagi qatorlarni qo'shing (agar simsiz tarmog'ingiz "linksys" deb nomlangan bo'lsa, masalan, quyidagi misolda).

tarmoq = {ssid = "linksys" psk = "Bu yerda simsiz parol"} Wi -Fi tarmog'iga ulanish uchun PIni qayta yoqing.

$ sudo yopilishi -r

Endi sizning PI mahalliy tarmoqda, siz unga SSH orqali masofadan kirishingiz mumkin. Lekin avval siz hozirda mavjud bo'lgan IP -manzilni olishingiz kerak.

$ ifconfig PI -ning IP -manzili uchun quyidagi buyruq chiqishida "inet addr: 192.168. XXX. XXX" ni qidiring.

Boshqa mashinaga o'ting va sasp orqali raspberrypi -ga kiring

$ ssh [email protected]. XXX. XXX

Kerakli paketlarni o'rnatishni boshlang

$ sudo apt-get yangilanishi

$ sudo apt-get yangilanishi

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

Mahalliy vaqt mintaqasi sozlamalarini yangilang

$ sudo dpkg-tzdata-ni qayta sozlang

interfeys yordamida vaqt mintaqangizni tanlang

Oddiy katalogni o'rnating l buyrug'i [ixtiyoriy]

$ vi ~/.bashrc

quyidagi qatorni qo'shing:

$ taxallus l = 'ls -lh'

$ manba ~/.bashrc

VIM standart sintaksisini ajratib ko'rsatish [ixtiyoriy]

$ sudo vi/etc/vim/vimrc

quyidagi qatorga izoh qoldiring:

sintaksis yoqilgan

2 -qadam: Loyihani klonlash / dasturiy ta'minot drayverlarini o'rnatish

Loyiha omborini klonlash

$ CD ~

$ git klon

DHT22 o'rnatish

$ CD ~

$ git klon

$ cd Adafruit_Python_DHT/

$ sudo python setup.py ni o'rnating

$ sudo python ez_setup.py

$ CD misollar/

$ vi simpletest.py

Quyidagi qatorni o'zgartiring:

Sensor = Adafruit_DHT. DHT22

Chiziqni sharhlang

pin = 'P8_11'

Chiziqni qoldiring va pin raqamini 16 ga o'zgartiring

pin = 18

Sinovni ishga tushiring

python simpletest.py

Buyruqning satrida harorat va namlikning metrik ko'rsatkichini ko'rishingiz kerak.

SSD1306 o'rnatish

Drayvlarni/SSD1306.zip -ni loyiha papkasiga chiqarib oling

Drayverni o'rnating

$ cd ssd1306/ $ sudo python setup.py ni o'rnating

Qurilmangiz registrlarini tasdiqlang, odatda u i2c avtobusida / 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:--- ----- Displeyingiz ish holatida ekanligini tasdiqlash uchun demoni ishga tushiring

$ CD misollari/ $ python demo.py

3 -qadam: Kerakli materiallar

Kerakli materiallar
Kerakli materiallar
Kerakli materiallar
Kerakli materiallar
Kerakli materiallar
Kerakli materiallar
Kerakli materiallar
Kerakli materiallar

RaspberriPi nol

DHT22 harorat-namlik sensori

0,96 dyuymli I2C IIC SPI seriyali 12864 OLED LCD LED oq displeyli modul

2.4 400x240 16: 9 seriyali: UART/I2C/SPI TFT sensorli displeyi

4 -qadam: qurilmani sim bilan ulang

Qurilmani simga ulang
Qurilmani simga ulang
Qurilmani simga ulang
Qurilmani simga ulang

Displey SSD1306

GND -> GND

Ma'lumotlar -> SDA

CLK -> SCL

VCC -> 3V

Digole displeyi

GND -> GND

Ma'lumotlar -> SDA

CLK -> SCL

VCC -> 3V

DHT22 namlagichi

VCC -> 5V

GND -> GND

Ma'lumotlar -> GPIO 18 / PIN 12

5 -qadam: Qurilmani yarating

Qurilmani yarating
Qurilmani yarating
Qurilmani yarating
Qurilmani yarating

Qurilmaning old qismini 3D bosilgan ramka ostiga joylashtirish uchun Plexiglass -ni kesib oling

3D bosilgan ramka orqali oynani vintlar bilan mahkamlang

6 -qadam: Qurilmani yarating (davomi …)

Qurilmani yaratish (davomi …)
Qurilmani yaratish (davomi …)
Qurilmani yaratish (davomi …)
Qurilmani yaratish (davomi …)
Qurilmani yaratish (davomi …)
Qurilmani yaratish (davomi …)

Issiq yopishtiruvchi komponentlar old panelga

Ichkaridagi sim birligi

Orqa tomonni o'rnating va u borishga tayyor bo'lishi kerak

7 -qadam: Settings.py konfiguratsiya faylida ilovaning to'g'ri ishlashini sozlang

Settings.py faylini toping va joriy sozlamalaringizga moslang

Mahalliy ob -havo ma'lumoti uchun # prognoz.io API kaliti

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

weatherAPIKey = 'FOREXAST. IO uchun API kalitingiz'

# masofadan turib harorat/namlik registrini ishga tushirish uchun ixtiyoriy

deviceLoggerAPI = 'mydevicelogger.com'

# uyingiz joylashuvi uchun kenglik/uzunlikni bilish uchun google -dan qidiring

kenglik = 41.4552578

uzunlik = -72.1665444

8 -qadam: Rejalashtirilgan skriptlarni o'rnating

$ crontab -e

Quyidagi qatorlarni qo'shing: */7 * * * * python /home/pi/AtticTemp/displays.py

Ixtiyoriy: har 10 daqiqada API skriptiga kiruvchi log

$ crontab -e

Quyidagi qatorlarni qo'shing: */10 * * * * python /home/pi/EnvironmentClock/temp-check.py

9 -qadam: ixtiyoriy: displeyda ko'rsatish uchun o'zingizning ob -havo rasmlaringizni yaratish

O'zingizning 128x128 faylingizni quyidagi URL manziliga yuklang:

www.digole.com/tools/PicturetoC_Hex_converter.php

Yuklash uchun rasm faylini tanlang, ekranga kerakli o'lchamni qo'shing (Kenglik/Balandlik)

Ochilgan menyuda "OLED/LCD rangli 256 rang (1 bayt/piksel)" ni tanlang.

Olti burchakli chiqishni oling

Olti burchakli chiqishni display/ build/ header (.h) faylga qo'shing, qolganlarini sintaksis uchun qo'llanma sifatida ishlating.

Yangi faylni digole.c fayliga qo'shing #include myimage.h

Rasm fayliga yangi buyruq qatori kancasini qo'shing. E'tibor bering: quyidagi buyruq sizning rasmingizni 10 piksel pastdan 10 pikseldan pastda chizishingizni bildiradi. Siz uni turli xil X, Y koordinatalariga o'zgartirishingiz mumkin, shuningdek, 128, 128 qiymatlarini yangi tasviringiz o'lchamiga o'zgartirishingiz mumkin.

} if if (strcmp (digoleCommand, "myimage") == 0) {drawBitmap256 (10, 10, 128, 128, & myimageVariableHere, 0); // myimageVariableHere sizning (.h) faylda aniqlangan}

Quyidagi buyruq yordamida yangi rasmni ko'rsatish uchun quyida qayta tuzing (xatolarga e'tibor bermang).

$./digole rasm

Majburiy bo'lmagan o'zgarishlar uchun Digole displey drayverini qayta qurish

$ CD ko'rsatish/qurish

$ gcc digole.c

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

$ chmod +x../../digole

Tavsiya: