สารบัญ:

เซ็นเซอร์อุณหภูมิ / Weatherstation: 9 ขั้นตอน (พร้อมรูปภาพ)
เซ็นเซอร์อุณหภูมิ / Weatherstation: 9 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: เซ็นเซอร์อุณหภูมิ / Weatherstation: 9 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: เซ็นเซอร์อุณหภูมิ / Weatherstation: 9 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: Sensor Weather station TH PM2.5 PM10 RS485 วัดฝุ่น อุณหภูมิ ความชื้น สื่อสารแบบ RS485 ug/m3 2024, พฤศจิกายน
Anonim
เซ็นเซอร์อุณหภูมิ / สถานีตรวจอากาศ
เซ็นเซอร์อุณหภูมิ / สถานีตรวจอากาศ
เซ็นเซอร์อุณหภูมิ / สถานีตรวจอากาศ
เซ็นเซอร์อุณหภูมิ / สถานีตรวจอากาศ

สร้างสถานีตรวจอากาศหรือตัวตรวจสอบอุณหภูมิโดยใช้เซ็นเซอร์อุณหภูมิแบบดิจิทัลที่เจ๋งมาก DS1820 ฉันใช้การตั้งค่านี้เพื่อตรวจสอบห้องเซิร์ฟเวอร์และเป็นสถานีตรวจสภาพอากาศ โปรเจ็กต์นี้ประกอบด้วย:

  • เครือข่ายรถบัส Dallas 1-Wire
  • อินเทอร์เฟซระหว่าง RS-232 และระบบ Dallas 1-Wire
  • เซ็นเซอร์อุณหภูมิดิจิตอลที่เชื่อมต่อกับรถบัส Dallas 1-Wire (DS1820/DS18s20)
  • การตั้งค่าซอฟต์แวร์เพื่อรวบรวมและสร้างกราฟอุณหภูมิ

อัปเดต 2007-11-18 เพื่อรวมสคริปต์การทำกราฟอัตโนมัติและรูปภาพของการใช้งานจริงของระบบนี้

ขั้นตอนที่ 1: คุณต้องการ

คุณต้องการ
คุณต้องการ
คุณต้องการ
คุณต้องการ

นี่คือสิ่งที่คุณต้องการเพื่อสร้างสถานีตรวจอากาศหรือตัวบันทึกอุณหภูมิ:

  • ทักษะลินุกซ์บางอย่าง
  • ทักษะทางอิเล็กทรอนิกส์ขั้นพื้นฐาน การบัดกรี ฯลฯ..

ส่วนประกอบ

  • 1 6.2V ซีเนอร์ไดโอด (1N5234)
  • 1 3.9V ซีเนอร์ไดโอด (1N5228)
  • 2 ไดโอด Schottky (1N5818)
  • ตัวต้านทาน 1 1.5 k
  • 1 ขั้วต่อสกรู 2 พิน
  • 1 ขั้วต่อ D-sub 9 ตัวเมียพร้อมจุดบัดกรี
  • เพอร์ฟบอร์ดชิ้นเล็ก 1 ชิ้น
  • เซ็นเซอร์อุณหภูมิแบบดิจิตอล Dallas Semiconductor DS1820 หรือ DS18s20 หนึ่งตัวหรือมากกว่า
  • สาย Cat5
  • ท่อหด

ขั้นตอนที่ 2: สร้างอินเทอร์เฟซ RS232

สร้างอินเทอร์เฟซ RS232
สร้างอินเทอร์เฟซ RS232
สร้างอินเทอร์เฟซ RS232
สร้างอินเทอร์เฟซ RS232
สร้างอินเทอร์เฟซ RS232
สร้างอินเทอร์เฟซ RS232
สร้างอินเทอร์เฟซ RS232
สร้างอินเทอร์เฟซ RS232

ฉันชอบสร้างบัสมาสเตอร์ 1-Wire ให้มีขนาดเล็กจนสามารถนั่งที่ด้านหลังของคอมพิวเตอร์ในพอร์ต rs232 ได้

ขั้นตอนที่ 1) คิดให้ออกว่าคุณสามารถทำให้มันเล็กแค่ไหน ใส่ส่วนประกอบทั้งหมดบน perfbaord วางไว้โดยคำนึงถึงวงจร เราไม่ต้องการเพิ่มสายไฟใด ๆ ที่ด้านล่างของวงจร! Se ภาพ ขั้นตอนที่ 2) ตัด perfboard ขนาดที่เหมาะสมออก เพียงลากมีดคมๆ สองสามครั้งทับแถวของรูที่คุณต้องการตัด ทำทั้งสองข้างแล้วหักออกเป็นสองส่วน มักจะแตกที่เส้นความผิดปกติที่คุณสร้างขึ้น 3) ประสานส่วนประกอบเข้าที่ และเชื่อมจุดบัดกรีเพื่อให้วงจรสมบูรณ์

ขั้นตอนที่ 3: การทดสอบอินเทอร์เฟซ RS232

การทดสอบอินเทอร์เฟซ RS232
การทดสอบอินเทอร์เฟซ RS232
การทดสอบอินเทอร์เฟซ RS232
การทดสอบอินเทอร์เฟซ RS232

1) ดาวน์โหลดและติดตั้ง digitemp บน Debian และ Ubuntu Linux ทำได้โดยเรียกใช้ `sudo apt-get install digitemp`.2) เชื่อมต่อ DS1820 กับวงจรของคุณ ขาตรงกลางไปที่พอร์ต DQ อีกสองขาไป ใน GND3) เชื่อมต่อวงจรกับพอร์ต rs232 ของคอมพิวเตอร์ ฉันครอบคลุมการทำเช่นนี้กับ Linux เท่านั้น แต่ยังสามารถทำได้ใน windows..4) หากคำสั่ง `digitemp' ไม่ทำงาน เป็นเพราะมีหลายเวอร์ชันของ digitemp.type digitemp จากนั้นกด tab เพื่อดูทั้งหมด.. digitemp_DS9097 เป็นอันที่ถูกต้องสำหรับ 1wire busmaster นี้ เพื่อความง่าย เราต้องการให้คำสั่งเป็น `digitemp` ไม่ใช่ `digitemp_DS9097`.type `sudo ln -s /usr/bin/digitemp_DS9097 /usr/bin/digitemp`5)ในฐานะรูท หรือใช้ sudo:เรียกใช้ `digitemp -s /dev/ttyS0 -i` สิ่งนี้จะค้นหาเครือข่าย 1wire สำหรับเซ็นเซอร์ และสร้างไฟล์กำหนดค่าสำหรับ digitemp หากคุณกำลังใช้ COM2 ให้ใช้ -s /dev/ttyS1. Run `digitemp -a` เพื่ออ่านอุณหภูมิของตัววัดอุณหภูมิที่เชื่อมต่อ ดูภาพหน้าจอ6)ทำเช่นนี้กับเซ็นเซอร์ทั้งหมดที่คุณจะใช้ และจดที่อยู่ สำหรับแต่ละอัน เมื่อคุณมีเซ็นเซอร์หลายตัว คุณควรรู้ว่าตัวไหนเป็นตัวไหน

ขั้นตอนที่ 4: สร้างเซนเซอร์และเครือข่าย

สร้างเซนเซอร์และเครือข่าย
สร้างเซนเซอร์และเครือข่าย
สร้างเซนเซอร์และเครือข่าย
สร้างเซนเซอร์และเครือข่าย
สร้างเซนเซอร์และเครือข่าย
สร้างเซนเซอร์และเครือข่าย
สร้างเซนเซอร์และเครือข่าย
สร้างเซนเซอร์และเครือข่าย

เมื่อเดินสายเครือข่าย 1wire คุณต้องใช้สายเคเบิลเครือข่าย cat 5

ฉันมีประสบการณ์แย่ๆ ในการใช้สายเคเบิลอื่นๆ และการรวมสายเคเบิลประเภทต่างๆ เมื่อวิ่งผ่าน cat5 บัส 1wire สามารถมีสายยาวได้ ในการตั้งค่าสถานีตรวจอากาศแห่งหนึ่ง ฉันใช้ cat5 30 เมตรจากห้องเทคนิคที่มีคอมพิวเตอร์ Linux และขึ้นไปบนหลังคา บนหลังคาสายเคเบิลแบ่งออกเป็น 3 สายยาว 5-15 เมตร มีเซ็นเซอร์ที่ปลายสายแต่ละเส้น การตั้งค่านี้ทำงานได้อย่างไม่มีที่ติ เครือข่าย 1 สายค่อนข้างแข็งแกร่ง การสร้างเซ็นเซอร์: คุณต้องทำให้เซ็นเซอร์ทั้งกันน้ำและแข็ง 1) ตัดสาย Cat 5 ให้ได้ความยาวที่ต้องการ 2) ถอดฉนวนปลายเซ็นเซอร์ออก ตัดคู่ 3 ใน 4 คู่ ทิ้งสีเขียว/ขาวเขียว 3) เลื่อนท่อหดขนาดเล็กบนลวดสีเขียว 4) บัดกรีลวดสีเขียวเข้ากับหมุดตรงกลางของ DS1820 5) ดึงท่อหดขึ้นเพื่อให้ครอบคลุมโลหะทั้งหมดของขากลางและโลหะของลวดที่เชื่อมต่ออยู่ จากนั้นให้ความร้อนด้วยไฟแช็กหรือปืนความร้อนเพื่อลดขนาดให้เข้าที่ 6) บัดกรีลวดสีขาว/เขียวกับหมุดอีกสองตัว 7) วางท่อหดขนาดใหญ่ไว้เหนือเซ็นเซอร์และสายเคเบิล ดูภาพ จากนั้นอุ่นเบา ๆ ด้วยไฟแช็กเพื่อหดตัวเข้าที่ คุณไม่ต้องการจุดไฟ เพียงแค่ถือเปลวไฟให้ห่างจากท่อหด 4-10 มม. 8) วางเซ็นเซอร์ของคุณทุกที่ที่คุณต้องการ เชื่อมต่อกับอินเทอร์เฟซ rs232 และเสียบเข้ากับคอมพิวเตอร์ของคุณ

ขั้นตอนที่ 5: การตั้งค่าซอฟต์แวร์ - การได้มาซึ่งข้อมูล

การตั้งค่าซอฟต์แวร์ - การได้มาซึ่งข้อมูล
การตั้งค่าซอฟต์แวร์ - การได้มาซึ่งข้อมูล

ตอนนี้เราติดตั้งเซ็นเซอร์แล้ว เราต้องการรวบรวมข้อมูลบางส่วนจากมัน เมื่อรูทบนเครื่อง linux ของคุณ:1) เรียกใช้ `digitemp -s /dev/ttyS0 -i -c /etc/digitemp.conf`สิ่งนี้จะสร้างการกำหนดค่า ไฟล์ digitemp.conf ด้วยเซ็นเซอร์ yoru ดูผลลัพธ์เพื่อดูว่าเซ็นเซอร์ได้รับหมายเลขใด 2) ตรวจสอบอุณหภูมิด้วย `digitemp -aq -c /etc/digitemp.conf`3) ดัมพ์ข้อมูลเอาต์พุตลงในไฟล์ ฉันดัมพ์ไปยังไฟล์ภายใน apache wwwroot ด้วยวิธีนี้ฉันสามารถเข้าถึงอุณหภูมิได้จากทุกที่ คำสั่ง `digitemp -aq -c /etc/digitemp.conf > /var/www/digitemp.txt` ทำให้เอาต์พุตของ digitemp อยู่ใน file digitemp.txt4) ทำให้กระบวนการนี้เป็นไปโดยอัตโนมัติ: พิมพ์ `crontab -e` ซึ่งจะเปิด root crontab. Type `* * * * * digitemp -aq -c /etc/digitemp.conf > /tmp/digitemp; mv /tmp/digitemp /var/www/digitemp.txt` ลงในไฟล์นั้นแล้วบันทึก เรียกใช้ `crontab -l` เพื่อยืนยันว่าได้ติดตั้ง crontab แล้ว เหตุผลที่ฉันส่งเอาต์พุตไปยัง /tmp แล้วจึงย้าย ไปที่ /var/www คือ digitemp นั้นใช้เวลาไม่กี่วินาทีในการแข่งขัน หากคุณพยายามเข้าถึงเอาต์พุตในขณะที่ digitemp กำลังทำงานอยู่ คุณจะได้รับไฟล์ที่ไม่สมบูรณ์ ซึ่งอาจทำให้สคริปต์อื่นๆ ที่อ่านข้อมูลจากไฟล์นี้ยุ่งเหยิง (สิ่งนี้ไม่รวมอยู่ในภาพหน้าจอ ลืมทำ) สถานีตรวจอากาศของคุณเปิดใช้งานแล้ว ใช้ข้อมูลเพื่อทำสิ่งที่คุณต้องการ สร้างกราฟ ใช้เพื่อส่งอีเมลในกรณีที่อุณหภูมิสูง/ต่ำ ฯลฯ..

ขั้นตอนที่ 6: การตั้งค่าซอฟต์แวร์ - การสร้างกราฟ

การตั้งค่าซอฟต์แวร์ - การสร้างกราฟ
การตั้งค่าซอฟต์แวร์ - การสร้างกราฟ
การตั้งค่าซอฟต์แวร์ - การสร้างกราฟ
การตั้งค่าซอฟต์แวร์ - การสร้างกราฟ

นี่เป็นส่วนที่ยุ่งยาก ต้องใช้สคริปต์จำนวนมากในที่นี้1)สร้างที่สำหรับวางสคริปต์ สถานที่สำหรับเก็บรูปภาพ และสถานที่สำหรับเก็บข้อมูล`mkdir /etc/tempsensor``mkdir /var/www /temperature``mkdir /var/log/digitemp_rrd`2) ติดตั้งซอฟต์แวร์: คุณจะต้องใช้ PHP และ RRDtool.`apt-get install rrdtool``apt-get install php' (มีหลายแพ็คเกจ php ติดตั้งด้วย ปฏิบัติการคอนโซล)3)ดาวน์โหลดและติดตั้งสคริปต์ที่รับผิดชอบในการสร้างกราฟ:ดาวน์โหลด tempsensor-0.1.tar.gz ไปยังเครื่อง linux ของคุณ'tar xvzf tempsensor-0.1.tar.gz`'cp -v tempsensor/* /etc/ tempsensor`4)กำหนดค่าสคริปต์เปิด /etc/tempsensor/config.php และปฏิบัติตามความคิดเห็นในไฟล์นี้ เปลี่ยนสคริปต์เพื่ออ่านข้อมูลอินพุตจาก "/var/www/digitemp.txt" หากคุณทำตามตัวอย่างในขั้นตอนก่อนหน้า.5) อัตโนมัติ เพิ่มรายการ crontab เช่นเดียวกับในขั้นตอนก่อนหน้า สคริปต์ควรรันทุก ๆ 5 นาที บรรทัดควรมีลักษณะดังนี้:`*/5 * * * * php /etc/tempsensor/logdata.php``*/5 * * * * php /etc/tempsensor/graphdata.php `6)เรียกใช้สคริปต์ด้วยตนเองเพื่อตรวจสอบว่ามันทำงานได้หรือไม่ php /etc/tempsensor/logdata.phpphp /etc/tempsensor/graphdata.php7)เยี่ยมชม https://your.ip.or.hostname/temperature หรืออะไรก็ตามที่คุณระบุไว้ ไฟล์ปรับแต่ง

ขั้นตอนที่ 7: การใช้งาน 1 - การตรวจสอบห้องเซิร์ฟเวอร์

การใช้งาน 1 - การตรวจสอบห้องเซิร์ฟเวอร์
การใช้งาน 1 - การตรวจสอบห้องเซิร์ฟเวอร์
การใช้งาน 1 - การตรวจสอบห้องเซิร์ฟเวอร์
การใช้งาน 1 - การตรวจสอบห้องเซิร์ฟเวอร์
การใช้งาน 1 - การตรวจสอบห้องเซิร์ฟเวอร์
การใช้งาน 1 - การตรวจสอบห้องเซิร์ฟเวอร์

การใช้งานระบบนี้ครั้งแรกของฉันอยู่ในห้องเซิร์ฟเวอร์ที่หอพักนักเรียนที่ฉันทำงาน นี่คือภาพบางส่วนสำหรับคุณ

ขั้นตอนที่ 8: การใช้งาน 2 - สถานีตรวจอากาศ

การดำเนินการ 2 - สถานีตรวจอากาศ
การดำเนินการ 2 - สถานีตรวจอากาศ
การดำเนินการ 2 - สถานีตรวจอากาศ
การดำเนินการ 2 - สถานีตรวจอากาศ
การดำเนินการ 2 - สถานีตรวจอากาศ
การดำเนินการ 2 - สถานีตรวจอากาศ

เมื่อฉันติดตั้งเซ็นเซอร์อุณหภูมิในห้องเซิร์ฟเวอร์ ฉันก็อดไม่ได้ที่จะใส่บางอย่างไว้บนหลังคา!

Weatherstation ค่อนข้างซับซ้อนกว่าห้องเซิร์ฟเวอร์ ภายนอกมีสิ่งรบกวนมากมาย ดวงอาทิตย์อาจกระทบเซ็นเซอร์ ส่งจาก -1 ถึง 30 c ใน 5 นาที ฉันแก้ปัญหานี้โดยใช้เซ็นเซอร์ 3 ตัววางในตำแหน่งที่จะได้รับแสงแดดในเวลาที่ต่างกันระหว่างวัน เนื่องจากความร้อนเป็นเพียง "สัญญาณรบกวน" เพียงอย่างเดียวในการวัด ฉันจึงใช้เซ็นเซอร์ที่มีการอ่านค่าต่ำสุดในเวลาใดก็ได้เป็น "อุณหภูมิภายนอก" อุณหภูมินี้ปรับให้เรียบอีกครั้งโดยเฉลี่ยในช่วงไม่กี่นาทีที่ผ่านมา

ขั้นตอนที่ 9: การใช้งาน 3 - หอพักนักศึกษา

การดำเนินการ 3 - หอพักนักศึกษา
การดำเนินการ 3 - หอพักนักศึกษา
การดำเนินการ 3 - หอพักนักศึกษา
การดำเนินการ 3 - หอพักนักศึกษา

เพื่อนของฉันคนหนึ่งทำตามคำแนะนำนี้และติดตั้งเซ็นเซอร์อุณหภูมิในอพาร์ตเมนต์ของเขา ในตู้เย็น ห้องน้ำ คอมพิวเตอร์ ฯลฯ:)

แนะนำ: