วิธีการสร้าง IOT Smart Garage Opener โดยใช้ Raspberry Pi

ในยุคนี้ที่เทคโนโลยีล่าสุดทำให้เราบุกรุกอินเทอร์เน็ตของสิ่งต่าง ๆ (IoT) ได้ทุกวัน เมื่อเร็ว ๆ นี้ได้กลายเป็นวิธีการที่ทันสมัยที่สุดในการทำให้อุปกรณ์อิเล็กทรอนิกส์ทำงานอัตโนมัติและด้วยเหตุนี้จึงลดการรบกวนของมนุษย์ได้ในระดับที่ดี เทคโนโลยีมากมายรองรับการควบคุมอุปกรณ์แบบไร้สายเช่น ระบุความถี่คลื่นวิทยุ (อาร์เอฟไอดี) บลูทูธ, ไวไฟ, ฯลฯ ในโครงการนี้ เราจะสร้างเครื่องเปิดประตูโรงรถอัจฉริยะโดยใช้ Raspberry Pi เว็บเซิร์ฟเวอร์ Raspberry pi จะถูกสร้างขึ้นเพื่อเปิดและปิดประตูโรงรถโดยใช้สมาร์ทโฟนของคุณ

วิธีการตั้งค่า Raspberry Pi และส่วนประกอบฮาร์ดแวร์อื่น ๆ

เนื่องจากเราเข้าใจจุดมุ่งหมายพื้นฐานของโครงการนี้แล้ว เรามาก้าวต่อไปในการรวบรวมส่วนประกอบและประกอบเข้าด้วยกัน

ขั้นตอนที่ 1: ส่วนประกอบที่จำเป็น

ขั้นตอนที่ 2: การเลือกรุ่น Raspberry Pi

ราสเบอร์รี่ pi หลายรุ่นมีจำหน่ายในท้องตลาด ยกเว้นราสเบอร์รี่ pi zero สามารถเลือกรุ่นใดก็ได้ เนื่องจากการตั้งค่าเครือข่าย Pi zero เป็นงานที่เหนื่อยมาก สามารถซื้อรุ่นล่าสุดเช่น 3A+, 3B+ หรือ 4 ได้ Raspberry Pi 3 ใหม่เป็นอุปกรณ์ที่เร็วและโดดเด่นที่สุดที่ Raspberry Pi Foundation ได้เปิดตัวจนถึงปัจจุบัน ในโครงการนี้ เราจะใช้ Raspberry Pi 3B+

ขั้นตอนที่ 3: การเลือกระบบปฏิบัติการ

ประการแรก เราจะต้องมีการ์ด SD ที่มีระบบปฏิบัติการที่เหมาะสม เมื่อเลือกระบบปฏิบัติการ ทุกวันนี้มีทางเลือกมากมาย ตั้งแต่ Raspbian "แบบธรรมดา" ไปจนถึงเฟรมเวิร์กการทำงานของสื่อโดยเฉพาะ และแม้แต่ Windows 10 IoT เป็นที่ต้องการของ Raspbian เพราะมันมาพร้อมกับแพ็คเกจมากกว่า 35,000 แพ็คเกจ Raspbian เป็นโครงการชุมชนภายใต้การพัฒนาอย่างแข็งขัน โดยเน้นที่การปรับปรุงความเสถียรและประสิทธิภาพของแพ็คเกจ Debian ให้ได้มากที่สุด

ขั้นตอนที่ 4: เชื่อมต่อ Raspberry กับแล็ปท็อป

จอภาพภายนอกหรือ LCD โดยใช้สาย HDMI สามารถใช้เป็นจอแสดงผลเพื่อเชื่อมต่อกับ Raspberry Pi หากใครไม่มี LCD ก็สามารถใช้แล็ปท็อปเชื่อมต่อ Pi ได้ แต่ต้องมีการกำหนดค่าบางอย่างเพื่อเชื่อมต่อ เราจะใช้ a เซฟเชลล์ (SSH) ไคลเอนต์ที่เรียกว่า สีโป๊ว เพื่อเชื่อมต่อ Pi โดยใช้แล็ปท็อป การเชื่อมต่ออธิบายไว้ในขั้นตอนที่กล่าวถึงด้านล่าง:

  1. การติดตั้ง Advanced IP Scanner: Advanced IP Scanner เป็นเครื่องมือที่ใช้ในการตรวจจับ IP ที่กำหนดให้กับอุปกรณ์โดยเราเตอร์ Wifi ของคุณ เราจะติดตั้งซอฟต์แวร์นี้โดยคลิกที่นี่
  2. การตรวจจับ IP ที่กำหนดให้กับ Raspberry Pi: ตอนนี้เราจะตรวจสอบ IP แบบคงที่ที่กำหนดให้กับ Raspberry Pi ของเรา

    ที่อยู่ IP ที่กำหนดให้กับ Raspberry Pi ของเราคือ 192.168.1.16. จดบันทึกที่อยู่ IP นี้ไว้ เนื่องจากจำเป็นต้องใช้ในการกำหนดค่าเพิ่มเติม บันทึก: ทุกคนจะได้รับที่อยู่ IP ที่แตกต่างกันขึ้นอยู่กับเราเตอร์ไร้สาย

  3. ดาวน์โหลด Putty และป้อนที่อยู่ IP ในนั้น: Putty เป็นไคลเอนต์ SSH และเป็นซอฟต์แวร์โอเพ่นซอร์สที่ใช้ได้กับซอร์สโค้ด สามารถดาวน์โหลดได้จากที่นี่ หลังจากดาวน์โหลด Putty ให้เปิดและป้อนที่อยู่ IP แบบคงที่ "192.168.1.16" เพื่อเชื่อมต่อกับแล็ปท็อป
  4. เข้าสู่ระบบ:หลังจากป้อนที่อยู่ IP หน้าจอจะปรากฏขึ้นและจะถามชื่อผู้ใช้และรหัสผ่าน ชื่อผู้ใช้เริ่มต้นคือ “ปี่” และรหัสผ่านคือ “ราสเบอร์รี่“. เราสามารถเปลี่ยนรายละเอียดการเข้าสู่ระบบได้เช่นกันหากต้องการ

ขั้นตอนที่ 5: แผนภาพวงจร

เมื่อเรารู้แล้วว่าส่วนประกอบทำงานอย่างไร มาประกอบส่วนประกอบเหล่านี้และสร้างวงจรดังที่แสดงด้านล่าง

รีเลย์ขับเคลื่อนโดย 5 V ของ Raspberry Pi และ เอาต์พุตอินพุตวัตถุประสงค์ทั่วไป (GPIO-14) เชื่อมต่อกับ ใน ของรีเลย์ มันจะบอกรีเลย์เมื่อต้องเปลี่ยน บน และ ปิด เราได้เชื่อมต่อหลอดไฟ AC 12V เข้ากับเอาต์พุตของรีเลย์เพื่อให้หลอดไฟเปิดขึ้นเมื่อประตูโรงรถเปิดขึ้น บน และเมื่อประตูโรงรถปิด หลอดไฟก็จะหมุน ปิด.

ขั้นตอนที่ 6: การตั้งค่าขวดใน Pi สำหรับควบคุมประตูโรงรถ

เราจะสร้างเว็บเซิร์ฟเวอร์โดยใช้ Flask ซึ่งจะเป็นการปูทางสำหรับการส่งคำสั่งจากหน้าเว็บไปยัง Raspberry Pi เพื่อควบคุมต้นแบบของเราผ่านเครือข่าย Flask ช่วยให้เราสามารถเรียกใช้เนื้อหาหลามของเราผ่านหน้าเว็บไซต์และเราสามารถส่งและรับข้อมูลจาก Raspberry Pi ไปยังอินเทอร์เน็ตเบราว์เซอร์และในทางกลับกัน เป็นไมโครเฟรมเวิร์คสำหรับ ไพทอน. เครื่องมือนี้ใช้ Unicode ซึ่งมีเซิร์ฟเวอร์การพัฒนาและดีบักเกอร์ในตัว รองรับการทดสอบหน่วยแบบรวม รองรับคุกกี้ที่ปลอดภัย และใช้งานง่าย สิ่งเหล่านี้ทำให้มีค่าสำหรับผู้เชี่ยวชาญ สำหรับการติดตั้ง กระติกน้ำ บน Raspberry Pi ของคุณให้พิมพ์คำสั่งต่อไปนี้:

sudo apt-get update sudo apt-get ติดตั้ง python-pip python-flask

ตอนนี้รันคำสั่ง pip เพื่อติดตั้ง Flask และเป็นการพึ่งพา:

sudo pip ติดตั้งขวด

ขั้นตอนที่ 7: สร้างสคริปต์ Python สำหรับผู้เปิดประตู

สคริปต์นี้จะร่วมมือกับ Raspberry Pi GPIO และตั้งค่าเว็บเซิร์ฟเวอร์ เป็นสคริปต์หลักสำหรับโครงการของเรา สคริปต์ Python จะอธิบายในส่วนด้านล่าง:

ประการแรกเราจะสร้างโฟลเดอร์ โฟลเดอร์ที่จำเป็นอื่นๆ ทั้งหมดควรอยู่ในโฟลเดอร์นี้เท่านั้น เรียกใช้คำสั่งด้านล่างเพื่อสร้างโฟลเดอร์แล้วสร้างไฟล์ python ชื่อ app.pyภายในโฟลเดอร์นี้:

mkdir garage_door cd garage_door nano app.py

คำสั่งข้างต้นจะเปิดโปรแกรมแก้ไข Nano ซึ่งจะเขียนสคริปต์ด้านล่าง รวมห้องสมุดที่สำคัญ:

นำเข้า RPi.GPIO เป็น GPIO จากขวดนำเข้า Flask, render_template, แอปคำขอ = Flask(__name__, static_url_path='/static')

ตอนนี้สร้างพจนานุกรมเป็นหมุดเพื่อจัดเก็บ PIN ชื่อ และสถานะพิน คุณสามารถใช้ได้มากกว่าหนึ่งพินตามความต้องการของคุณ:

หมุด = {14: {'ชื่อ' : 'ประตูโรงรถ', 'สถานะ': GPIO.LOW} }

จากนั้นตั้งค่าพินเป็นเอาต์พุตและตั้งไว้ที่ระดับต่ำในตอนแรก:

สำหรับพินอินพิน: GPIO.setup(pin, GPIO.OUT) GPIO.output(pin, GPIO.LOW)

เราจะสร้างฟังก์ชันเพื่ออ่านสถานะพินและเก็บสถานะนี้ไว้ในตัวแปร:

@app.route("/") def main(): สำหรับพินในพิน: pins[pin]['state'] = GPIO.input(pin) ..

เราจะส่งข้อมูลนี้ไปยัง .ของเรา HTML หน้าเพื่อให้เราสามารถควบคุมสถานะปุ่มป้อนข้อมูลได้:

 ส่งคืน render_template('main.html', **templateData)

สำหรับการจัดการคำขอจาก URL สร้างฟังก์ชันด้วย PIN และการดำเนินการในนั้น:

@app.route("//', method=['GET', 'POST']) def action(changePin, action):

หลังจากนั้นแปลงพินจาก URL เป็นจำนวนเต็ม

changePin = int (เปลี่ยนพิน)

หากส่วนการดำเนินการของ URL คือ “เปิด” ณ จุดนั้น ให้ทำดังต่อไปนี้:

ถ้า action == "open": GPIO.output(changePin, GPIO.HIGH) if action == "close": GPIO.output(changePin, GPIO.LOW)

ผมจะแนบสคริปฉบับสมบูรณ์ท้ายบทไว้ และหากใครต้องการคัดลอกก็สามารถทำได้โดยกด ctrl+x แล้วกด ป้อน ตอนนี้เราเสร็จสิ้นด้วยสคริปต์ python และเราจะสร้าง an HTML หน้าเพื่อโต้ตอบกับสคริปต์หลาม

ขั้นตอนที่ 8: การสร้างหน้า HTML สำหรับ Raspberry Pi Server

เราจะทำการเปลี่ยนแปลงในโฟลเดอร์ garage_door ที่เราสร้างไว้ก่อนหน้านี้ เราจะสร้างโฟลเดอร์ใหม่ชื่อ แม่แบบ และภายในโฟลเดอร์นี้สร้างไฟล์ .html โดยใช้คำสั่งต่อไปนี้:

เทมเพลต mkdir เทมเพลต cd nano main.html

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

คลิกที่นี่เพื่อดาวน์โหลดโค้ด HTML เพื่อสร้างหน้าเว็บ

ขั้นตอนที่ 9: การสร้างปุ่มสำหรับเปิดและปิดประตู

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

sudo python app.py

เปิดเบราว์เซอร์และป้อนที่อยู่ IP ของ Raspberry Pi แล้วกด Enter หน้าประเภทนี้จะแสดง:

ขั้นตอนที่ 10: การตั้งค่าฮาร์ดแวร์

เมื่อตั้งค่าซอฟต์แวร์เสร็จแล้ว เรามาก้าวไปข้างหน้าและประกอบฮาร์ดแวร์กัน ตรวจสอบให้แน่ใจว่าโมดูลรีเลย์เชื่อมต่อกับ Raspberry Pi สำหรับการทดสอบให้กดปุ่มเปิดเพื่อเปลี่ยน บน รีเลย์และปุ่มปิดสวิตช์ ปิด รีเลย์ ทันทีที่เปิดรีเลย์ไฟหลอดไฟ AC จะสว่างขึ้นและเรารู้ว่าประตูเปิดอยู่และเมื่อปิดหลอดไฟเราก็รู้ว่าประตูปิด หากต้องการหยุดเซิร์ฟเวอร์ ให้กด ctrl+c

คลิกที่นี่เพื่อดาวน์โหลดรหัสเพื่อติดตั้งฮาร์ดแวร์

Facebook Twitter Google Plus Pinterest