สารบัญ:
- ขั้นตอนที่ 1: โปรเจ็กต์เว็บเซิร์ฟเวอร์ PowerHub และคำแนะนำในการตั้งค่า Outlet ที่เปิดใช้งานอินเทอร์เน็ต
- ขั้นตอนที่ 2: เปิดใช้งานตัวเลือกขั้นสูง RaspberriPi
- ขั้นตอนที่ 3: เริ่มการติดตั้งแพ็คเกจที่จำเป็น
- ขั้นตอนที่ 4: สร้างเว็บ API
- ขั้นตอนที่ 5: อุปกรณ์ที่จำเป็น
- ขั้นตอนที่ 6: การสร้าง Outlet
- ขั้นตอนที่ 7: ติดตั้งปุ่ม
- ขั้นตอนที่ 8: รีเลย์สายไฟ
- ขั้นตอนที่ 9: รูปภาพการเดินสายไฟและการประกอบเพิ่มเติม
- ขั้นตอนที่ 10: แผนภาพการเดินสายไฟ
- ขั้นตอนที่ 11: ทดสอบ Dry Run
- ขั้นตอนที่ 12: ตั้งค่าสคริปต์เริ่มต้น
วีดีโอ: เต้ารับไฟฟ้าที่เปิดใช้งานอินเทอร์เน็ต: 13 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:05
โครงการเว็บเซิร์ฟเวอร์ PowerHub & คำแนะนำในการตั้งค่า Outlet ที่เปิดใช้งานอินเทอร์เน็ต
ศูนย์กลางการคงอยู่ของข้อมูลส่วนกลางสำหรับไฟและเต้าเสียบที่เปิดใช้งานอินเทอร์เน็ตในบ้านของคุณ!
ขั้นตอนที่ 1: โปรเจ็กต์เว็บเซิร์ฟเวอร์ PowerHub และคำแนะนำในการตั้งค่า Outlet ที่เปิดใช้งานอินเทอร์เน็ต
ศูนย์กลางการคงอยู่ของข้อมูลส่วนกลางสำหรับไฟและเต้ารับที่เปิดใช้งานอินเทอร์เน็ตในบ้านของคุณ
แฟลช RaspberriPi Hard Disk / ติดตั้งซอฟต์แวร์ที่จำเป็น (โดยใช้ Ubuntu Linux) ดาวน์โหลด "RASPBIAN JESSIE LITE"
สร้างฮาร์ดดิสก์ใหม่ของคุณสำหรับ DashboardPI
ใส่ microSD เข้ากับคอมพิวเตอร์ของคุณผ่านอะแดปเตอร์ USB และสร้างภาพดิสก์โดยใช้คำสั่ง dd
ค้นหาการ์ด microSD ที่ใส่ของคุณโดยใช้คำสั่ง df -h ยกเลิกการต่อเชื่อมและสร้างภาพดิสก์ด้วยคำสั่งคัดลอกดิสก์ dd
$ df -h /dev/sdb1 7.4G 32K 7.4G 1% /สื่อ/XXX/1234-5678
$ umount /dev/sdb1
ข้อควรระวัง: ตรวจสอบให้แน่ใจว่าคำสั่งนั้นถูกต้องอย่างสมบูรณ์ คุณสามารถทำให้ดิสก์อื่นเสียหายได้ด้วยคำสั่งนี้
if=ตำแหน่งของไฟล์รูปภาพ RASPBIAN JESSIE LITE ของ=ตำแหน่งของการ์ด microSD ของคุณ
$ sudo dd bs=4M if=/path/to/raspbian-jessie-lite.img of=/dev/sdb (หมายเหตุ: ในกรณีนี้ คือ /dev/sdb, /dev/sdb1 เป็นพาร์ติชั่นโรงงานที่มีอยู่บน ไมโครเอสดี)
การตั้งค่า RaspberriPi. ของคุณ
ใส่การ์ด microSD ใหม่ของคุณเข้ากับ raspberrypi และเปิดเครื่องด้วยจอภาพที่เชื่อมต่อกับพอร์ต HDMI
เข้าสู่ระบบ
ผู้ใช้: pi pass: raspberry
เปลี่ยนรหัสผ่านบัญชีของคุณเพื่อความปลอดภัย
sudo passwd pi
ขั้นตอนที่ 2: เปิดใช้งานตัวเลือกขั้นสูง RaspberriPi
sudo raspi-config
เลือก: 1 ขยายระบบไฟล์
9 ตัวเลือกขั้นสูง
A2 Hostname เปลี่ยนเป็น "WIFI-OUTLET"
A4 SSH เปิดใช้งานเซิร์ฟเวอร์ SSH
A7 I2C เปิดใช้งานอินเทอร์เฟซ i2c
เปิดใช้งานแป้นพิมพ์ภาษาอังกฤษ/สหรัฐอเมริกา
sudo nano /etc/default/keyboard
เปลี่ยนบรรทัดต่อไปนี้: XKBLAYOUT="us"
รีบูต PI สำหรับการเปลี่ยนแปลงรูปแบบแป้นพิมพ์ / การปรับขนาดระบบไฟล์เพื่อให้มีผล
$ sudo shutdown -r ตอนนี้
เชื่อมต่ออัตโนมัติกับ WiFi ของคุณ
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
เพิ่มบรรทัดต่อไปนี้เพื่อให้ raspberrypi ของคุณเชื่อมต่อกับ WiFi ที่บ้านของคุณโดยอัตโนมัติ (หากเครือข่ายไร้สายของคุณชื่อ "linksys" ในตัวอย่างต่อไปนี้)
network={ ssid="linksys" psk="WIRELESS PASSWORD HERE" } รีบูต PI เพื่อเชื่อมต่อกับเครือข่าย WiFi
$ sudo shutdown -r ตอนนี้
ตอนนี้ PI ของคุณอยู่ในเครือข่ายท้องถิ่นแล้ว คุณสามารถเข้าสู่ระบบจากระยะไกลผ่าน SSH ได้ แต่ก่อนอื่นคุณต้องได้รับที่อยู่ IP ที่มีอยู่ในปัจจุบัน
$ ifconfig ค้นหา "inet addr: 192.168. XXX. XXX" ในผลลัพธ์ของคำสั่งต่อไปนี้สำหรับที่อยู่ IP ของ PI ของคุณ
ไปที่เครื่องอื่นและลงชื่อเข้าใช้ raspberrypi ของคุณผ่าน ssh
$ ssh [email protected]. XXX. XXX
ขั้นตอนที่ 3: เริ่มการติดตั้งแพ็คเกจที่จำเป็น
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install vim git python-requests python-gpiozero python-smbus i2c-tools python-imaging python-smbus build-essential python-dev rpi.gpio python3 python3-pip python-smbus-dev spi.py
อัปเดตการตั้งค่าเขตเวลาท้องถิ่น
$ sudo dpkg-reconfigure tzdata
เลือกเขตเวลาของคุณโดยใช้อินเทอร์เฟซ
ตั้งค่าคำสั่ง l ไดเร็กทอรีอย่างง่าย [ตัวเลือก]
vi ~/.bashrc
เพิ่มบรรทัดต่อไปนี้:
นามแฝง l='ls -lh'
ที่มา ~/.bashrc
แก้ไขการเน้นไวยากรณ์เริ่มต้นของ VIM [ตัวเลือก]
sudo vi /etc/vim/vimrc
uncomment บรรทัดต่อไปนี้:
ไวยากรณ์บน
ติดตั้งไดรเวอร์ i2c Python
ขั้นตอนที่ 4: สร้างเว็บ API
คำแนะนำต่อไปนี้จะช่วยให้คุณสร้างฮับกลางที่อธิบายเกี่ยวกับเต้ารับที่เปิดใช้งาน wifi และสวิตช์ผนังต่างๆ ที่คุณอาจสร้างขึ้น ซึ่งอุปกรณ์จะเปิดและปิด นี่เป็นสคริปต์ PHP ขนาดเล็กสำหรับวางบนโฮสต์เว็บที่คุณเลือก มี API ต่อไปนี้เพื่อรับและตั้งค่าข้อมูล หมายเหตุ: อย่าลืมรวมไฟล์.htaccess เพื่อให้มีการกำหนดเส้นทาง URL ที่เหมาะสม
ติดตั้งโฟลเดอร์ "index.php", "values/" และ settings.php (กำหนดค่าของคุณเอง) ลงในเว็บเซิร์ฟเวอร์ที่เปิดใช้งาน PHP ที่คุณเลือก ค่าคีย์ลับในไฟล์ "settings.php" ต้องตรงกับค่าคีย์ลับที่คุณจะตั้งค่าในไฟล์ "settings.py" การดำเนินการนี้ในระดับพื้นฐานจะป้องกันทราฟฟิกเว็บอื่น ๆ จากการตั้งค่า/เขียนค่า เมื่อเปิดอุปกรณ์ของคุณ ตอนนี้คุณต้องใช้คีย์ API ที่แฮชนี้ในส่วนหัวคำขอ HTTP เพื่อดำเนินการดังกล่าว
API รองรับคุณสมบัติต่อไปนี้ สำหรับโครงการนี้ เราจะใช้เฉพาะค่า "แฟล็ก" ซึ่งเป็นค่าบูลีนที่บอกให้สวิตช์เปิดและปิด บางทีถ้าคุณต้องการใช้ประโยชน์จากค่า "การอ่าน" คุณอาจมีได้ ดังนั้นหากอุณหภูมิห้องร้อนเกินไปโดยการบันทึกอุณหภูมิที่นั่น พัดลมอาจเปิดพัดลม ฯลฯ
รับรหัส
โคลนโปรเจ็กต์ต่อไปนี้จาก GitHub เพื่อรับรหัสเพื่อเรียกใช้เว็บเซิร์ฟเวอร์และ RaspberryPI
github.com/khinds10/PowerHub
API Endpoints เมื่อทำงานบนเว็บเซิร์ฟเวอร์
myhost/message (รับชุดข้อความปัจจุบัน)
myhost/message/set (HTTP POST ค่าสตริงดิบไปยัง URL นี้เพื่อตั้งค่าข้อความใหม่)
myhost/flag/{id} (รับสถานะบูลีนปัจจุบันของแฟล็กเป็นจำนวนเต็ม: {id})
myhost/flag/all (รับสถานะบูลีนปัจจุบันทั้งหมดของแฟล็กทั้งหมดเป็นอาร์เรย์)
myhost/flag/{id}/set (ตั้งค่าสถานะบูลีนปัจจุบันเป็น 'จริง' สำหรับแฟล็กตามจำนวนเต็ม: {id})
myhost/flag/{id}/unset (ตั้งค่าสถานะบูลีนปัจจุบันเป็น 'เท็จ' สำหรับแฟล็กตามจำนวนเต็ม: {id})
myhost/reading/{id} (รับค่าเฉลี่ยปัจจุบันสำหรับการอ่านเป็นจำนวนเต็ม: {id})
myhost/reading/all (รับค่าเฉลี่ยปัจจุบันสำหรับการอ่านทั้งหมดเป็นอาร์เรย์)
myhost/reading/{id}/set (HTTP POST ค่าตัวเลขดิบไปยัง URL นี้เพื่อเพิ่มค่าใหม่ให้กับค่าเฉลี่ยที่คำนวณในปัจจุบัน) -- ดูด้านล่างสำหรับจำนวนค่าทั้งหมดที่รวบรวมเป็นค่าเฉลี่ย การกำหนดค่า ค่า 'การอ่าน' จะคำนวณเป็นค่าเฉลี่ยของค่าตัวเลขการอ่านล่าสุดที่คงอยู่จำนวนหนึ่ง ตั้งค่าคงที่ต่อไปนี้เป็นจำนวนการอ่านล่าสุดที่ควรรวมเพื่อสร้างค่าเฉลี่ย
$readingsAverageLimit = 5;
Datastore Server จะคงค่าไว้กับไฟล์อย่างง่ายที่อยู่โดยการตั้งชื่อแบบแผนการด้านล่าง หมายเหตุ: {id} จะถูกแทนที่ด้วยจำนวนเต็มจริงที่แสดงโดย URL ของคำขอที่เข้ามา
$valueFileFolder = 'values' (ชื่อโฟลเดอร์ที่มีไฟล์การวัด) $messageFileName = 'message.msg' (ชื่อไฟล์ข้อความ) $readingsFilesNames = 'reading{id}.avg' (ชื่อของ CSV โดยเฉลี่ย ไฟล์การอ่าน) $flagFilesNames = 'flag{id}.flg' (ชื่อของไฟล์แฟล็กค่าแฟล็กบูลีน)
ตรวจสอบให้แน่ใจว่าไฟล์ค่าทั้งหมดสามารถเขียนได้โดย systemchmod 777 ค่า/*
ขั้นตอนที่ 5: อุปกรณ์ที่จำเป็น
ใบเลื่อยวงเดือน 1 นิ้ว (สำหรับสว่าน)
โมดูลรีเลย์ 5V 2 ช่อง
แผ่นผนังรองรับดูเพล็กซ์
เต้ารับดูเพล็กซ์
Pi Zero W
Surface Mount Backbox Dual Gang
ปุ่มกดเรืองแสงสีขาว
ขั้นตอนที่ 6: การสร้าง Outlet
แบ่ง Outlet Tabs
ทุบแถบด้านข้างของเต้ารับเพื่อให้แต่ละเต้ารับเปิด/ปิดแยกกัน
ขั้นตอนที่ 7: ติดตั้งปุ่ม
บนแผ่นปิดหน้าเต้ารับโดยใช้รูเลื่อย 1 ตัด 2 รูสำหรับปุ่มที่จะวางไว้ถัดจากเต้ารับ
ทดสอบขนาดของส่วนประกอบ
ตรวจสอบให้แน่ใจว่าส่วนประกอบทั้งหมดจะพอดีกับกล่องยึดพื้นผิวของเต้าเสียบ
ขั้นตอนที่ 8: รีเลย์สายไฟ
ต่อรีเลย์เข้ากับเต้ารับ จากสายต่อไปที่ผนัง ต่อกราวด์ (สีเขียว) และเป็นกลาง (สีขาว) เข้ากับเต้ารับโดยตรง สำหรับส่วนที่ร้อน (สีดำ) ให้เชื่อมต่อเข้ากับรีเลย์ จากนั้นต่อจากรีเลย์ไปยังคอนเน็กเตอร์ที่ร้อนของเต้ารับแต่ละอัน เป็นรายบุคคล
ขั้นตอนที่ 9: รูปภาพการเดินสายไฟและการประกอบเพิ่มเติม
ขั้นตอนที่ 10: แผนภาพการเดินสายไฟ
ใช้ไดอะแกรมเพื่อต่อสายส่วนประกอบให้ทำงานกับโค้ด RaspberryPI Python ได้อย่างถูกต้อง
ขั้นตอนที่ 11: ทดสอบ Dry Run
หลังจากประกอบขั้นสุดท้ายก่อนที่จะขันสกรูยูนิตรูเข้าด้วยกัน ให้รันอุปกรณ์แบบแห้งเพื่อให้แน่ใจว่าไม่มีขาสั้น การเดินสายไฟไม่ดี
ขั้นตอนที่ 12: ตั้งค่าสคริปต์เริ่มต้น
crontab -e
เพิ่มบรรทัดต่อไปนี้
@reboot python /home/pi/PowerHub/device/outlet/buttons.py @reboot python /home/pi/PowerHub/device/outlet/relay.py
แนะนำ:
การออกแบบเกมในการสะบัดใน 5 ขั้นตอน: 5 ขั้นตอน
การออกแบบเกมในการสะบัดใน 5 ขั้นตอน: การตวัดเป็นวิธีง่ายๆ ในการสร้างเกม โดยเฉพาะอย่างยิ่งเกมปริศนา นิยายภาพ หรือเกมผจญภัย
การตรวจจับใบหน้าบน Raspberry Pi 4B ใน 3 ขั้นตอน: 3 ขั้นตอน
การตรวจจับใบหน้าบน Raspberry Pi 4B ใน 3 ขั้นตอน: ในคำแนะนำนี้ เราจะทำการตรวจจับใบหน้าบน Raspberry Pi 4 ด้วย Shunya O/S โดยใช้ Shunyaface Library Shunyaface เป็นห้องสมุดจดจำใบหน้า/ตรวจจับใบหน้า โปรเจ็กต์นี้มีจุดมุ่งหมายเพื่อให้เกิดความเร็วในการตรวจจับและจดจำได้เร็วที่สุดด้วย
วิธีการติดตั้งปลั๊กอินใน WordPress ใน 3 ขั้นตอน: 3 ขั้นตอน
วิธีการติดตั้งปลั๊กอินใน WordPress ใน 3 ขั้นตอน: ในบทช่วยสอนนี้ ฉันจะแสดงขั้นตอนสำคัญในการติดตั้งปลั๊กอิน WordPress ให้กับเว็บไซต์ของคุณ โดยทั่วไป คุณสามารถติดตั้งปลั๊กอินได้สองวิธี วิธีแรกคือผ่าน ftp หรือผ่าน cpanel แต่ฉันจะไม่แสดงมันเพราะมันสอดคล้องกับ
การลอยแบบอะคูสติกด้วย Arduino Uno ทีละขั้นตอน (8 ขั้นตอน): 8 ขั้นตอน
การลอยแบบอะคูสติกด้วย Arduino Uno ทีละขั้นตอน (8 ขั้นตอน): ตัวแปลงสัญญาณเสียงล้ำเสียง L298N Dc ตัวเมียอะแดปเตอร์จ่ายไฟพร้อมขา DC ตัวผู้ Arduino UNOBreadboardวิธีการทำงาน: ก่อนอื่น คุณอัปโหลดรหัสไปยัง Arduino Uno (เป็นไมโครคอนโทรลเลอร์ที่ติดตั้งดิจิตอล และพอร์ตแอนะล็อกเพื่อแปลงรหัส (C++)
เครื่อง Rube Goldberg 11 ขั้นตอน: 8 ขั้นตอน
เครื่อง 11 Step Rube Goldberg: โครงการนี้เป็นเครื่อง 11 Step Rube Goldberg ซึ่งออกแบบมาเพื่อสร้างงานง่ายๆ ในรูปแบบที่ซับซ้อน งานของโครงการนี้คือการจับสบู่ก้อนหนึ่ง