สารบัญ:

ความชื้นในเมฆ: 5 ขั้นตอน
ความชื้นในเมฆ: 5 ขั้นตอน

วีดีโอ: ความชื้นในเมฆ: 5 ขั้นตอน

วีดีโอ: ความชื้นในเมฆ: 5 ขั้นตอน
วีดีโอ: ความรู้เรื่อง เมฆ - วิทยาศาสตร์รอบตัว 2024, พฤศจิกายน
Anonim
ความชื้นในเมฆ
ความชื้นในเมฆ

หน้าร้อนกำลังจะมา คนไม่มีแอร์ก็ควรเตรียมควบคุมบรรยากาศภายในอาคารด้วยตนเอง ในบทความนี้ ฉันกำลังอธิบายวิธีที่ทันสมัยในการวัดค่าพารามิเตอร์ที่สำคัญที่สุดสำหรับความสะดวกสบายของมนุษย์: อุณหภูมิและความชื้น ข้อมูลที่รวบรวมนี้จะถูกส่งไปยังระบบคลาวด์และประมวลผลที่นั่น

เสบียง

ฉันใช้บอร์ด Raspberry Pi และเซ็นเซอร์ DHT22 คุณสามารถทำเช่นเดียวกันนี้บนคอมพิวเตอร์เครื่องใดก็ได้ที่มีอินเทอร์เน็ต GPIO และ Python เซ็นเซอร์ DHT11 ที่ถูกกว่าก็ทำงานได้ดีเช่นกัน

ขั้นตอนที่ 1: การเตรียมฮาร์ดแวร์

กำลังเตรียมฮาร์ดแวร์
กำลังเตรียมฮาร์ดแวร์
กำลังเตรียมฮาร์ดแวร์
กำลังเตรียมฮาร์ดแวร์
กำลังเตรียมฮาร์ดแวร์
กำลังเตรียมฮาร์ดแวร์
กำลังเตรียมฮาร์ดแวร์
กำลังเตรียมฮาร์ดแวร์

มาเริ่มกันตั้งแต่ต้นเพราะฉันไม่ได้ใช้ Raspberry Pi มาเป็นเวลานาน

เราจะต้อง:

  • บอร์ด Raspberry Pi (หรือแพลตฟอร์ม IoT อื่นๆ)
  • การ์ด SD หรือ microSD (ขึ้นอยู่กับแพลตฟอร์ม)
  • 5V/1A ผ่านสาย micro-USB. LAN ซึ่งให้การเชื่อมต่ออินเทอร์เน็ต
  • จอแสดงผล HDMI, จอภาพ RCA หรือพอร์ต UART (เพื่อเปิดใช้งาน SSH)

ขั้นตอนแรกสุดคือการดาวน์โหลด Raspbian ฉันเลือกเวอร์ชัน Lite เนื่องจากฉันจะใช้ SSH แทนการแสดงผล

สิ่งต่าง ๆ เปลี่ยนไปตั้งแต่ครั้งสุดท้ายที่ฉันทำ ตอนนี้มีซอฟต์แวร์เบิร์นที่ยอดเยี่ยมชื่อ Etcher ซึ่งทำงานได้อย่างสมบูรณ์และมีการออกแบบที่น่าทึ่ง

หลังจากเบิร์นรูปภาพเสร็จแล้ว ฉันเสียบการ์ด SD ลงใน Pi เสียบ LAN และสายไฟ จากนั้นเราเตอร์ของฉันก็ลงทะเบียนอุปกรณ์ใหม่

ยอดเยี่ยม! ไปต่อและ SSH เข้าไป

ความปลอดภัยก็โอเค ฉันชอบ แต่สิ่งนี้ทำให้ยากขึ้นเล็กน้อย ฉันจะใช้อะแดปเตอร์ UART-USB เพื่อเข้าถึงเชลล์และเปิดใช้งาน SSH…

การใช้จอแสดงผลแทน UART ทำให้ง่ายขึ้นมาก

หลังจากรีบูตในที่สุดฉันก็เข้ามา

