สารบัญ:
- เสบียง
- ขั้นตอนที่ 1: การเดินสายไฟ
- ขั้นตอนที่ 2: ที่อยู่อาศัย
- ขั้นตอนที่ 3: ฐานข้อมูล
- ขั้นตอนที่ 4: ตั้งค่า
- ขั้นตอนที่ 5: รหัส
วีดีโอ: SmartHome กับ Raspberry Pi: 5 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:04
สำหรับโครงการนี้ ฉันได้สร้าง SmartHome ที่สามารถใช้งานโดยเว็บไซต์และมือถือ สำหรับสิ่งนี้ฉันใช้ Raspberry PI เป็นฐานข้อมูลและเว็บเซิร์ฟเวอร์
เสบียง
หากคุณต้องการเริ่มต้นสิ่งนี้ คุณต้องมีหลายอย่าง:
- ไฟ LED สีขาว 5 ดวง (5 มม.)
- 1 เซ็นเซอร์อุณหภูมิสายเดียว
- 1 LDR (ตัวต้านทานที่ขึ้นกับแสง)
- เซอร์โวมอเตอร์ 2 ตัว
- 1 microSD (สำหรับ Raspberry Pi)
- 1 พาวเวอร์ซัพพลายเขียงหั่นขนม
- 1 Raspberry Pi 3 รุ่น B+
- 3 แผ่นโฟม
- 1 สเต็ปเปอร์มอเตอร์ (5V)
- เครื่องอ่าน RFID-RC522 1 เครื่อง
- ตัวต้านทาน 8 ตัว (220 โอห์ม)
- ตัวต้านทาน 1 ตัว (10K โอห์ม)
- 2 เขียงหั่นขนม
- จัมเปอร์ไวร์ 2 แพ็ค
- จอ LCD ขนาด 16x2 1 จอ
- 1 PCF8574AN
- หน้าต่างบานเล็ก 4 บาน (พิมพ์ 3 มิติ)
- 1 ประตู (พิมพ์ 3D)
- หน้าต่างบานใหญ่ 2 บาน (พิมพ์ 3 มิติ)
- 1 ประตูโรงรถ (พิมพ์ 3D)
หากคุณต้องการทั้งหมดนี้เพื่อซื้อ ค่าใช้จ่ายสูงสุดจะอยู่ที่ประมาณ €150
ขั้นตอนที่ 1: การเดินสายไฟ
วิธีที่ง่ายที่สุดในการเริ่มต้นคือการเดินสายเพื่อให้คุณมีพื้นฐานอยู่แล้ว ด้วยวิธีนี้ คุณจะตรวจสอบได้อย่างง่ายดายว่าทุกอย่างทำงานเมื่อคุณเขียนโค้ดหรือไม่
ด้วยวิธีนี้ คุณสามารถดูได้ว่าคุณมีพินบน Raspberry Pi เพียงพอเพื่อเชื่อมต่อทุกอย่างหรือไม่ ในกรณีนี้ ฉันใช้ PCF8574AN เพื่อควบคุม LCD โดยใช้พิน GPIO น้อยกว่า
ในการวาดโครงร่าง ฉันใช้ Fritzing เป็นโปรแกรมที่มีประโยชน์ซึ่งคุณสามารถดูสายเคเบิลของคุณได้อย่างมีระเบียบ
ดังที่คุณเห็นในภาพที่สอง มีสายเคเบิลจำนวนมาก ดังนั้นคุณยังต้องทำงานอย่างเป็นระเบียบ
ขั้นตอนที่ 2: ที่อยู่อาศัย
สำหรับตัวเรือน ฉันใช้แผ่นโฟมเป็นผนัง ฉันใช้มีดตัดกระดานให้ได้รูปทรงที่ต้องการ หน้าต่าง ประตู และประตูโรงรถเป็นเครื่องพิมพ์ 3 มิติ แน่นอน ฉันวาดบ้านไว้ล่วงหน้า ฉันจึงรู้ว่าต้องใช้ขนาดใด
ฉันใช้ SketchUp วาดบ้าน ฉันใช้ปืนกาวเพื่อให้ผนังตั้งตรงและยึดเข้าด้วยกัน ถ้าคุณเห็นภาพแสดงว่าหน้าต่างและประตูโรงรถติดด้วยกาวจึงแข็งแรงเพียงพอ กล่องดำ รูปที่ 3 เป็นกล่องที่ผมเคยขนมาเพื่อให้ทุกอย่างไม่บุบสลาย
ขั้นตอนที่ 3: ฐานข้อมูล
ก่อนอื่น คุณต้องออกแบบฐานข้อมูลโดยใช้ Mysql Workbench หากสำเร็จ คุณต้องติดตั้งฐานข้อมูล Mysql บน Raspberry Pi
ขั้นตอนแรกที่คุณทำคือตรวจสอบว่า Pi ของคุณได้รับการอัปเดตหรือไม่ คุณสามารถใช้คำสั่งต่อไปนี้:
sudo apt-get update
และ
sudo apt-get อัพเกรด
ตอนนี้คุณสามารถติดตั้งเซิร์ฟเวอร์ Mysql:
sudo apt-get ติดตั้ง mysql-server
หากมีการติดตั้งเซิร์ฟเวอร์ Mysql ให้ติดตั้งไคลเอนต์ Mysql
sudo apt-get ติดตั้ง mysql-client
หากคุณดูที่เซิร์ฟเวอร์ sql ด้วยคำสั่ง:
sudo mysql
ตอนนี้คุณสามารถนำเข้ารหัสฐานข้อมูลของคุณโดยเปิดไฟล์.mwb ด้วย sql workbench และ forward engineer คุณคัดลอกรหัสและวางสิ่งนี้ใน mysql จาก Raspberry ฐานข้อมูลถูกสร้างขึ้น
เพื่อให้ผู้ใช้ได้รับสิทธิ์ทั้งหมด เพียงเพิ่มชื่อผู้ใช้ของคุณในตาราง
ให้สิทธิ์ทั้งหมดบนสมาร์ทโฮม* กับ 'ชื่อของคุณ'@'%' ที่ระบุโดย 'ชื่อของคุณ';
แน่นอน คุณต้องรีเฟรชตารางเดี๋ยวนี้
สิทธิพิเศษในการล้าง;
เพื่อตรวจสอบสิ่งนี้ คุณสามารถลอง:
ใช้สมาร์ทโฮม
เลือก * จากประวัติ;
ในตารางผู้ใช้ ชื่อผู้ใช้มาพร้อมกับตราสัญลักษณ์ คุณสามารถเพิ่มผู้ใช้ใหม่ได้ที่นี่ ในตารางอุปกรณ์ คุณจะพบเซ็นเซอร์ที่ทำงานอยู่ทั้งหมดพร้อมรหัส ตารางประวัติแสดงทุกสิ่งที่เกิดขึ้น เช่น เซ็นเซอร์อุณหภูมิ ป้ายสถานะประตูโรงรถ และอื่นๆ
ขั้นตอนที่ 4: ตั้งค่า
ในการตั้งค่ารูปภาพบน Raspberry Pi คุณสามารถใช้ Putty ซึ่งเป็นโปรแกรมฟรี คุณสามารถค้นหาไฟล์รูปภาพพื้นฐานได้ที่นี่:
อินเทอร์เฟซ
แน่นอน คุณต้องเปิดใช้งานอินเทอร์เฟซบางอย่างบน Pi ไปที่หน้าการกำหนดค่าก่อน
sudo raspi-config
ตอนนี้คุณสามารถไปที่หมวดหมู่ 1-Wire และ Spi และเปิดใช้งานทั้งคู่ คุณจะต้องใช้สิ่งเหล่านี้สำหรับเซ็นเซอร์อุณหภูมิ
Wifi
ทำตามขั้นตอนถัดไปเพื่อรับ wifi บน Pi
เข้าสู่ระบบครั้งแรกในฐานะรูท
sudo-i
จากนั้นกรอกชื่อและรหัสผ่านของเครือข่าย wifi ของคุณ
wpa_passphrase="wifiname" "รหัสผ่าน" >> /etc/wpa_supplicant/wpa_supplicant.conf
จากนั้นเข้าสู่ไคลเอนต์ WPA
wpa_cli
เลือกอินเทอร์เฟซ
อินเทอร์เฟซ wlan0
ตอนนี้โหลดการกำหนดค่าใหม่
กำหนดค่าใหม่
และตอนนี้คุณสามารถตรวจสอบว่าคุณเชื่อมต่ออยู่หรือไม่
ip a
แพ็คเกจ
สิ่งแรกที่ต้องทำคืออัปเดตเวอร์ชันล่าสุด
sudo apt อัปเดต
สำหรับ python เราติดตั้งและตรวจสอบให้แน่ใจว่า Pi กำลังเลือกเวอร์ชันที่ถูกต้อง
ทางเลือกในการอัปเดต -- ติดตั้ง /usr/bin/python python /usr/bin/python2.7 1update-alternatives --install /usr/bin/python python /usr/bin/python3 2
เพื่อให้เว็บเซิร์ฟเวอร์ทำงานบนไซต์ เราต้องติดตั้ง Apache2
sudo apt ติดตั้ง apache2 -y
จำเป็นต้องติดตั้งแพ็คเกจหลามด้วยเช่นกัน
- กระติกน้ำ
- Flask-Cors
- Flask-MySQL
- กระติกน้ำ-ซ็อกเก็ตIO
- PyMySQL
- Python-socketIO
- คำขอ
- pip
- gpio
- เกเวนต์
- Gevent-websocket
หากมีปัญหากับแพ็คเกจที่ไม่พบ ให้คลิกขวาแล้วปล่อยให้ติดตั้ง
ขั้นตอนที่ 5: รหัส
แบ็กเอนด์
สำหรับแบ็กเอนด์ เราเขียนโค้ดเป็น python และใช้ pycharm ในการเขียน เส้นทางจากแบ็กเอนด์สามารถตรวจสอบกับบุรุษไปรษณีย์ได้ ด้วยแอพนี้ คุณสามารถใช้วิธี POST และ GET ในแบ็กเอนด์ ฉันใช้มัลติเธรดเพื่อให้ทุกอย่างทำงานในเบื้องหลังและสามารถทำงานร่วมกันได้ ในการตั้งค่ารูปภาพบน Raspberry Pi คุณสามารถใช้ Putty ได้ นี่เป็นโปรแกรมฟรี
ส่วนหน้า
ที่ด้านหน้ามีปุ่มสองสามปุ่มที่สามารถเปิดไฟ เปิดพอร์ตโรงรถและประตูได้ ด้วยการใช้จาวาสคริปต์และ CSS สไตล์จากปุ่มจะเปลี่ยนไปเมื่อเปิดใช้งาน นอกจากนี้ยังมีอุณหภูมิสดและแผนภูมิที่มีอุณหภูมิที่ผ่านมา ที่หน้าผู้ใช้ คุณสามารถดูผู้ใช้ต่างๆ ได้ คุณสามารถเพิ่มผู้ใช้ลงในฐานข้อมูลได้ และมีประวัติผู้ใช้ที่คุณสามารถดูว่าใครเปิดหรือปิดประตูโรงรถเป็นคนสุดท้าย
คุณสามารถค้นหารหัสสำหรับส่วนหน้าและส่วนหลังได้ที่
github.com/NMCT-S2-Project-1/nmct-s2-proje…
แนะนำ:
การเชื่อมต่อโมดูล GPS กับ Raspberry Pi: 10 ขั้นตอน
การเชื่อมต่อโมดูล GPS กับ Raspberry Pi: เฮ้พวก!! คุณต้องการเชื่อมต่อโมดูล GPS กับ Raspberry Pi หรือไม่? แต่ต้องเผชิญกับความยากลำบากในการทำหรือไม่? “ไม่ต้องเป็นห่วง ฉันมาช่วยเธอแล้ว! คุณสามารถเริ่มต้นด้วยการใช้ส่วนต่อไปนี้:
วิธีเชื่อมต่อ Raspberry Pi กับ Cloud โดยใช้ Node.js: 7 ขั้นตอน
วิธีเชื่อมต่อ Raspberry Pi กับคลาวด์โดยใช้ Node.js: บทช่วยสอนนี้มีประโยชน์สำหรับทุกคนที่ต้องการเชื่อมต่อ Raspberry Pi กับคลาวด์ โดยเฉพาะกับแพลตฟอร์ม AskSensors IoT โดยใช้ Node.js ไม่มี Raspberry Pi ใช่ไหม หากคุณไม่มี Raspberry Pi อยู่แล้ว ฉันจะแนะนำให้คุณซื้อ Raspberry
ระดับความสูง ความดัน และอุณหภูมิโดยใช้ Raspberry Pi กับ MPL3115A2: 6 ขั้นตอน
ระดับความสูง ความดัน และอุณหภูมิโดยใช้ Raspberry Pi กับ MPL3115A2: ฟังดูน่าสนใจ เป็นไปได้ค่อนข้างมากในยุคนี้ที่เราทุกคนกำลังเข้าสู่ยุค IoT ในฐานะที่เป็นผู้คลั่งไคล้อุปกรณ์อิเล็กทรอนิกส์ เราได้เล่นกับ Raspberry Pi และตัดสินใจสร้างโปรเจ็กต์ที่น่าสนใจโดยใช้ความรู้นี้ ในโครงการนี้ เราจะ
สถานีตรวจอากาศส่วนบุคคลโดยใช้ Raspberry Pi กับ BME280 ใน Java: 6 ขั้นตอน
สถานีตรวจอากาศส่วนบุคคลที่ใช้ Raspberry Pi กับ BME280 ใน Java: สภาพอากาศเลวร้ายมักจะดูแย่เมื่อมองผ่านหน้าต่าง เราสนใจที่จะตรวจสอบสภาพอากาศในท้องถิ่นของเราและสิ่งที่เราเห็นนอกหน้าต่างมาโดยตลอด นอกจากนี้เรายังต้องการควบคุมระบบทำความร้อนและปรับอากาศของเราให้ดียิ่งขึ้นด้วย การสร้างสถานีตรวจอากาศส่วนบุคคลเป็นสิ่งที่ดี
ผู้สังเกตความชื้นและอุณหภูมิโดยใช้ Raspberry Pi กับ SHT25 ใน Python: 6 ขั้นตอน
เครื่องตรวจวัดความชื้นและอุณหภูมิโดยใช้ Raspberry Pi กับ SHT25 ใน Python: ในฐานะที่เป็นผู้ชื่นชอบ Raspberry Pi เราจึงคิดถึงการทดลองที่น่าตื่นเต้นกว่านี้ ในแคมเปญนี้ เราจะสร้างเครื่องมือวัดความชื้นและอุณหภูมิที่วัดความชื้นสัมพัทธ์และอุณหภูมิโดยใช้ราสเบอร์รี่ Pi และ SHT25, Humidi