สารบัญ:

Home_X: 5 ขั้นตอน
Home_X: 5 ขั้นตอน

วีดีโอ: Home_X: 5 ขั้นตอน

วีดีโอ: Home_X: 5 ขั้นตอน
วีดีโอ: หนังสือเสียง 5 ขั้นตอนทำให้คุณใช้เวลาอย่างมีมูลค่ามากขึ้น | บริหารจัดการเวลา| พัฒนาตนเอง|ความสำเร็จ 2024, กรกฎาคม
Anonim
Home_X
Home_X

ฉันเป็นนักเรียนที่ Howest Kortrijk ซึ่งศึกษาเทคโนโลยีสื่อและการสื่อสารใหม่ (NMCT)

เราทุกคนต้องสร้างโปรเจ็กต์ที่มีพื้นฐานมาจากราสเบอร์รี่และ/หรือ Arduino เราต้องใช้เซ็นเซอร์และฐานข้อมูลเพื่อแสดงข้อมูลในเว็บไซต์ และนั่นคือตอนที่ฉันเกิดแนวคิดในการสร้างบ้านอัจฉริยะขนาดเล็ก

ด้วยบ้านอัจฉริยะ คุณจะสามารถเห็นการอ่านเซ็นเซอร์ทั้งหมดบนเว็บไซต์

ในคำแนะนำนี้ฉันจะแนะนำคุณผ่านแต่ละขั้นตอนเพื่อให้คุณสามารถสร้างโครงการนี้ขึ้นมาใหม่ด้วยตัวคุณเอง

ขั้นตอนที่ 1: วัสดุ: คุณต้องการอะไร

  • ราสเบอร์รี่ปี่
  • DHT22
  • Grove - เซ็นเซอร์คุณภาพอากาศ
  • Grove - เซ็นเซอร์ก๊าซ (MQ2)
  • เขียงหั่นขนม
  • Raspberry Pi T Cobbler
  • สายจัมเปอร์ชาย/หญิง
  • ไฟ LED 5 มม.
  • ตัวต้านทาน
  • ไม้และเครื่องมือ
  • เซอร์โวมอเตอร์
  • GrovePi+

คุณสามารถซื้อสินค้าเหล่านี้ทางออนไลน์ (Ali express, amazon, kiwi electronics…) หรือที่ร้านค้าในพื้นที่ของคุณ

รายการชิ้นส่วนโดยละเอียดพร้อมลิงก์ไปยังร้านค้าต่างๆ ระบุไว้ด้านล่างใน BOM

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

การเดินสายไฟ
การเดินสายไฟ
การเดินสายไฟ
การเดินสายไฟ

ฉันใช้ Fritzing ในการเดินสายเพื่อให้เห็นภาพรวมที่ดีว่าควรเดินสายอย่างไร ตัวฉันเองใช้ GrovePi+ สำหรับเซ็นเซอร์ 2 ตัวของฉัน หากคุณวางแผนที่จะทำสิ่งนี้โดยไม่ใช้ GrovePi+ ให้ทำตามโครงการ Fritzing ฉันเซ็นเซอร์ไม่ทำงานสำหรับคุณ ลองใช้หมุดอื่น

คุณสามารถค้นหาไฟล์ Fritzing ด้านล่าง

ขั้นตอนที่ 3: ฐานข้อมูลโดยใช้ MySQL

ฐานข้อมูลโดยใช้ MySQL
ฐานข้อมูลโดยใช้ MySQL

งานที่สำคัญที่สุดอย่างหนึ่งที่เราต้องทำคือการเชื่อมต่อกับฐานข้อมูล MySQL

ทุกครั้งที่เซ็นเซอร์อ่านค่าหรือไฟติด คุณจะเห็นการเปลี่ยนแปลงเหล่านี้ในฐานข้อมูล

จากนั้นฐานข้อมูลจะส่งข้อมูลนี้ไปยังเว็บไซต์เพื่อให้ผู้ใช้สามารถดูข้อมูลเหล่านี้ได้เช่นกัน

ด้านล่างนี้ คุณจะพบไฟล์.xml ของฉัน ซึ่งคุณมีภาพรวมวิธีการทำงานของฐานข้อมูล

แต่ก่อนอื่นคุณต้องติดตั้ง MySQL และขวดบน Raspberry Pi

การเข้ารหัสของเซ็นเซอร์เกิดขึ้นผ่าน pycharm ดังนั้นตรวจสอบให้แน่ใจว่ามีการติดตั้งด้วย (บนคอมพิวเตอร์ของคุณ)

ก่อนอื่นคุณต้องตรวจสอบการอัปเดตและติดตั้งแพ็คเกจดังนี้:

sudo apt-get update && sudo apt-get upgrade

sudo apt ติดตั้ง -y python3-venv python3-pip python3-mysqldb mariadb-server uwsgi nginx uwsgi-plugin-python3

ตอนนี้เราจะใช้สภาพแวดล้อมเสมือน:

me@my-rpi:~ $ python3 -m pip install --upgrade pip setuptools wheel virtualenvme@my-rpi:~ $ mkdir project1 && cd project1 me@my-rpi:~/project1 $ python3 -m venv --system- แพ็คเกจไซต์ env me@my-rpi:~/project1 $ source env/bin/activate (env)me@my-rpi:~/project1 $ python -m pip ติดตั้ง mysql-connector-python argon2-cffi Flask Flask-HTTPAuth Flask-MySQL mysql-connector-python passlib

ควรบอกคุณว่า mariadb.service ทำงานอยู่

ตอนนี้ใน pycharm ไปที่ VCS > นำเข้าจากการควบคุมเวอร์ชัน > GitHub en clone

จากนั้นกำหนดค่าการกำหนดค่าการปรับใช้สำหรับไดเร็กทอรีที่คุณเพิ่งสร้าง เช่น /home/me/project1.

หลังจากเสร็จสิ้น ให้ไปที่การตั้งค่าล่ามและกำหนดค่าสภาพแวดล้อมเสมือนที่คุณเพิ่งสร้างขึ้น เช่น /home/me/project/env/bin/python. ต้องกรอกข้อมูลการแมปเส้นทางด้วย

หากคุณทำทั้งหมดนี้ ฐานข้อมูลควรจะทำงานอยู่แล้ว

sudo systemctl สถานะ mysql

ตอนนี้เราต้องสร้างผู้ใช้สำหรับฐานข้อมูลของเรา เช่น:

sudo mariadb

สร้างผู้ใช้ 'project-admin'@'localhost' ระบุโดย 'adminpassword'; สร้างผู้ใช้ 'project-web'@'localhost' ระบุโดย 'webpassword'; สร้างผู้ใช้ 'project-sensor'@'localhost' ระบุโดย 'sensorpassword'; สร้างโครงการฐานข้อมูล

ให้สิทธิ์ทั้งหมดในโครงการ* เป็น 'project-admin'@'localhost' ด้วยตัวเลือก GRANT;GRANT SELECT, INSERT, UPDATE, DELETE ON project.* เป็น 'project-web'@'localhost'; GRANT SELECT, INSERT, UPDATE, DELETE ON project.* เป็น 'project-sensor'@'localhost'; สิทธิพิเศษในการล้าง;

ตอนนี้เพื่อดูฐานข้อมูลของเราใน pycharm เราต้องทำการเชื่อมต่อ

เราสามารถทำได้โดยไปที่ View > Tool Windows > Database และคลิกปุ่ม "บวก" สีเขียว

แหล่งข้อมูล > MySQL แล้วคลิก (ถ้ามี) ที่ปุ่มดาวน์โหลดไดรเวอร์ที่ปรากฏขึ้น

จากนั้นไปที่ SSH/SSL แล้วตรวจสอบ SSH กรอกโฮสต์/ผู้ใช้/รหัสผ่านสำหรับ pi และใช้พอร์ต 22 หากยังไม่ได้กรอก

หากคุณต้องการให้ pycharm จำรหัสผ่านของคุณ ให้ทำเครื่องหมายที่ช่อง "จำรหัสผ่าน"

ในแท็บ "ทั่วไป" ให้กรอก localhost ในโฮสต์ โครงการในฐานข้อมูล และใช้ project-admin พร้อมรหัสผ่านเพื่อให้สามารถทดสอบการเชื่อมต่อได้

เพื่อให้ฐานข้อมูลใช้งานได้ คุณต้องเรียกใช้.sql ที่ฉันใส่ไว้ ลองใช้ตัวเลือกการนำเข้า หากคุณไม่สามารถนำเข้าไฟล์ดัมพ์ได้ คุณต้องเพิ่มตารางด้วยตนเอง

หลังจากนี้เสร็จแล้ว คุณต้องค้นหาไดเร็กทอรี conf ที่มีไฟล์.service สองไฟล์ ในนั้นเปลี่ยนทุก seb ที่คุณพบด้วยชื่อผู้ใช้ที่คุณใช้บน pi ของคุณ กลุ่มต้องเป็น www-data ด้วย

ขั้นตอนต่อไปคือการเริ่มบริการเหล่านี้บน pi ของคุณ เช่น:

sudo cp conf/project-*.service /etc/systemd/system/

sudo systemctl daemon-reload

sudo systemctl เริ่มโครงการ - *

โครงการสถานะ sudo systemctl-*

คุณควรเห็นบริการที่ใช้งานอยู่สองรายการเมื่อทุกอย่างเป็นไปตามแผน

ขั้นตอนสุดท้ายคือเปิดใช้งาน nginx

ก่อนอื่นให้ตรวจสอบ apache2 บน pi ของคุณ หากคุณติดตั้งสิ่งนี้ไว้ ให้ลบหรือปิดใช้งาน

ในไฟล์ nginx คุณต้องเปลี่ยน uwsgi_pass ก่อน จากนั้นรันคำสั่งเหล่านี้

sudo cp conf/nginx /etc/nginx/sites-available/project

sudo rm /etc/nginx/sites-enabled/default

sudo ln -s /etc/nginx/sites-available/project1/etc/nginx/sites-enabled/project

sudo systemctl รีสตาร์ท nginx.service

สถานะ sudo systemctl nginx.service

Nginx ควรเปิดใช้งานและทำงานอยู่ หากทุกอย่างถูกต้อง คุณสามารถท่องไปยัง pi ของคุณได้แล้ว คุณจะเห็น "สวัสดีชาวโลก" ในตอนแรก แต่คุณยังต้องเปลี่ยนเนื้อหาของไฟล์นั้นด้วยรหัสของฉันด้านล่าง

คุณสามารถเปิดใช้งานบริการเพื่อให้ทำงานโดยอัตโนมัติเมื่อ pi เริ่มทำงาน

เมื่อคุณทำสิ่งนี้ อย่าลืมใส่บ้านที่มีที่อยู่ในฐานข้อมูลอย่างน้อย 1 หลัง คุณสามารถทำสิ่งนี้ได้ด้วยการแทรกอย่างง่ายใน.

ขั้นตอนที่ 4: การเข้ารหัส

การเข้ารหัส
การเข้ารหัส
การเข้ารหัส
การเข้ารหัส

คุณสามารถดาวน์โหลดรหัสผ่าน Github:

github.com/NMCT-S2-Project-I/project-i-Tib…

รหัสสำหรับเซ็นเซอร์รวมอยู่ในไฟล์ sensor.py

อย่าลืมเปลี่ยนชื่อของฉันเป็นของคุณ (หรือผู้ใช้ที่มากกว่าที่คุณใช้กับ pi ของคุณ) ในไฟล์บริการเพื่อให้ทำงานได้อย่างถูกต้องและวางรหัสของฉันในไฟล์ที่มีอยู่แล้วใน Pycharm ของคุณ

ขั้นตอนที่ 5: ที่อยู่อาศัย

ที่อยู่อาศัย
ที่อยู่อาศัย
ที่อยู่อาศัย
ที่อยู่อาศัย
ที่อยู่อาศัย
ที่อยู่อาศัย
ที่อยู่อาศัย
ที่อยู่อาศัย

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

ส่วนใหญ่ฉันใช้สว่านขนาดเล็กและเลื่อยเพื่อตัดไม้ ฉันยังทำให้แน่ใจว่าผนังนั้นหนาพอที่จะวางเซอร์โวไว้ข้างในได้

เมื่อคุณออกแบบเสร็จแล้วและมีเซอร์โวอยู่ในตำแหน่ง คุณเพียงแค่เชื่อมต่อเซ็นเซอร์และวาง pi ไว้ในบ้าน และคุณพร้อมที่จะไป

ดังที่ได้กล่าวไว้ก่อนหน้านี้ว่าบ้านของคุณจะมีลักษณะเหมือนกับบ้านของฉันทุกประการ คุณเพียงแค่ต้องมีที่ว่างสำหรับเซอร์โวและหน้าต่างเท่านั้น

ในที่สุดคุณก็เสร็จสิ้นโครงการ ฉันหวังว่าคู่มือนี้จะชัดเจนเพียงพอที่คุณสามารถสร้างบ้านอัจฉริยะที่ยอดเยี่ยมได้เหมือนฉัน

ขอให้โชคดี

แนะนำ: