สารบัญ:

AtticTemp - เครื่องบันทึกอุณหภูมิ/สภาพอากาศ: 10 ขั้นตอน (พร้อมรูปภาพ)
AtticTemp - เครื่องบันทึกอุณหภูมิ/สภาพอากาศ: 10 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: AtticTemp - เครื่องบันทึกอุณหภูมิ/สภาพอากาศ: 10 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: AtticTemp - เครื่องบันทึกอุณหภูมิ/สภาพอากาศ: 10 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: T&D TR-72wb เครื่องบันทึกอุณหภูมิและความชื้น (Cloud Network) | Wifi & Bluetooth 2024, กรกฎาคม
Anonim
AtticTemp - เครื่องบันทึกอุณหภูมิ / ภูมิอากาศ
AtticTemp - เครื่องบันทึกอุณหภูมิ / ภูมิอากาศ

เกจวัดอุณหภูมิความทนทานสูงและเครื่องมือบันทึกสภาพอากาศสำหรับโครงสร้างห้องใต้หลังคาหรือภายนอกอื่นๆ ของคุณ

ขั้นตอนที่ 1: แฟลช RaspberriPi Hard Disk / ติดตั้งซอฟต์แวร์ที่จำเป็น (โดยใช้ Ubuntu Linux)

ดาวน์โหลด "RASPBIAN JESSIE LITE"

สร้างฮาร์ดดิสก์ใหม่ของคุณสำหรับ DashboardPI

ใส่ microSD เข้ากับคอมพิวเตอร์ของคุณผ่านอะแดปเตอร์ USB และสร้างภาพดิสก์โดยใช้คำสั่ง 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 (หมายเหตุ: ในกรณีนี้ คือ /dev/sdb, /dev/sdb1 เป็นพาร์ติชั่นโรงงานที่มีอยู่บน ไมโครเอสดี)

การตั้งค่า RaspberriPi. ของคุณ

ใส่การ์ด microSD ใหม่ของคุณเข้ากับ raspberrypi และเปิดเครื่องด้วยจอภาพที่เชื่อมต่อกับพอร์ต HDMI

เข้าสู่ระบบ

ผู้ใช้: pi pass: raspberry

เปลี่ยนรหัสผ่านบัญชีของคุณเพื่อความปลอดภัย

sudo passwd pi

เปิดใช้งานตัวเลือกขั้นสูง RaspberriPi

sudo raspi-config

เลือก: 1 ขยายระบบไฟล์

9 ตัวเลือกขั้นสูง

ชื่อโฮสต์ A2 เปลี่ยนเป็น "AtticTemp"

A4 SSH เปิดใช้งานเซิร์ฟเวอร์ SSH

A7 I2C เปิดใช้งานอินเทอร์เฟซ i2c

เปิดใช้งานแป้นพิมพ์ภาษาอังกฤษ/สหรัฐอเมริกา

sudo nano /etc/default/keyboard

เปลี่ยนบรรทัดต่อไปนี้: XKBLAYOUT="us"

รีบูต PI สำหรับการเปลี่ยนแปลงรูปแบบแป้นพิมพ์ / การปรับขนาดระบบไฟล์เพื่อให้มีผล

$ sudo shutdown -r ตอนนี้

เชื่อมต่ออัตโนมัติกับ WiFi ของคุณ

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

เพิ่มบรรทัดต่อไปนี้เพื่อให้ raspberrypi ของคุณเชื่อมต่อกับ WiFi ที่บ้านของคุณโดยอัตโนมัติ (หากเครือข่ายไร้สายของคุณชื่อ "linksys" ในตัวอย่างต่อไปนี้)

network={ ssid="linksys" psk="WIRELESS PASSWORD HERE" } รีบูต PI เพื่อเชื่อมต่อกับเครือข่าย WiFi

$ sudo shutdown -r ตอนนี้

ตอนนี้ PI ของคุณอยู่ในเครือข่ายท้องถิ่นแล้ว คุณสามารถเข้าสู่ระบบจากระยะไกลผ่าน SSH ได้ แต่ก่อนอื่นคุณต้องได้รับที่อยู่ IP ที่มีอยู่ในปัจจุบัน

$ ifconfig ค้นหา "inet addr: 192.168. XXX. XXX" ในผลลัพธ์ของคำสั่งต่อไปนี้สำหรับที่อยู่ IP ของ PI ของคุณ

ไปที่เครื่องอื่นและลงชื่อเข้าใช้ raspberrypi ของคุณผ่าน ssh

$ ssh [email protected]. XXX. XXX

เริ่มการติดตั้งแพ็คเกจที่จำเป็น

$ sudo apt-get update

$ sudo apt-get upgrade

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

อัปเดตการตั้งค่าเขตเวลาท้องถิ่น

$ sudo dpkg-reconfigure tzdata

เลือกเขตเวลาของคุณโดยใช้อินเทอร์เฟซ

ตั้งค่าคำสั่ง l ไดเร็กทอรีอย่างง่าย [ตัวเลือก]

$ vi ~/.bashrc

เพิ่มบรรทัดต่อไปนี้:

$ นามแฝง l='ls -lh'

$ source ~/.bashrc

แก้ไขการเน้นไวยากรณ์เริ่มต้นของ VIM [ตัวเลือก]

$ sudo vi /etc/vim/vimrc

uncomment บรรทัดต่อไปนี้:

ไวยากรณ์บน

ขั้นตอนที่ 2: โคลนโครงการ / ติดตั้งไดรเวอร์ซอฟต์แวร์

โคลนที่เก็บโปรเจ็กต์

$ cd ~

$ git clone

ติดตั้ง DHT22

$ cd ~

$ git clone

$ cd Adafruit_Python_DHT/

$ sudo python setup.py ติดตั้ง

$ sudo python ez_setup.py

$ ตัวอย่างซีดี /

$ vi simpletest.py

เปลี่ยนบรรทัดต่อไปนี้:

เซ็นเซอร์ = Adafruit_DHT. DHT22

แสดงความคิดเห็นบรรทัดออก

พิน = 'P8_11'

ยกเลิกหมายเหตุบรรทัดและเปลี่ยนหมายเลขพินเป็น16

พิน = 18

เรียกใช้การทดสอบ

หลาม simpletest.py

คุณควรเห็นการอ่านค่าเมตริกของอุณหภูมิและความชื้นที่แสดงบนบรรทัดคำสั่ง

ติดตั้ง SSD1306

แยกไดรเวอร์/SSD1306.zip ไปยังโฟลเดอร์โครงการ

ติดตั้งไดรเวอร์

$ cd ssd1306/ $ sudo python setup.py ติดตั้ง

ยืนยันการลงทะเบียนอุปกรณ์ของคุณ โดยปกติแล้วจะเป็น \0x3c บนบัส i2c

$ 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 LCD LED โมดูลแสดงผลสีขาว

2.4 400x240 16:9 Serial:UART/I2C/SPI TFT Touchscreen Display

ขั้นตอนที่ 4: ต่อสายอุปกรณ์

ต่อสายอุปกรณ์
ต่อสายอุปกรณ์
ต่อสายอุปกรณ์
ต่อสายอุปกรณ์

จอแสดงผล SSD1306

GND -> GND

ข้อมูล -> SDA

CLK -> SCL

VCC -> 3V

ดิโกล ดิสเพลย์

GND -> GND

ข้อมูล -> SDA

CLK -> SCL

VCC -> 3V

DHT22 เครื่องทำความชื้น

VCC -> 5V

GND -> GND

ข้อมูล -> GPIO 18 / PIN 12

ขั้นตอนที่ 5: สร้างอุปกรณ์

สร้างอุปกรณ์
สร้างอุปกรณ์
สร้างอุปกรณ์
สร้างอุปกรณ์

ตัดลูกแก้วให้พอดีกับด้านหน้าของอุปกรณ์ภายใต้กรอบพิมพ์ 3 มิติ

ยึดกระจกด้วยสกรูผ่านกรอบที่พิมพ์ 3 มิติ

ขั้นตอนที่ 6: สร้างอุปกรณ์ (ต่อ…)

สร้างอุปกรณ์ (ต่อ…)
สร้างอุปกรณ์ (ต่อ…)
สร้างอุปกรณ์ (ต่อ…)
สร้างอุปกรณ์ (ต่อ…)
สร้างอุปกรณ์ (ต่อ…)
สร้างอุปกรณ์ (ต่อ…)

ส่วนประกอบกาวร้อนที่แผงด้านหน้า

หน่วยลวดภายใน

ติดด้านหลังน่าจะพร้อมลุย

ขั้นตอนที่ 7: กำหนดค่าแอปพลิเคชันให้ทำงานอย่างถูกต้องใน Settings.py Config File

ค้นหาไฟล์ settings.py และปรับให้เข้ากับการตั้งค่าปัจจุบันของคุณ

# คีย์พยากรณ์อากาศ io API สำหรับข้อมูลสภาพอากาศในท้องถิ่น

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

weatherAPIKey = 'คีย์ API ของคุณสำหรับ FORECAST. IO'

# ตัวเลือกสำหรับการเรียกใช้ตัวบันทึกอุณหภูมิ/ความชื้นระยะไกล

deviceLoggerAPI = 'mydevicelogger.com'

# ค้นหา google เพื่อรับละติจูด/ลองจิจูดสำหรับตำแหน่งบ้านของคุณ

ละติจูด = 41.4552578

ลองจิจูด = -72.1665444

ขั้นตอนที่ 8: ตั้งค่าสคริปต์ตามกำหนดการ

$ crontab -e

เพิ่มบรรทัดต่อไปนี้: */7 * * * * python /home/pi/AtticTemp/displays.py

ไม่บังคับ: ตัวบันทึกอุณหภูมิไปยังสคริปต์ API ทุกๆ 10 นาที

$ crontab -e

เพิ่มบรรทัดต่อไปนี้: */10 * * * * python /home/pi/EnvironmentClock/temp-check.py

ขั้นตอนที่ 9: ไม่บังคับ: สร้างภาพสภาพอากาศของคุณเองเพื่อแสดงบนจอแสดงผล

อัปโหลดไฟล์ 128x128 ของคุณเองไปยัง URL ต่อไปนี้:

www.digole.com/tools/PicturetoC_Hex_converter.php

เลือกไฟล์ภาพที่จะอัพโหลด ใส่ขนาดที่ต้องการลงบนหน้าจอ (กว้าง/สูง)

เลือก "256 สีสำหรับ OLED/LCD สี (1 ไบต์/พิกเซล)" ในเมนูแบบเลื่อนลง "ใช้สำหรับ"

รับเอาต์พุตฐานสิบหก

เพิ่มเอาต์พุตฐานสิบหกลงในไฟล์ display/build/ header (.h) ใช้ไฟล์อื่นเป็นแนวทางสำหรับไวยากรณ์

รวมไฟล์ใหม่ในไฟล์ digole.c #include myimage.h

รวมเบ็ดบรรทัดคำสั่งใหม่ให้กับไฟล์รูปภาพของคุณในไฟล์. หมายเหตุ: คำสั่งด้านล่างบอกว่าวาดภาพของคุณที่ตำแหน่ง 10 พิกเซลมากกว่า 10 พิกเซลลง คุณสามารถเปลี่ยนเป็นพิกัด X, Y อื่นได้ คุณยังสามารถเปลี่ยนค่า 128, 128 เป็นขนาดใดก็ได้ของรูปภาพใหม่ของคุณ

} อื่น if (strcmp (digoleCommand, "myimage") == 0) { drawBitmap256 (10, 10, 128, 128, &myimageVariableHere, 0); // myimageVariableHere ถูกกำหนดไว้ในไฟล์ (.h) ของคุณ }

ตอนนี้สร้างใหม่ (ละเว้นข้อผิดพลาด) ด้านล่างเพื่อให้ภาพใหม่ของคุณแสดงผลด้วยคำสั่งต่อไปนี้

$./digole myimage

สร้างใหม่ [รวม] Digole Display Driver สำหรับการเปลี่ยนแปลงเพิ่มเติมของคุณ

$ cd display/build

$ gcc diole.c

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

$ chmod +x../../digole

แนะนำ: