สารบัญ:

DIY Raspberry Pi ระบบอุณหภูมิด้วย Ubidots: 7 ขั้นตอน (พร้อมรูปภาพ)
DIY Raspberry Pi ระบบอุณหภูมิด้วย Ubidots: 7 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: DIY Raspberry Pi ระบบอุณหภูมิด้วย Ubidots: 7 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: DIY Raspberry Pi ระบบอุณหภูมิด้วย Ubidots: 7 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: Monitoring sensor data on ubidots IoT platform | ESP32 with ubidots using MQTT #iot #iotproject 2024, กรกฎาคม
Anonim
DIY Raspberry Pi ระบบอุณหภูมิด้วย Ubidots
DIY Raspberry Pi ระบบอุณหภูมิด้วย Ubidots

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

คู่มือนี้จะเป็นบทช่วยสอนของคุณเกี่ยวกับระบบตรวจสอบอุณหภูมิ DIY แบบง่ายๆ ที่สามารถกันน้ำในการบูตได้ การใช้ Raspberry Pi และ Ubidots เราจะแสดงวิธีเชื่อมต่อ Pi ของคุณและแสดงเมตริกของระบบอุณหภูมิแบบเรียลไทม์ เมื่อใช้ Ubidots คุณสามารถสร้างอีเมลหรือกิจกรรม SMS เพื่อให้แน่ใจว่า "ตัวแปร" ของคุณ (ในกรณีนี้คืออุณหภูมิ) ยังคงอยู่ภายในชุดของขีดจำกัดที่กำหนดโดยคุณ เพื่อให้มั่นใจในคุณภาพและประสิทธิภาพของเงื่อนไขระบบของคุณ

สำหรับโครงการนี้ เราจะใช้เซ็นเซอร์ DS18B20 แบบมีสายและแบบกันน้ำ 1 สาย 1-wire คืออะไร? เป็นโปรโตคอลการสื่อสารที่ทำให้การเชื่อมต่อเซ็นเซอร์ IoT ของคุณง่ายขึ้นโดยการรวมสายเคเบิลทั้งหมดเข้าด้วยกันเป็นสายเส้นเดียว (…อันที่จริงคือสาม สองเป็นการเชื่อมต่อกราวด์และพลังงานสำหรับพลังงาน ส่วนที่สามคือ 1 สายสำหรับการส่งข้อมูล)

หมายเหตุสำคัญ: เซ็นเซอร์อุณหภูมิ 1-Wire มีรุ่นจำหน่ายต่างกัน ตัวหนึ่งมีตัวต้านทานรวมอยู่ในเซ็นเซอร์และอีกตัวไม่มี เมื่อซื้อหรือตั้งค่าฮาร์ดแวร์ ควรตรวจสอบให้แน่ใจว่าอุปกรณ์และเซ็นเซอร์ของคุณสามารถทำงานร่วมกันได้ก่อนที่จะดำเนินการต่อไปในบทช่วยสอนนี้

ขั้นตอนที่ 1: ข้อกำหนด

  • รุ่น Raspberry Pi 3 (กำหนดค่าแล้ว)
  • เซ็นเซอร์อุณหภูมิ OneWire - DS18B20
  • บัญชี Ubidots - หรือ - ใบอนุญาต STEM

ขั้นตอนที่ 2: ตั้งค่าการเดินสาย

การติดตั้งสายไฟ
การติดตั้งสายไฟ
การติดตั้งสายไฟ
การติดตั้งสายไฟ
การติดตั้งสายไฟ
การติดตั้งสายไฟ

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

    พร้อมตัวต้านทานในตัว - พร้อมขั้วต่อโกรฟ

โปรดทำตามตารางและภาพด้านบนเพื่อทำการเชื่อมต่อที่ถูกต้องสำหรับเซ็นเซอร์อุณหภูมิ OneWire พร้อมตัวต้านทาน

เคล็ดลับ: Arduberry เป็นแคมเปญใหม่ใน Kickstarter ซึ่งเป็นวิธีที่ง่ายและราคาไม่แพงในการนำ Arduino shields มาสู่ Raspberry Pi ตัวเลือกที่น่าทึ่งนี้เป็นวิธีที่ง่ายในการเริ่มต้นเชื่อมต่อเซ็นเซอร์โกรฟของคุณโดยใช้ Arduino Grove shield สำหรับข้อมูลเพิ่มเติมเกี่ยวกับเรื่องนี้ โปรดอ้างอิงถึงการตั้งแคมป์:)

    ไม่มีตัวต้านทานในตัว- ไม่มีขั้วต่อโกรฟ

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

ใช้ตัวต้านทาน4.7kΩ (หรือ10kΩ) และทำตามแผนภาพด้านบนเพื่อทำการเชื่อมต่อที่ถูกต้อง โปรดทราบว่าหมุดที่เชื่อมต่อใน Raspberry Pi จะเหมือนกับที่ใช้ในตาราง

ขั้นตอนที่ 3: การตั้งค่าเซนเซอร์

การตั้งค่าเซนเซอร์
การตั้งค่าเซนเซอร์
การตั้งค่าเซนเซอร์
การตั้งค่าเซนเซอร์

1. เมื่อ Raspberry Pi เชื่อมต่อกับอินเทอร์เน็ต ให้ตรวจสอบที่อยู่ IP ที่กำหนดให้กับการเข้าถึงบอร์ดโดยใช้ ssh ในเทอร์มินัลของคอมพิวเตอร์ของคุณ:

ssh pi@{IP_Address_assigned}

หากคุณยังไม่ได้กำหนดค่าข้อมูลรับรองของ Raspberry Pi โปรดทราบว่าคุณจะต้องใช้ข้อมูลรับรองเริ่มต้นที่ให้มา:

  • Username: pi
  • รหัสผ่าน: ราสเบอร์รี่

เมื่อ pi ของคุณได้รับการกำหนดค่าและเชื่อมต่ออย่างถูกต้อง ผู้ใช้เทอร์มินัลของคุณจะแสดงเป็น: pi@raspberrypi

2. ตอนนี้ มาอัพเกรดแพ็คเกจและติดตั้ง pip ซึ่งเป็นตัวจัดการแพ็กเก็ตของ Python คัดลอกและวางคำสั่งด้านล่างลงในเทอร์มินัลแล้วกด "Enter" หลังแต่ละคำสั่งเพื่อเรียกใช้คำสั่ง

sudo apt-get update> sudo apt-get upgrade

sudo apt-get install python-pip python-dev build-essential

3. จากนั้น ติดตั้ง Request Library ซึ่งเป็นไลบรารี Python ยอดนิยมที่ทำให้การขอ HTTP ง่ายขึ้น คัดลอกและวางคำสั่งด้านล่างลงในเทอร์มินัลแล้วกด "Enter" เรียกใช้คำสั่ง

$ pip คำขอติดตั้ง

4. Raspberry Pi มาพร้อมกับไดรเวอร์มากมายสำหรับการเชื่อมต่อ ในกรณีนี้ เพื่อให้สามารถโหลดไดรเวอร์ของเซ็นเซอร์ 1-Wire บนพิน GPIO เราต้องใช้ไดรเวอร์สองตัวด้านล่างนี้ ไดรเวอร์เหล่านี้จึงถูกจัดเก็บเป็นโมดูลที่โหลดได้ และคำสั่ง modprobe ถูกใช้เพื่อบูตเข้าสู่เคอร์เนล Linux เมื่อจำเป็น

เรียกใช้คำสั่งด้านล่าง:

$ sudo modprobe w1-gpio> $ sudo modprobe w1-therm

5. ตอนนี้ เราต้องเปลี่ยนไดเร็กทอรีไปยังโฟลเดอร์อุปกรณ์ 1-Wire ของเรา และแสดงรายการอุปกรณ์เพื่อให้แน่ใจว่าเซ็นเซอร์ของเราโหลดอย่างถูกต้อง คัดลอกและวางคำสั่งด้านล่างลงในเทอร์มินัลแล้วกด "Enter" หลังแต่ละคำสั่งเพื่อเรียกใช้คำสั่ง

$ cd /sys/bus/w1/devices/> $ ls

ในขณะนี้ คุณได้ประกอบและเชื่อมต่อเซ็นเซอร์แล้ว และควรแสดงรายการเป็นชุดตัวเลขและตัวอักษร ในกรณีของเรา อุปกรณ์ได้รับการลงทะเบียนเป็น 28-00000830fa90 แต่กรณีของคุณจะเป็นชุดตัวอักษรและตัวเลขที่แตกต่างกัน ดังนั้นให้แทนที่หมายเลขซีเรียลของเราด้วยหมายเลขของคุณเองและเรียกใช้คำสั่ง

$ cd 28-00000830fa90

เซ็นเซอร์จะเขียนไปยังไฟล์ w1_slave เป็นระยะ เพื่ออ่านเซ็นเซอร์อุณหภูมิของคุณ โปรดเรียกใช้คำสั่งด้านล่าง:

$ cat w1_slave

คำสั่งนี้จะแสดงข้อความสองบรรทัดพร้อมผลลัพธ์ t= แสดงอุณหภูมิเป็นองศาเซลเซียส โปรดทราบว่าควรวางจุดทศนิยมหลังตัวเลขสองหลักแรก (ซึ่งระบุไว้ในรหัสสุดท้าย - ไม่ต้องกังวล) ตัวอย่างเช่น ค่าอุณหภูมิที่เราได้รับคือ 29.500 องศาเซลเซียส

เมื่อคุณอ่านค่าอุณหภูมิได้แล้ว ก็ถึงเวลาโพสต์ไปที่ Ubidots!

ขั้นตอนที่ 4: การส่งข้อมูลไปยัง Ubidots สำหรับการแสดงภาพ

การส่งข้อมูลไปยัง Ubidots เพื่อการแสดงภาพ
การส่งข้อมูลไปยัง Ubidots เพื่อการแสดงภาพ
การส่งข้อมูลไปยัง Ubidots เพื่อการแสดงภาพ
การส่งข้อมูลไปยัง Ubidots เพื่อการแสดงภาพ
การส่งข้อมูลไปยัง Ubidots เพื่อการแสดงภาพ
การส่งข้อมูลไปยัง Ubidots เพื่อการแสดงภาพ

ตอนนี้ได้เวลาเขียนโค้ดแล้ว!:)สร้างและเรียกใช้สคริปต์ Python ในเทอร์มินัลของคอมพิวเตอร์ของคุณ:

$ nano onewire_temp_ubidots.py

จากนั้นวางและบันทึกรหัสต่อไปนี้ลงในเทอร์มินัลของคุณ: กดที่นี่เพื่อรับรหัส

อย่าลืมแทนที่หมายเลขซีเรียล 28-00000830fa90 ด้วยของคุณ และกำหนดโทเค็นบัญชี Ubidots ของคุณใน URL คำขอ หากคุณไม่ทราบวิธีรับ Ubidots Token ของคุณ โปรดอ้างอิงบทความด้านล่างเพื่อขอความช่วยเหลือ:

ค้นหา TOKEN ของคุณจากบัญชี Ubidots ของคุณ

ตอนนี้เรามาทดสอบสคริปต์กัน วางและเรียกใช้สคริปต์ด้านล่างในเทอร์มินัลของคอมพิวเตอร์ของคุณ

หลาม onewire_temp_ubidots.py

หากทำงานอย่างถูกต้อง คุณจะเห็นอุปกรณ์ใหม่ในบัญชี Ubidots ของคุณพร้อมตัวแปรสองตัว: temp_celsius และ temp_fahrenheit

ขั้นตอนที่ 5: ขั้นตอนเพิ่มเติม: เปลี่ยนชื่ออุปกรณ์และตัวแปร

ขั้นตอนเพิ่มเติม: เปลี่ยนชื่ออุปกรณ์และตัวแปร
ขั้นตอนเพิ่มเติม: เปลี่ยนชื่ออุปกรณ์และตัวแปร
ขั้นตอนเพิ่มเติม: เปลี่ยนชื่ออุปกรณ์และตัวแปร
ขั้นตอนเพิ่มเติม: เปลี่ยนชื่ออุปกรณ์และตัวแปร

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

วิธีปรับชื่ออุปกรณ์และชื่อตัวแปร

คุณยังสามารถเพิ่มและปรับหน่วยของตัวแปรแต่ละตัวได้จากรายการตัวเลือกของคุณ

ดังที่คุณเห็นด้านบน เราได้กำหนดหน่วยต่างๆ ให้กับตัวแปรแต่ละตัว และยังกำหนดชื่อที่เข้าใจง่ายขึ้นเพื่อให้เข้ากับระบบการตั้งชื่อโครงการของเรา ขอแนะนำอย่างยิ่งสำหรับผู้ใช้ที่ต้องการปรับใช้ 100s หรืออุปกรณ์

ขั้นตอนที่ 6: การตั้งค่าเหตุการณ์

เหตุการณ์ (หรือการแจ้งเตือน) คือการกระทำใดๆ ที่ทริกเกอร์เมื่อข้อมูลเป็นไปตามหรือเกินกฎการออกแบบ ตัวอย่างเช่น คุณสามารถส่งอีเมลหรือข้อความ SMS ได้ทุกเมื่อที่เซ็นเซอร์หยุดส่งข้อมูลหรืออุณหภูมิเกินขีดจำกัดสูงสุดหรือต่ำสุด

หากต้องการสร้างกิจกรรม โปรดอ้างอิงบทความด้านล่าง:

เหตุการณ์: การสร้างเหตุการณ์ข้อความ (SMS อีเมลและโทรเลข)

ขั้นตอนที่ 7: ผลลัพธ์

ในเวลาเพียงไม่กี่นาที คุณได้สร้างระบบตรวจสอบอุณหภูมิแบบ DIY ที่ใช้งานง่ายแล้ว ตอนนี้วางเซ็นเซอร์ของคุณในที่ที่จำเป็นและเริ่มติดตามอุณหภูมิจากอุปกรณ์ของคุณวันนี้!

มีความสุขในการแฮ็ค:)

แนะนำ: