
สารบัญ:
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-23 15:12

คุณเคยสงสัยหรือไม่ว่านักอุตุนิยมวิทยาของคุณกำลังพูดความจริงหรือไม่? คุณต้องการวิธีที่รอบคอบ ราคาถูก และรวดเร็วในการเป็นนักอุตุนิยมวิทยาของคุณเอง…และอาจจะเป็นโครงการเล็กๆ ไหม? มองไม่เพิ่มเติม! อุปกรณ์ที่เรียบง่ายนี้จะติดตามสภาพอากาศจากตำแหน่งใดก็ได้ที่คุณต้องการ และให้คุณสามารถติดตามสภาพอากาศนั้นได้ด้วยการกดปุ่มเพียงปุ่มเดียว
โปรเจ็กต์นี้จะทำให้คุณได้ฝึกฝนเกี่ยวกับ Flask, Raspberry Pis, เซ็นเซอร์ GPIO และ HTML! ไม่เพียงแต่จะสร้างความสนุกเท่านั้น แต่ยังมีประโยชน์มากมายอีกด้วย นักอุตุนิยมวิทยาของคุณอาจเพิ่งตกงาน …
เสบียง
- Raspberry Pi 3
- การ์ดไมโคร SD
- 1 ลวดจำนวนมาก
- 4 สายชายกับชาย
- 1 DHT11 เซนเซอร์
- 1 แบตเตอรี่
หากคุณกำลังวางแผนที่จะเป็นนักอุตุนิยมวิทยาที่เชื่อถือได้สำหรับสถานที่ต่างๆ หลายแห่ง ให้คูณอุปกรณ์แต่ละชิ้นด้วยจำนวนอุปกรณ์ที่คุณต้องการ อย่างไรก็ตาม รหัสที่รองรับอุปกรณ์หลายเครื่องจะแตกต่างกัน หากคุณกำลังอยู่ในขั้นตอนของการสร้าง/ทดสอบอุปกรณ์นี้ ไม่จำเป็นต้องมีสิ่งต่อไปนี้…อย่างไรก็ตาม มันจะมีประโยชน์มากอย่างแน่นอน
- จอคอมพิวเตอร์
- แป้นพิมพ์ USB
- ชุดชาร์จ Micro USB
ขั้นตอนที่ 1: การเดินสายไฟ


การใช้ Raspberry Pi เราจำเป็นต้องรวมเซ็นเซอร์หลักเข้ากับแหล่งพลังงานของ Raspberry Pi เพื่อให้สามารถทำการวัดที่เราต้องการ เซ็นเซอร์หลักที่ใช้ในโครงการนี้ ตามภาพด้านบน บันทึกอุณหภูมิและความชื้นของสภาพแวดล้อมทางกายภาพโดยรอบ คุณสามารถใช้เขียงหั่นขนมหรืออุปกรณ์ติดตั้งอื่น ๆ เพื่อวางเซ็นเซอร์นี้และเดินสายไฟของเราหรือเพียงแค่เชื่อมต่อผ่านสายไฟระหว่างตัวเมียกับตัวเมียโดยตรงไปยังหมุดบนอุปกรณ์ Raspberry Pi
ตามแผนผังการเดินสายที่แสดงด้านบนเพื่อเชื่อมต่อเซ็นเซอร์กับ Raspberry Pi อย่างถูกต้อง โปรดทราบว่าจำเป็นต้องใช้แหล่งพลังงาน ก้อนแบตเตอรี่ หรือใกล้กับเต้ารับที่ผนัง
ขั้นตอนที่ 2: ตั้งค่า
ยินดีด้วย ฮาร์ดแวร์ของคุณได้รับการประกอบแล้ว!
ตอนนี้เราจะเริ่มทำงานโดยตรงกับ Raspberry Pi และซอฟต์แวร์ของโครงการ สิ่งต่อไปนี้สามารถทำได้บน Raspberry Pi โดยใช้แป้นพิมพ์และจอภาพหรือผ่าน SSH ไลบรารีต่อไปนี้จำเป็นเพื่อให้แน่ใจว่าซอฟต์แวร์ทั้งหมดสามารถทำงานบน Raspberry Pi ของคุณได้ ใช้คำสั่ง "pip install" เพื่อให้ซอฟต์แวร์ของคุณใช้ไลบรารีต่อไปนี้ได้ในภายหลัง:
- คำขอ
- RPi. GPIO
- กระติกน้ำ
- flask_restful
- flask_wtf
- wtforms
โปรดทราบว่าสภาพอากาศอาจเปลี่ยนแปลงได้สองสามครั้งในขณะที่ติดตั้งไลบรารีเหล่านี้… อดทนไว้ คุณใกล้จะปลดล็อกความสามารถด้านอุตุนิยมวิทยาแล้ว!
เมื่อคุณได้ติดตั้งไลบรารีทั้งหมดของคุณแล้ว เรามาทำความคุ้นเคยกับ Flask ซึ่งเป็นเฟรมเวิร์กน้ำหนักเบาที่ช่วยให้สามารถสื่อสารระหว่างโหนดต่างๆ ในสภาพแวดล้อมของโปรเจ็กต์ของเราได้ ในโครงการนี้ Raspberry Pi กลายเป็นเซิร์ฟเวอร์ คุณสามารถทำความคุ้นเคยกับ Flask ด้วยตัวอย่างการใช้งานง่ายๆ ที่นี่
ขั้นตอนที่ 3: รหัสและการเรียกใช้
เมื่อคุณได้รวบรวมไลบรารีฮาร์ดแวร์และซอฟต์แวร์แล้ว คุณก็พร้อมที่จะเริ่มสร้างไฟล์โครงการแล้ว
เซิร์ฟเวอร์: ในโครงการนี้ Raspberry Pi ที่เชื่อมต่อกับเซ็นเซอร์ทำหน้าที่เป็นเซิร์ฟเวอร์ เซิร์ฟเวอร์รอให้ผู้ใช้ดำเนินการตามคำขอเกี่ยวกับอุณหภูมิ ความชื้น และหรือกราฟ เราได้สร้างเทมเพลต HTML ที่ได้รับการกำหนดค่าให้โต้ตอบกับคำขอของแอปพลิเคชันสำหรับอุณหภูมิ ความชื้น กราฟ หรือการรวมกันของทั้งสามอย่างถูกต้อง (ดูที่โฟลเดอร์เทมเพลต) หมายความว่าหากผู้ใช้ต้องการเพียงอุณหภูมิ เขาจะไม่เห็นอะไรเกี่ยวกับความชื้นอื่นนอกจากตัวเลือกแบบฟอร์มเพื่ออ่านค่าความชื้น เมื่อสร้างโพสต์แล้ว เซิร์ฟเวอร์จะรวบรวมข้อมูลจากโพสต์และดำเนินการตามที่ผู้ใช้ร้องขอ เซ็นเซอร์ DHT รับค่าที่อ่านได้ซึ่งจะถูกจัดเก็บและส่งต่อเป็นอาร์กิวเมนต์ในพจนานุกรมด้วยรูปแบบ html ใหม่ที่เรากำลังเรนเดอร์ เซิร์ฟเวอร์ยังเก็บการอ่านเหล่านั้นไว้เพื่อสร้างกราฟของการอ่านก่อนหน้าเมื่อผู้ใช้ร้องขอ
แอปพลิเคชัน: แอปพลิเคชันกำลังส่งคำขอ HTTP ไปยังเซิร์ฟเวอร์ Flask เพื่อดึงและแสดงอุณหภูมิ ความชื้น และการแสดงอุณหภูมิและความชื้นของคำขอยี่สิบสี่ครั้งล่าสุดที่ตั้งค่าจากแบบฟอร์มตามคำขอของผู้ใช้ แอปพลิเคชันใช้แบบฟอร์มขวดที่มีช่องป้อนข้อมูลบูลีนสามช่องสำหรับแต่ละช่อง ผู้ใช้สามารถทำเครื่องหมายในช่องสำหรับชุดค่าผสมของสามฟิลด์ที่ต้องการดู พวกเขาไม่สามารถควบคุมสิ่งอื่นใดนอกจากใช่/ไม่ใช่ พวกเขาต้องการดูข้อมูลนั้น เราได้สร้างไฟล์ html เฉพาะที่เราใช้ในการแสดงขึ้นอยู่กับคำขอของผู้ใช้ สิ่งนี้ทำเพื่อให้เฉพาะการอ่านที่แสดงเท่านั้นที่ผู้ใช้ร้องขอ เราไม่ต้องการให้ผู้ใช้ขออุณหภูมิและให้พวกเขาดูเทมเพลตเปล่าสำหรับความชื้นหรือกราฟเปล่า
ขั้นตอนที่ 4: การทดสอบ
อุปกรณ์กำลังทำงานผ่านไฟล์: mainsense.py ซึ่งนำไฟล์ของ formSense.py ที่มีคลาส Flask Form ของเราที่แอปพลิเคชันใช้ เซิร์ฟเวอร์เริ่มแสดง 'sense.html' จากนั้นรอให้ผู้ใช้ส่งคำขอ mainsense.py จะรออ่านค่าจากเซ็นเซอร์ในเวลาที่แจ้งเมื่อมีคำขอ GET จากแอปพลิเคชันขออุณหภูมิหรือความชื้น และเก็บค่าการอ่าน 24 ค่าก่อนหน้าจากผู้ใช้ นอกจากนี้ยังมีตัวเลือกกราฟที่ผู้ใช้สามารถเลือกได้ว่ากราฟใดที่ผู้ใช้อ่านก่อนหน้านี้ สูงสุด 24 กราฟ คุณยังสามารถเห็นว่า html นั้นรวมเฉพาะตัวเลือกแบบฟอร์มที่ผู้ใช้สามารถใช้เพื่อขออื่นและการอ่านที่ผู้ใช้ร้องขอ
จากนั้นคุณควรจะสามารถนำทางไปยัง URI/IP ที่ถูกต้อง และตั้งค่าสายการสื่อสารที่เหมาะสมระหว่างแอปพลิเคชันและเซิร์ฟเวอร์ของคุณ คุณควรลองส่งคำขอทดสอบ GET และตรวจสอบให้แน่ใจว่าเซ็นเซอร์ตอบสนองอย่างถูกต้องด้วยการอ่านค่าที่เหมาะสมจากเซ็นเซอร์ของคุณ ถ้าโปรแกรมของคุณติดตามสภาพอากาศในแต่ละชั่วโมงอย่างถูกต้อง เราก็พร้อมจะลบสายเคเบิลอย่างเป็นทางการ นั่นคือถ้าคุณรอช่องสภาพอากาศอยู่!
ขั้นตอนที่ 5: การติดตั้ง
การติดตั้งอุปกรณ์นั้นค่อนข้างชัดเจน โดยพื้นฐานแล้ว คุณเพียงแค่ต้องแน่ใจว่าอุปกรณ์เชื่อมต่อกับก้อนแบตเตอรี่หรือเต้ารับไฟฟ้า และใช้แถบคำสั่งเพื่อรักษาความปลอดภัยอุปกรณ์ในตำแหน่งที่คุณต้องการเพื่อตรวจสอบสภาพอากาศ
หมายเหตุ: อุปกรณ์ต้องอยู่ในตำแหน่งที่มีเซ็นเซอร์ปลอดภัยจากสภาพอากาศที่รุนแรงในสถานที่ของคุณ เมื่อดำเนินการเสร็จสิ้น คุณควรจะสามารถ SSH ลงในอุปกรณ์และเริ่มใช้งานเซิร์ฟเวอร์ได้ เปิดเว็บไซต์และรู้ว่าคุณได้รับข้อมูลการวัดสภาพอากาศล่าสุดจากตำแหน่งที่เซิร์ฟเวอร์ Raspberry Pi ของคุณวางอยู่
แนะนำ:
การออกแบบเกมในการสะบัดใน 5 ขั้นตอน: 5 ขั้นตอน

การออกแบบเกมในการสะบัดใน 5 ขั้นตอน: การตวัดเป็นวิธีง่ายๆ ในการสร้างเกม โดยเฉพาะอย่างยิ่งเกมปริศนา นิยายภาพ หรือเกมผจญภัย
การตรวจจับใบหน้าบน Raspberry Pi 4B ใน 3 ขั้นตอน: 3 ขั้นตอน

การตรวจจับใบหน้าบน Raspberry Pi 4B ใน 3 ขั้นตอน: ในคำแนะนำนี้ เราจะทำการตรวจจับใบหน้าบน Raspberry Pi 4 ด้วย Shunya O/S โดยใช้ Shunyaface Library Shunyaface เป็นห้องสมุดจดจำใบหน้า/ตรวจจับใบหน้า โปรเจ็กต์นี้มีจุดมุ่งหมายเพื่อให้เกิดความเร็วในการตรวจจับและจดจำได้เร็วที่สุดด้วย
วิธีการติดตั้งปลั๊กอินใน WordPress ใน 3 ขั้นตอน: 3 ขั้นตอน

วิธีการติดตั้งปลั๊กอินใน WordPress ใน 3 ขั้นตอน: ในบทช่วยสอนนี้ ฉันจะแสดงขั้นตอนสำคัญในการติดตั้งปลั๊กอิน WordPress ให้กับเว็บไซต์ของคุณ โดยทั่วไป คุณสามารถติดตั้งปลั๊กอินได้สองวิธี วิธีแรกคือผ่าน ftp หรือผ่าน cpanel แต่ฉันจะไม่แสดงมันเพราะมันสอดคล้องกับ
การลอยแบบอะคูสติกด้วย Arduino Uno ทีละขั้นตอน (8 ขั้นตอน): 8 ขั้นตอน

การลอยแบบอะคูสติกด้วย Arduino Uno ทีละขั้นตอน (8 ขั้นตอน): ตัวแปลงสัญญาณเสียงล้ำเสียง L298N Dc ตัวเมียอะแดปเตอร์จ่ายไฟพร้อมขา DC ตัวผู้ Arduino UNOBreadboardวิธีการทำงาน: ก่อนอื่น คุณอัปโหลดรหัสไปยัง Arduino Uno (เป็นไมโครคอนโทรลเลอร์ที่ติดตั้งดิจิตอล และพอร์ตแอนะล็อกเพื่อแปลงรหัส (C++)
เครื่อง Rube Goldberg 11 ขั้นตอน: 8 ขั้นตอน

เครื่อง 11 Step Rube Goldberg: โครงการนี้เป็นเครื่อง 11 Step Rube Goldberg ซึ่งออกแบบมาเพื่อสร้างงานง่ายๆ ในรูปแบบที่ซับซ้อน งานของโครงการนี้คือการจับสบู่ก้อนหนึ่ง