ก่อนอื่นมาอัปเดตกันก่อน:

sudo apt update && sudo apt upgrade -y

ตอนนี้มาเชื่อมต่ออุปกรณ์ใหม่นี้กับคลาวด์

ขั้นตอนที่ 2: การติดตั้ง Cloud4RPi

การติดตั้ง Cloud4RPi
การติดตั้ง Cloud4RPi

ฉันตัดสินใจลองใช้แพลตฟอร์มคลาวด์ที่เรียกว่า Cloud4RPi ซึ่งออกแบบมาสำหรับ IoT

ตามเอกสาร เราจำเป็นต้องมีแพ็คเกจต่อไปนี้เพื่อให้มันทำงาน:

sudo apt ติดตั้ง git python3 python3-pip -y

ไลบรารีไคลเอ็นต์สามารถติดตั้งได้ในคำสั่งเดียว:

sudo pip3 ติดตั้ง cloud4rpi

ตอนนี้เราต้องการโค้ดตัวอย่าง

โคลน git https://github.com/cloud4rpi/cloud4rpi-raspberrypi-python && cd cloud4rpi-raspberrypi-python

สคริปต์ปฏิบัติการคือ control.py

เราต้องการโทเค็น ซึ่งช่วยให้ Cloud4RPi เชื่อมโยงอุปกรณ์กับบัญชีได้ หากต้องการรับบัญชี ให้สร้างบัญชีบน cloud4rpi.io แล้วกดปุ่มอุปกรณ์ใหม่ในหน้านี้ แทนที่สตริง _YOUR_DEVICE_TOKEN_ ในไฟล์ control.py ด้วยโทเค็นของอุปกรณ์แล้วบันทึกไฟล์ ตอนนี้เราพร้อมแล้วสำหรับการเปิดตัวครั้งแรก

sudo python3 control.py

เปิดหน้าอุปกรณ์และตรวจสอบว่ามีข้อมูลอยู่หรือไม่

ตอนนี้เรามาดูข้อมูลในโลกแห่งความเป็นจริงกัน

ขั้นตอนที่ 3: การเชื่อมต่อเซ็นเซอร์

การเชื่อมต่อเซ็นเซอร์
การเชื่อมต่อเซ็นเซอร์

เราจะต้อง:

  • เซ็นเซอร์ความชื้น DHT22 หรือ DHT11
  • ตัวต้านทานแบบดึงขึ้น (5-10 KΩ)
  • สายไฟThe

เซ็นเซอร์ DHT22 วัดอุณหภูมิและความชื้นพร้อมกัน โปรโตคอลการสื่อสารไม่ได้มาตรฐาน ดังนั้นเราจึงไม่จำเป็นต้องเปิดใช้งานใน raspi-config - พิน GPIO แบบธรรมดาก็มากเกินพอ

ในการรับข้อมูล ฉันจะใช้ห้องสมุดที่ยอดเยี่ยมของ Adafruit สำหรับเซ็นเซอร์ DHT แต่อาจไม่ทำงานเหมือนเดิม ครั้งหนึ่งฉันเคยพบการหน่วงเวลาอย่างผิดปกติในโค้ด ซึ่งใช้ไม่ได้กับฮาร์ดแวร์ของฉัน และหลังจากนั้นสองปี คำขอดึงของฉันยังคงค้างอยู่ ฉันยังเปลี่ยนค่าคงที่การตรวจจับบอร์ดเพราะ Raspberry Pi 1 ของฉันที่มี BCM2835 ถูกตรวจพบอย่างน่าประหลาดใจว่าเป็น Raspberry Pi 3 ฉันหวังว่ามันจะเป็นจริง… ดังนั้น ฉันขอแนะนำให้ใช้ส้อมของฉัน หากคุณประสบปัญหาใดๆ กับมัน โปรดลองใช้ที่เก็บดั้งเดิม บางทีมันอาจจะใช้ได้กับใครบางคน แต่ฉันไม่ใช่หนึ่งในนั้น

โคลน git https://github.com/Himura2la/Adafruit_Python_DHT.gitcd Adafruit_Python_DHT

เนื่องจากไลบรารี่เขียนด้วยภาษา C จึงจำเป็นต้องมีการรวบรวม ดังนั้นคุณต้องมีแพ็คเกจ build-essential และ python-dev

sudo apt ติดตั้ง build-essential python-dev -ysudo python setup.py ติดตั้ง

ขณะติดตั้งแพ็คเกจ ให้เชื่อมต่อ DHT22 ตามที่แสดงในรูปภาพ

และทดสอบ:

cd ~python -c "นำเข้า Adafruit_DHT เป็น d; พิมพ์ d.read_retry (d. DHT22, 4)"

หากคุณเห็นบางอย่างเช่น (39.2000076293945, 22.600000381469727) คุณควรรู้ว่านี่คือความชื้นเป็นเปอร์เซ็นต์และอุณหภูมิในเซลเซียส

ตอนนี้มาประกอบทุกอย่างเข้าด้วยกัน!

ขั้นตอนที่ 4: การส่งการอ่านเซ็นเซอร์ไปยัง Cloud

การส่งการอ่านเซ็นเซอร์ไปยัง Cloud
การส่งการอ่านเซ็นเซอร์ไปยัง Cloud
การส่งการอ่านเซ็นเซอร์ไปยัง Cloud
การส่งการอ่านเซ็นเซอร์ไปยัง Cloud

ฉันจะใช้ control.py เป็นฐานและเพิ่มการโต้ตอบ DHT22 เข้าไป

cp cloud4rpi-raspberrypi-python/control.py./cloud_dht22.pycp cloud4rpi-raspberrypi-python/rpi.py./rpi.pyvi cloud_dht22.py

ลบโค้ดตัวอย่างตามภาพด้านบน

เนื่องจาก DHT22 ส่งคืนทั้งอุณหภูมิและความชื้นในการโทรครั้งเดียว ฉันจะจัดเก็บไว้ทั่วโลกและอัปเดตเพียงครั้งเดียวในคำขอ สมมติว่ามีความล่าช้ามากกว่า 10 วินาที พิจารณารหัสต่อไปนี้ ซึ่งรับข้อมูล DHT22:

นำเข้า Adafruit_DHT

temp, hum = ไม่มี, ไม่มี

last_update = time.time() - 20

def update_data():

globallast_update, hum, temp if time.time() - last_update > 10: hum, temp = Adafruit_DHT.read_retry(Adafruit_DHT. DHT22, 4) last_update = time.time()

def get_t():

update_data() ส่งคืนรอบ (ชั่วคราว 2) หากอุณหภูมิไม่ใช่ ไม่มีอื่น ไม่มี def get_h(): update_data() ส่งคืนรอบ (ครวญเพลง 2) ถ้า hum ไม่ใช่ ไม่มีอื่น ไม่มี

ใส่รหัสนี้หลังจากการนำเข้าที่มีอยู่และแก้ไขส่วนตัวแปรเพื่อใช้ฟังก์ชันใหม่:

ตัวแปร = { 'DHT22 Temp': { 'type': 'numeric', 'bind': get_t }, 'DHT22 Humidity': { 'type': 'numeric', 'bind': get_h }, 'CPU Temp': { 'ประเภท': 'ตัวเลข', 'ผูก': cpu_temp } }

หากคุณพบว่าการยักย้ายถ่ายเททำให้เกิดความสับสน ให้คว้าเวอร์ชันสุดท้ายของไฟล์นี้ กดปุ่มสีแดงเพื่อเริ่มการถ่ายโอนข้อมูล:

จากนั้นคุณสามารถตรวจสอบหน้าอุปกรณ์

python3 cloud_dht22.py

จากนั้นคุณสามารถตรวจสอบหน้าอุปกรณ์

คุณสามารถปล่อยให้มันเป็น แต่ฉันชอบที่จะให้บริการทุกอย่าง เพื่อให้แน่ใจว่าสคริปต์ทำงานอยู่เสมอ การสร้างบริการด้วยสคริปต์อัตโนมัติทั้งหมดที่คุณมีอยู่แล้วในไดเร็กทอรี cloud4rpi-raspberrypi-python:

service_install.sh cloud_dht22.py

เริ่มบริการ:

บริการ sudo cloud4rpi เริ่ม

และตรวจสอบ:

pi@raspberrypi:~ $ sudo service cloud4rpi status -l● cloud4rpi.service - Cloud4RPi daemon โหลดแล้ว: โหลดแล้ว (/lib/systemd/system/cloud4rpi.service; เปิดใช้งาน) ใช้งานอยู่: ใช้งานอยู่ (ทำงาน) ตั้งแต่วันพุธที่ 2017-05-17 20:22:48 UTC; 1 นาทีที่แล้ว PID หลัก: 560 (python) กลุ่ม C: /system.slice/cloud4rpi.service └─560 /usr/bin/python /home/pi/cloud_dht22.py

17 พฤษภาคม 20:22:51 น. raspberrypi python [560]: กำลังเผยแพร่ iot-hub/messages: {'type': 'config', 'ts': '2017-05-17T20…y'}]}

17 พฤษภาคม 20:22:53 น. raspberrypi python [560]: เผยแพร่ iot-hub/messages: {'type': 'data', 'ts': '2017-05-17T20:2…40'}} 17 20 พฤษภาคม: 22:53 raspberrypi python [560]: กำลังเผยแพร่ iot-hub/messages: {'type': 'system', 'ts': '2017-05-17T20….4'}}

หากทุกอย่างเป็นไปตามที่คาดไว้ เราก็สามารถใช้ความสามารถของแพลตฟอร์ม Cloud4RPi เพื่อจัดการกับข้อมูลได้

ขั้นตอนที่ 5: แผนภูมิและการเตือน

แผนภูมิและการเตือน
แผนภูมิและการเตือน
แผนภูมิและการเตือน
แผนภูมิและการเตือน
แผนภูมิและการเตือน
แผนภูมิและการเตือน

ก่อนอื่น เรามาพลอตตัวแปรเพื่อดูว่ามีการเปลี่ยนแปลงอย่างไร ซึ่งสามารถทำได้โดยการเพิ่ม Control Panel ใหม่และใส่แผนภูมิที่จำเป็นลงไป

อีกอย่างที่เราสามารถทำได้ที่นี่คือการตั้งค่าการแจ้งเตือน คุณลักษณะนี้ช่วยให้คุณสามารถกำหนดค่าช่วงปลอดภัยสำหรับตัวแปรได้ ทันทีที่เกินช่วง ระบบจะส่งการแจ้งเตือนทางอีเมล ในหน้าการแก้ไขของแผงควบคุม คุณสามารถสลับไปที่การเตือนและตั้งค่าได้

หลังจากนั้น ความชื้นในห้องของฉันก็เริ่มลดลงอย่างรวดเร็วโดยไม่ทราบสาเหตุ และไม่นานก็มีสัญญาณเตือนตามมา

คุณสามารถใช้ Cloud4RPi ได้ฟรีกับฮาร์ดแวร์ใดๆ ที่สามารถรัน Python ได้ สำหรับฉัน ตอนนี้ฉันรู้เสมอว่าเมื่อใดควรเปิดเครื่องเพิ่มความชื้นในอากาศ และยังสามารถเชื่อมต่อกับรีเลย์สำหรับการควบคุมระยะไกลผ่าน Cloud4RPi ฉันพร้อมสำหรับความร้อน! ยินดีต้อนรับฤดูร้อน!

ด้วย Cloud4RPi คุณสามารถควบคุม Raspberry Pi และอุปกรณ์ IoT อื่นๆ จากระยะไกลได้แบบเรียลไทม์ เยี่ยมชมเว็บไซต์ของเราและเชื่อมต่ออุปกรณ์ได้ไม่จำกัดฟรี

แนะนำ: