สารบัญ:
- เสบียง
- ขั้นตอนที่ 1: ตั้งค่า Rasbian
- ขั้นตอนที่ 2: คว้ารหัสและตั้งค่า
- ขั้นตอนที่ 3: การสื่อสาร Arduino
- ขั้นตอนที่ 4: การเดินสายไฟ Switch-it
- ขั้นตอนที่ 5: เรียกใช้โค้ด
- ขั้นตอนที่ 6: (ไม่บังคับ) ที่อยู่อาศัย
วีดีโอ: Switch-it, เต้ารับอัตโนมัติพร้อมการวัดกระแสแบบเรียลไทม์: 6 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:03
ฉันชอบระบบอัตโนมัติมาก ความสามารถในการควบคุมเมื่อบางสิ่งต้องเกิดขึ้น นี่คือสิ่งที่ทำให้ฉันมีความคิดนี้: เต้าเสียบอัตโนมัติที่สร้างขึ้นเอง สามารถใช้ในการวางแผนเมื่อจำเป็นต้องเปิดไฟ เมื่อต้องชาร์จโทรศัพท์ หรือเมื่อต้องเปิดเครื่องหน้าจอ นอกจากนี้ คุณยังดูได้ว่ากระแสไฟไหลผ่านเต้าเสียบมากน้อยเพียงใด
องค์ประกอบที่จำเป็นสำหรับโครงการนี้คือ:
เสบียง
ก่อนที่เราจะเริ่มต้นสิ่งเหล่านี้คือสิ่งที่คุณจะต้องสร้างกล่อง Switch-IT อย่างของฉัน อุปกรณ์เหล่านี้จะมีราคาประมาณ 50 ถึง 100 ยูโร ขึ้นอยู่กับภูมิภาคและราคาปัจจุบันของคุณ
ฮาร์ดแวร์
อิเล็กทรอนิกส์
- ราสเบอร์รี่ pi 4
- 16gb (หรือมากกว่า) Micro SD-Card
- Arduino Uno
- ตัวเปลี่ยนระดับ 5V-3.3V
- โมดูลรีเลย์ 5V
- ACS712 20A - โมดูลปัจจุบัน
- 1838 IR-Receiver 37.9 kHz โมดูล
- รีโมท IR (ฉันใช้ Elegoo)
- แคโทดทั่วไป RGB
- ตัวต้านทาน 3 * 330Ω
- ปุ่มกด
- RFID-RC522
- จอแอลซีดี 1602A-1
- เต้ารับติดผนัง Niko
- 10K Ω พอตมิเตอร์
- 230 ถึง 5V - แหล่งจ่ายไฟ 7A
สายเคเบิล
- สาย USB-B เป็น USB-A
- สายไฟ USB-C
- สายอีเธอร์เน็ต
หลากหลาย
- Jumperwires ชาย-หญิง
- Jumperwires ชาย-ชาย
- บัดกรีดีบุก
- ท่อหด
ชิ้นส่วนเฉพาะของเคส (อุปกรณ์เสริม)
- 50 * ถั่วและตัวหนา
- ตัวเรือนโลหะ 40x40x5 ซม. พร้อมฝาปิด
- เทปสองหน้า
- สเปเซอร์สูง 6*1 ซม.
- ผู้ถือนำ
- เทปเวลโคร
- คู่มือสายเคเบิล
ซอฟต์แวร์
- balenaEtcher:
- PuTty
- แรสเบียน
- รหัส Visual Studio
- Arduino IDE
ขั้นตอนที่ 1: ตั้งค่า Rasbian
ก่อนอื่นเราจะแฟลช Rasbian ลงใน SD-Card เราจะทำอย่างนั้นโดยใช้ balenaEtcher
- เปิด balenaEtcher
- เลือกภาพ Rasbian
- เลือก SD-Card ของคุณ
- กด Flash รอสักครู่จนกว่าจะกะพริบ
การเพิ่ม APIPA ในไดเร็กทอรีบูต: เราจะใช้ที่อยู่ APIPA เพื่อตั้งโปรแกรมและกำหนดการตั้งค่าบน RPI เพื่อทำสิ่งนี้:
- เข้าถึงไดเร็กทอรีสำหรับบูตใน SD-Card
- เปิด "cmdline.txt"
- เพิ่ม "169.254.10.1" ที่ท้ายเอกสารแล้วบันทึก
- เพิ่มไฟล์ชื่อ "ssh" ลงในไดเร็กทอรีบูต (อย่าให้ไฟล์นี้ขยาย)
- หลังจากที่คุณทำเสร็จแล้ว คุณสามารถนำการ์ด SD ออกจากพีซีของคุณได้
เข้าถึง RPI โดยใช้ PuTTy
ตอนนี้ เราสามารถเสียบการ์ด SD เข้ากับ RPI ของเรา แล้วเชื่อมต่อ RPI กับพีซีของคุณโดยใช้สายอีเทอร์เน็ต
ในการเชื่อมต่อกับ RPI เราจะใช้ PuTTy กับที่อยู่ APIPA ของเรา
- เปิด PuTTy
- กรอกที่อยู่ APIPA ของเราเป็นชื่อโฮสต์ (169.254.10.1)
- ตรวจสอบให้แน่ใจว่าพอร์ตเป็น 22 และเลือก SSH ไว้
- ตอนนี้คุณสามารถเปิดการเชื่อมต่อ
- ชื่อผู้ใช้เริ่มต้นคือ: pi
- ด้วยรหัสผ่านเริ่มต้น: raspberry
การตั้งค่า raspi-config
เปิด raspi-config โดยใช้:
sudo raspi-config
- เปลี่ยนรหัสผ่านผู้ใช้
- ในตัวเลือกการแปล เลือกเขตเวลาของคุณ
- ตั้งค่า WiFi โดยใช้ตัวเลือกเครือข่าย จากนั้นเลือกตัวเลือก Wi-Fi ที่คุณต้องกรอก SSID และรหัสผ่าน
ติดตั้ง Python 3
ในโครงการนี้ เราใช้ Python ดังนั้นเราจะตั้งค่าเริ่มต้นเป็น Python3 แทน Python2 โดยใช้คำสั่งต่อไปนี้
อัพเดตทางเลือก -- ติดตั้ง /usr/bin/python python /usr/bin/python2.7 1
อัพเดตทางเลือก -- ติดตั้ง /usr/bin/python python /usr/bin/python3 2
แพ็คเกจ Python
เราจำเป็นต้องมีแพ็คเกจสองสามตัวเพื่อให้ทุกอย่างทำงานได้อย่างถูกต้อง ส่วนใหญ่เป็นแพ็คเกจ Flask และอีกแพ็คเกจหนึ่งเพื่อเชื่อมต่อกับ DataBase ของเรา เราสามารถติดตั้งแพ็คเกจเหล่านั้นได้โดยใช้คำสั่งต่อไปนี้:
pip ติดตั้ง Flask
pip ติดตั้ง Flask_cors pip ติดตั้ง Flask_socketio pip ติดตั้ง Python-mysql-connecton
ฐานข้อมูล
ต่อไปเราจะติดตั้งระบบจัดการฐานข้อมูล (MariaDB) ของเราโดยใช้:
sudo apt ติดตั้ง mariadb-server
พิมพ์ "Y" และ Enter เพื่อดำเนินการต่อ หลังจากนั้นไม่กี่วินาที กระบวนการติดตั้งจะเสร็จสมบูรณ์ และ MariaDB ก็เกือบจะพร้อมใช้งานแล้ว
ในการตั้งรหัสผ่านให้ฐานข้อมูลใช้คำสั่ง:
sudo mysql_secure_installation
จากนั้นกด Enter เนื่องจากรหัสผ่านปัจจุบันว่างเปล่า จากนั้นกด "Y" เพื่อตั้งรหัสผ่าน ขณะนี้คุณสามารถกรอกรหัสผ่านที่ต้องการได้ อย่าลืมจำไว้เพราะเราต้องการให้รหัสผ่านเชื่อมต่อระหว่างส่วนหลังและส่วนหน้าได้อย่างถูกต้อง
ตอนนี้ กด "Y" 3 ครั้งเพื่อ: ลบผู้ใช้ที่ไม่ระบุชื่อ ไม่อนุญาตให้รูทล็อกอินจากระยะไกล และลบฐานข้อมูลทดสอบ สุดท้ายกด “Y” อีกครั้งเพื่อโหลดสิทธิ์ใหม่
ตอนนี้ MariaDB และแพ็คเกจที่จำเป็นทั้งหมดได้รับการติดตั้งสำเร็จแล้ว
ขั้นตอนที่ 2: คว้ารหัสและตั้งค่า
ตอนนี้เราได้ติดตั้งแพ็คเกจทั้งหมดแล้ว เราสามารถคว้ารหัสได้
รหัสมีอยู่ใน Github เพื่อให้คุณสามารถโคลนได้โดยใช้:
โคลน git
นี่คือส่วนหน้า
โคลน git
นี่คือแบ็กเอนด์
การติดตั้งฐานข้อมูลเอง
ในการติดตั้งฐานข้อมูล ให้ไปที่ไฟล์.sql ซึ่งอยู่ในโฟลเดอร์แบ็กเอนด์โดยใช้คำสั่งต่อไปนี้ (ตรวจสอบให้แน่ใจว่าได้ตั้งค่าเป็นพาธของคุณเอง
mysql
สร้างฐานข้อมูล switchit ออกจาก mysql -u root -p switchit < Your_Path_to_Backend_Repo/switchit.sql
การติดตั้ง Apache
ตอนนี้ เรามีโค้ดและการตั้งค่าฐานข้อมูลทั้งหมดแล้ว เราสามารถติดตั้ง Apache และเรียกใช้แบ็กเอนด์ของเราได้ เราจะทำโดยใช้:
apt-get ติดตั้ง apache2 -y
จากนั้นแทนที่ไฟล์ใน /var/ww/html ด้วยไฟล์ในโฟลเดอร์จากโฟลเดอร์ส่วนหน้า
หากทุกอย่างเป็นไปด้วยดี คุณควรจะสามารถเชื่อมต่อกับเว็บไซต์ของคุณโดยใช้ที่อยู่ APIPA: 169.254.10.1 ในเบราว์เซอร์ของคุณ
ขั้นตอนที่ 3: การสื่อสาร Arduino
ในการอ่านเซ็นเซอร์ปัจจุบันและเซ็นเซอร์ RFID ของเราเราใช้ Arduino ให้ใช้รหัส Arduino ที่ระบุด้านล่าง อัปโหลดโดยใช้สาย USB-A เป็น USB-B และซอฟต์แวร์ arduino IDE เมื่ออัพโหลดแล้ว ส่วนของ Arduino ก็เสร็จเรียบร้อย
ตอนนี้เราต้องค้นหาชื่ออุปกรณ์ซีเรียลบน PI โดยต้องแน่ใจว่าใน /boot/config.txt "enable_uart=1" ถูกตั้งค่าไว้ถูกต้อง ตรวจสอบให้แน่ใจด้วยว่า "console=serial0, 115200" ถูกลบออกจาก cmdline.txt
จากนั้นตรวจสอบพอร์ตโดยใช้
ls -l /dev
หนึ่งในชื่ออนุกรมควรเป็น Arduino กรอกชื่อนี้ที่ฟังก์ชัน arduinocom ใน app.py
ser = serial. Serial('/dev/ttyS0', 9600)
ทำอย่างนั้นก็ต่อเมื่อการสื่อสารแบบอนุกรมไม่ทำงาน
ขั้นตอนที่ 4: การเดินสายไฟ Switch-it
การเดินสายไฟทุกอย่างค่อนข้างตรงไปตรงมา แม้ว่าคุณควรคำนึงถึงสิ่งต่อไปนี้:
- ระวังด้วยเต้ารับที่ผนัง 230 โวลต์อาจถึงตายได้
- ตรวจสอบให้แน่ใจว่าใช้ตัวแปลงระดับสำหรับการสื่อสารระหว่าง RPI และ Arduino
- ก่อนบัดกรี RGB ตรวจสอบให้แน่ใจว่าคุณใช้พินสีแดงและสีเขียว ทดสอบก่อน!
- ทดสอบว่าไม่มีสิ่งใดลัดวงจรก่อนเปิดเครื่อง
ขั้นตอนที่ 5: เรียกใช้โค้ด
ตอนนี้ทุกอย่างเชื่อมต่ออย่างถูกต้องแล้ว เราสามารถเรียกใช้โปรแกรมของเราได้
เพื่อให้ทำงานโดยอัตโนมัติเมื่อเริ่มต้นสร้างไฟล์โดยใช้:
sudo nano myscript.service
จากนั้นวาง (ตรวจสอบให้แน่ใจว่าใช้ไดเรกทอรี app.py ของคุณเอง:
[หน่วย]Description=Switchit After=network.target [Service] ExecStart=/usr/bin/python3 -u app.py WorkingDirectory=//change to app.py directory// StandardOutput=inherit StandardError=inherit Restart=always User= pi [ติดตั้ง] WantedBy=multi-user.target
จากนั้นกด "ctrl + X" แล้วคัดลอกไปที่ /etc/systemd/system.
จากนั้นคำสั่ง follwing เพื่อให้ทำงานโดยอัตโนมัติ:
sudo systemctl เปิดใช้งาน myscript.service
คุณสามารถหาข้อมูลเพิ่มเติมเกี่ยวกับเรื่องนี้ได้จากเว็บไซต์ RaspBerry Pi
รีบูตและทำ
ตอนนี้รีบูต PI ของคุณโดยใช้:
sudo รีบูต -h ตอนนี้
นี่คือวิธีที่คุณทำ Switch-it!
ขอบคุณที่ติดตาม หวังว่าคงเป็นประโยชน์ หากคุณมีคำแนะนำหรือข้อเสนอแนะ อย่าลังเลที่จะแสดงความคิดเห็น
ขั้นตอนที่ 6: (ไม่บังคับ) ที่อยู่อาศัย
คุณสามารถสร้างที่อยู่อาศัยได้ทั้งหมดตามความชอบของคุณเอง ฉันใช้กล่องโลหะขนาด 40x40x5 ซม. พร้อมฝาปิด เนื่องจากฉันใช้อันที่เป็นโลหะ ฉันจึงต้องเจาะรูและใช้สเปเซอร์เพื่อเอาทุกอย่างออกจากเพลตพื้น ฉันเลือกใช้จุดศูนย์กลางที่มี 5V, 3.3V และ gnd ทุกการเชื่อมต่อทางไฟฟ้าถูกบัดกรีด้วยชิ้นส่วนของ Shrinking Tube ที่ด้านบน ในการจัดการสายเคเบิล ฉันใช้แผ่นรองที่มีสายรัด
แนะนำ:
ของเล่น Switch-Adapt: ของเล่นรถไฟไอน้ำที่เข้าถึงได้!: 7 ขั้นตอน (พร้อมรูปภาพ)
ของเล่นที่ปรับเปลี่ยนได้: ของเล่นรถไฟไอน้ำที่เข้าถึงได้!: การปรับตัวของเล่นเปิดช่องทางใหม่และโซลูชันที่ปรับแต่งได้เอง เพื่อให้เด็กที่มีความสามารถในการเคลื่อนไหวจำกัดหรือมีความบกพร่องในการพัฒนาสามารถโต้ตอบกับของเล่นได้อย่างอิสระ ในหลายกรณี เด็กๆ ที่ต้องการของเล่นที่ดัดแปลงไม่สามารถ
ของเล่น Switch-Adapt: Water-Breathing Walking Dragon เข้าถึงได้!: 7 ขั้นตอน (พร้อมรูปภาพ)
ของเล่นที่ปรับเปลี่ยนได้: มังกรเดินที่หายใจทางน้ำที่เข้าถึงได้!: การปรับตัวของเล่นเปิดช่องทางใหม่และโซลูชันที่ปรับแต่งได้เอง เพื่อให้เด็กที่มีความสามารถในการเคลื่อนไหวจำกัดหรือมีความบกพร่องทางพัฒนาการสามารถโต้ตอบกับของเล่นได้อย่างอิสระ ในหลายกรณี เด็กๆ ที่ต้องการของเล่นที่ดัดแปลงไม่สามารถ
DIY Flight Sim Switch Panel: 7 ขั้นตอน (พร้อมรูปภาพ)
แผงสวิตช์ซิมเครื่องบิน DIY: หลังจากใช้เวลาหลายปีในชุมชนซิมบินและมีส่วนร่วมในเครื่องบินที่ซับซ้อนมากขึ้นเรื่อย ๆ ฉันพบว่าตัวเองโหยหาความสามารถในการจับสวิตช์ทางกายภาพแทนที่จะพยายามบินด้วยมือขวาในขณะที่ใช้ NS
Switch Adapt a Toy: รถไฟ WolVol ทำให้สวิตช์เข้าถึงได้!: 7 ขั้นตอน
Switch Adapt a Toy: WolVol Train ทำให้สวิตช์เข้าถึงได้!: การปรับตัวของเล่นเปิดช่องทางใหม่และโซลูชันที่ปรับแต่งได้เอง เพื่อให้เด็กที่มีความสามารถในการเคลื่อนไหวจำกัดหรือมีความบกพร่องทางพัฒนาการสามารถโต้ตอบกับของเล่นได้อย่างอิสระ ในหลายกรณี เด็กๆ ที่ต้องการของเล่นที่ดัดแปลงไม่สามารถ
ทำ DIY Sonoff Smart Switch ใช้แอพ Android: 11 ขั้นตอน
สร้าง DIY Sonoff Smart Switch ใช้แอพ Android: Sonoff คืออะไร Sonoff เป็นอุปกรณ์สวิตช์อัจฉริยะสำหรับ Smart Home ที่พัฒนาโดย ITEAD หนึ่งในอุปกรณ์ที่ยืดหยุ่นและราคาไม่แพงที่สุดจากกลุ่มผลิตภัณฑ์ดังกล่าว ได้แก่ Sonoff Basic และ Sonoff mini เหล่านี้เป็นสวิตช์ที่เปิดใช้งาน Wi-Fi ซึ่งใช้ชิปที่ยอดเยี่ยม ESP8266/E