สารบัญ:
- ขั้นตอนที่ 1: คุณต้องการ
- ขั้นตอนที่ 2: สร้างอินเทอร์เฟซ RS232
- ขั้นตอนที่ 3: การทดสอบอินเทอร์เฟซ RS232
- ขั้นตอนที่ 4: สร้างเซนเซอร์และเครือข่าย
- ขั้นตอนที่ 5: การตั้งค่าซอฟต์แวร์ - การได้มาซึ่งข้อมูล
- ขั้นตอนที่ 6: การตั้งค่าซอฟต์แวร์ - การสร้างกราฟ
- ขั้นตอนที่ 7: การใช้งาน 1 - การตรวจสอบห้องเซิร์ฟเวอร์
- ขั้นตอนที่ 8: การใช้งาน 2 - สถานีตรวจอากาศ
- ขั้นตอนที่ 9: การใช้งาน 3 - หอพักนักศึกษา
วีดีโอ: เซ็นเซอร์อุณหภูมิ / Weatherstation: 9 ขั้นตอน (พร้อมรูปภาพ)
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:08
สร้างสถานีตรวจอากาศหรือตัวตรวจสอบอุณหภูมิโดยใช้เซ็นเซอร์อุณหภูมิแบบดิจิทัลที่เจ๋งมาก 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
ฉันชอบสร้างบัสมาสเตอร์ 1-Wire ให้มีขนาดเล็กจนสามารถนั่งที่ด้านหลังของคอมพิวเตอร์ในพอร์ต rs232 ได้
ขั้นตอนที่ 1) คิดให้ออกว่าคุณสามารถทำให้มันเล็กแค่ไหน ใส่ส่วนประกอบทั้งหมดบน perfbaord วางไว้โดยคำนึงถึงวงจร เราไม่ต้องการเพิ่มสายไฟใด ๆ ที่ด้านล่างของวงจร! Se ภาพ ขั้นตอนที่ 2) ตัด perfboard ขนาดที่เหมาะสมออก เพียงลากมีดคมๆ สองสามครั้งทับแถวของรูที่คุณต้องการตัด ทำทั้งสองข้างแล้วหักออกเป็นสองส่วน มักจะแตกที่เส้นความผิดปกติที่คุณสร้างขึ้น 3) ประสานส่วนประกอบเข้าที่ และเชื่อมจุดบัดกรีเพื่อให้วงจรสมบูรณ์
ขั้นตอนที่ 3: การทดสอบอินเทอร์เฟซ 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 - การตรวจสอบห้องเซิร์ฟเวอร์
การใช้งานระบบนี้ครั้งแรกของฉันอยู่ในห้องเซิร์ฟเวอร์ที่หอพักนักเรียนที่ฉันทำงาน นี่คือภาพบางส่วนสำหรับคุณ
ขั้นตอนที่ 8: การใช้งาน 2 - สถานีตรวจอากาศ
เมื่อฉันติดตั้งเซ็นเซอร์อุณหภูมิในห้องเซิร์ฟเวอร์ ฉันก็อดไม่ได้ที่จะใส่บางอย่างไว้บนหลังคา!
Weatherstation ค่อนข้างซับซ้อนกว่าห้องเซิร์ฟเวอร์ ภายนอกมีสิ่งรบกวนมากมาย ดวงอาทิตย์อาจกระทบเซ็นเซอร์ ส่งจาก -1 ถึง 30 c ใน 5 นาที ฉันแก้ปัญหานี้โดยใช้เซ็นเซอร์ 3 ตัววางในตำแหน่งที่จะได้รับแสงแดดในเวลาที่ต่างกันระหว่างวัน เนื่องจากความร้อนเป็นเพียง "สัญญาณรบกวน" เพียงอย่างเดียวในการวัด ฉันจึงใช้เซ็นเซอร์ที่มีการอ่านค่าต่ำสุดในเวลาใดก็ได้เป็น "อุณหภูมิภายนอก" อุณหภูมินี้ปรับให้เรียบอีกครั้งโดยเฉลี่ยในช่วงไม่กี่นาทีที่ผ่านมา
ขั้นตอนที่ 9: การใช้งาน 3 - หอพักนักศึกษา
เพื่อนของฉันคนหนึ่งทำตามคำแนะนำนี้และติดตั้งเซ็นเซอร์อุณหภูมิในอพาร์ตเมนต์ของเขา ในตู้เย็น ห้องน้ำ คอมพิวเตอร์ ฯลฯ:)
แนะนำ:
เซ็นเซอร์อุณหภูมิ TMP36 และจอแสดงผล LCD โดยใช้ Arduino (Tinkercad): 7 ขั้นตอน
เซ็นเซอร์อุณหภูมิ TMP36 และจอ LCD โดยใช้ Arduino (Tinkercad): สวัสดีทุกคน! เราเป็นนักศึกษาจากมหาวิทยาลัย Tun Hussein Onn Malaysia (UTHM) ดำเนินโครงการเพื่อสาธิตวิธีที่เราสามารถจำลองเซ็นเซอร์อุณหภูมิ จอแอลซีดี และ Arduino โดยใช้ Tinkercad เป็นส่วนหนึ่งของหลักสูตรสำหรับ UQD0801 (Robocon 1) (
เซ็นเซอร์อุณหภูมิ (Arduino): 8 ขั้นตอน
เซนเซอร์จับอุณหภูมิ (Arduino): โครงการนี้เหมาะสำหรับมือสมัครเล่นระดับกลางและระดับเริ่มต้น การตั้งค่าทำได้ง่ายมาก มีชิปชื่อ LM35 (ลิงค์สำหรับคำอธิบายเพิ่มเติม) ที่ช่วยให้ Arduino สามารถกำหนดอุณหภูมิของบริเวณโดยรอบได้
เซ็นเซอร์อุณหภูมิ IR หลายตัว - MLX90614: 4 ขั้นตอน
เซ็นเซอร์อุณหภูมิ IR หลายตัว - MLX90614: นี่คือคำแนะนำโดยย่อเกี่ยวกับวิธีตั้งค่าเซ็นเซอร์อุณหภูมิแบบไม่สัมผัส MLX90614B หลายตัวผ่านบัส I2C กับ Arduino uno และแสดงค่าที่อ่านได้บนจอภาพแบบอนุกรมของ Arduino IDE ฉันกำลังใช้บอร์ดที่สร้างไว้ล่วงหน้า แต่ถ้าคุณซื้อเซ็นเซอร์ข
เซ็นเซอร์อุณหภูมิ IoT พร้อม ESP8266: 6 ขั้นตอน (พร้อมรูปภาพ)
IoT Temperature Sensor ด้วย ESP8266: ฉันได้รับแรงบันดาลใจในการสร้างเซ็นเซอร์อุณหภูมิที่สามารถตรวจสอบผ่าน Wi-Fi ได้ โปรเจ็กต์นี้ไม่ใช่เรื่องใหม่ แต่ฉันชอบแนวคิดที่มีเลเยอร์กลางเพื่อความปลอดภัยและไม่ต้องเปิดพอร์ตในเราเตอร์ของคุณไปยังอุปกรณ์ IoT ของคุณ แนวคิดพื้นฐานจะช่วย
เซ็นเซอร์อุณหภูมิ DS18B20 (Raspberry Pi): 4 ขั้นตอน (พร้อมรูปภาพ)
เซ็นเซอร์อุณหภูมิ DS18B20 (Raspberry Pi): บทแนะนำพื้นฐานเกี่ยวกับวิธีตั้งค่าเซ็นเซอร์อุณหภูมิ DS18b20 ด้วยราสเบอร์รี่ pi