Mundarija:
- 1 -qadam: RaspberriPi qattiq diskini yondirish / kerakli dasturiy ta'minotni o'rnatish (Ubuntu Linux yordamida)
- 2 -qadam: Loyihani klonlash / dasturiy ta'minot drayverlarini o'rnatish
- 3 -qadam: Kerakli materiallar
- 4 -qadam: qurilmani sim bilan ulang
- 5 -qadam: Qurilmani yarating
- 6 -qadam: Qurilmani yarating (davomi …)
- 7 -qadam: Settings.py konfiguratsiya faylida ilovaning to'g'ri ishlashini sozlang
- 8 -qadam: Rejalashtirilgan skriptlarni o'rnating
- 9 -qadam: ixtiyoriy: displeyda ko'rsatish uchun o'zingizning ob -havo rasmlaringizni yaratish
2025 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2025-01-13 06:58
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
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
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
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 …)
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