สารบัญ:
- เสบียง
- ขั้นตอนที่ 1: การตั้งค่า Raspberry Pi
- ขั้นตอนที่ 2: การสร้างวงจรอิเล็กทรอนิกส์
- ขั้นตอนที่ 3: Arduino + การเขียนโปรแกรม
- ขั้นตอนที่ 4: การทดสอบเซนเซอร์และแอคทูเอเตอร์บน Pi
- ขั้นตอนที่ 5: ฐานข้อมูล
- ขั้นตอนที่ 6: ส่วนหน้า
- ขั้นตอนที่ 7: แบ็กเอนด์
- ขั้นตอนที่ 8: รวบรวมสิ่งต่าง ๆ เข้าด้วยกัน
- ขั้นตอนที่ 9: การทดสอบ
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-13 06:58
ฉันสร้างสวนขวด/สวนขวดที่ "ฉลาด" เป็นโครงการของโรงเรียน
ElectroTerra ดำเนินการโดย Raspberry Pi ซึ่งโฮสต์เว็บไซต์และจัดเก็บข้อมูลที่รวบรวมจากเซ็นเซอร์ในฐานข้อมูล MariaDB
เว็บไซต์แสดงอุณหภูมิและความชื้นสัมพัทธ์จากเซ็นเซอร์ และช่วยให้สามารถควบคุมพัดลมและแถบ LED ได้ แถบนั้นยังสามารถทำงานโดยอัตโนมัติกับเซ็นเซอร์ LDR
ฉันถือว่ามีความรู้เชิงปฏิบัติเกี่ยวกับการใช้ Raspberry Pi, Arduino, MariaDB (Mysql) และการเดินสายเขียงหั่นขนม
เสบียง
ฉันจัดทำรายการวัสดุเพื่อให้คุณสามารถหาทุกอย่างที่จำเป็นสำหรับโครงการนี้
ขั้นตอนที่ 1: การตั้งค่า Raspberry Pi
ก่อนอื่นคุณต้องตั้งค่าพื้นฐานสำหรับ Raspberry Pi:
ฉันใช้การเชื่อมต่อ ssh เพื่อควบคุม Pi ด้วยแล็ปท็อป:
สำหรับการเข้ารหัสฉันใช้ Visual Studio Code พร้อมส่วนขยาย ssh:
เพื่อให้เว็บไซต์พร้อมใช้งานภายในเครือข่ายส่วนตัวของคุณ คุณสามารถตรวจสอบคำแนะนำนี้ได้ตั้งแต่ขั้นตอนที่ 1 - 3: https://www.instructables.com/id/Host-your-website-on-Raspberry-pi/ ไม่มีโครงสร้างความปลอดภัยเพิ่มเติม ในโครงการนี้ ดังนั้นจงระวังการเปิดเผยบนอินเทอร์เน็ต
ขั้นตอนที่ 2: การสร้างวงจรอิเล็กทรอนิกส์
ในรูปแบบ fritzing คุณสามารถดูทุกองค์ประกอบที่จำเป็นในโครงการนี้ เซ็นเซอร์อุณหภูมิแบบ 1 สายสามารถเปลี่ยนได้ด้วยเซ็นเซอร์อุณหภูมิในตัวของ DHT22
Arduino ใช้พลังงานจาก Pi ผ่านสาย USB
ขั้นตอนที่ 3: Arduino + การเขียนโปรแกรม
เนื่องจากฟังก์ชันในไลบรารี Arduino สำหรับ DHT22 และไดรเวอร์แถบ LED มีความละเอียดมาก ฉันจึงตัดสินใจเพิ่ม Arduino สำหรับชิ้นส่วนเหล่านี้
ดังนั้นคุณต้องมี Arduino IDE
อย่าลืมนำเข้าไลบรารีเหล่านี้:
- ห้องสมุด DHT:
- RGBdriver: ในที่เก็บ electroterra github
ขั้นตอนที่ 4: การทดสอบเซนเซอร์และแอคทูเอเตอร์บน Pi
ในที่เก็บ Github มีไฟล์ทดสอบบางไฟล์สำหรับแต่ละส่วนประกอบ
คลาสเหล่านี้ได้แก่ mcp.py (ปกปิดข้อมูลแอนะล็อกจาก LDR) pcf.py (สื่อสารข้อมูล I2C) และ pcf_lcd.py (เชื่อมต่อกับ LCD)
ขั้นตอนที่ 5: ฐานข้อมูล
สร้างฐานข้อมูล electroterra บน Mysql worckbench ผ่านไฟล์ดัมพ์ (final_dump_electroterra.sql ในที่เก็บ Github) พร้อมข้อมูลการทดสอบบางส่วน
มีปัญหาความเข้ากันได้โดยใช้ตัวช่วยสร้าง "ส่งต่อวิศวกรไปยังฐานข้อมูล" ใน Mysql Workbench ตรวจสอบให้แน่ใจว่าได้ลบพารามิเตอร์ VISIBLE ในคำสั่ง sql เนื่องจากสิ่งนี้ใช้ไม่ได้ใน MariaDB
ขั้นตอนที่ 6: ส่วนหน้า
โค้ด HTML, CSS และ Javascript มีอยู่ในที่เก็บ Github ควรใส่ไว้ในไดเร็กทอรีที่จะโฮสต์เว็บไซต์ การออกแบบนี้ได้รับการปรับให้เหมาะกับการใช้งานบนมือถือและได้รับการทดสอบใน Chrome, Firefox และ Edge เวอร์ชันล่าสุดที่เสถียร
ขั้นตอนที่ 7: แบ็กเอนด์
รหัส app.py, datarepository.py และ Database.py ต้องอยู่ในโฮมไดเร็กทอรีของผู้ใช้ Pi หากต้องการให้ Pi เรียกใช้ไฟล์โดยอัตโนมัติเมื่อรีบูต ให้ใช้คำแนะนำเหล่านี้:
คุณสามารถค้นหารหัสในที่เก็บ github:
ขั้นตอนที่ 8: รวบรวมสิ่งต่าง ๆ เข้าด้วยกัน
การตั้งค่านี้เป็นข้อพิสูจน์แนวคิด
ติดพัดลมด้วยกาวร้อน มีการเจาะรูพิเศษบางส่วนในแถบระบายอากาศเพื่อเดินสาย
ถัดมาเป็นกล่องสำหรับเก็บชิ้นส่วนอิเล็กทรอนิกส์ ใช้กล่องพลาสติกธรรมดา พิจารณาเพิ่มแถบระบายอากาศในกรณีที่เกิดความร้อนสูงเกินไป
ขั้นตอนที่ 9: การทดสอบ
เพิ่มพลังให้ Raspberry Pi และอุปกรณ์จ่ายไฟ
เรียกดูที่อยู่ IP ที่แสดงบนจอ LCD
ด้วยวิธีนี้ คุณสามารถตรวจสอบข้อมูลและควบคุมแอคทูเอเตอร์ได้