สารบัญ:
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-13 06:58
IoT หรือ Internet of Things เป็นสาขาที่กำลังเติบโตในด้านวิทยาการคอมพิวเตอร์ คำแนะนำต่อไปนี้อนุญาตให้สร้างส่วนอุปกรณ์ของ IoT ตัวอุปกรณ์เองสามารถใช้ในการเล่นเกมตัวแบ่งรหัสได้ ผู้เล่นคนหนึ่งสามารถตั้งรหัสโดยใช้หน้าต่างเบราว์เซอร์ ดำเนินการให้เบาะแสผู้เล่นคนที่สอง จากนั้นให้ผู้เล่นคนที่สองพยายามป้อนรหัสโดยใช้อุปกรณ์ฮาร์ดแวร์ หากผู้เล่นคนที่สองถูกต้อง ไฟจะกะพริบ ถ้าไม่ก็สามารถเล่นเกมได้อีกครั้ง อุปกรณ์ที่เรียบง่ายนี้ไม่เพียงแค่สนุกเท่านั้น แต่ยังสอนการออกแบบฮาร์ดแวร์และแอพพลิเคชั่นพื้นฐานโดยใช้ซอฟต์แวร์ Raspberry Pi และ python flask
ขั้นตอนที่ 1: รวบรวมวัสดุสำหรับอุปกรณ์ฮาร์ดแวร์
ขั้นแรก ผู้สร้างจะต้องรวบรวมวัสดุที่จำเป็นสำหรับส่วนฮาร์ดแวร์ของเกม วัสดุมีการระบุไว้ด้านล่าง
- 1 ราสเบอร์รี่ Pi
- การ์ด SD สำหรับ Raspberry Pi
- ริบบิ้นสายรุ้ง 1 เส้น
- 1 Raspberry Pi to Bread Board Connector
- 1 เขียงหั่นขนมขนาดใหญ่
- 1 เขียงหั่นขนมขนาดเล็ก
- 1 ตัวเข้ารหัสแบบหมุน
- 1 LED
- 1 หน้าจอ LED 7 ส่วน
- ตัวต้านทาน 9 330 โอห์ม
- สายง่ายต่างๆ
ขั้นตอนที่ 2: การติดตั้ง Rotary Encoder
ในการเริ่มต้นติดตั้ง Rotary Encoder เราเริ่มต้นด้วยการจัดหาเขียงหั่นขนมขนาดใหญ่ Raspberry Pi ขั้วต่อสายสีรุ้ง ขั้วต่อ Pi ตัวเข้ารหัสโรตารี่ และสายไฟต่างๆ เราไม่ต้องการตัวต้านทานที่นี่ เนื่องจาก Rotary Encoder มีตัวต้านทานในตัวอยู่แล้ว เราเริ่มต้นด้วยการเชื่อมต่อริบบิ้นสีรุ้งกับ Raspberry Pi และขั้วต่อเขียงหั่นขนม จากนั้นเราเชื่อมต่อตัวเชื่อมต่อกับเขียงหั่นขนม โปรดใช้ความระมัดระวังเมื่อวางและถอดริบบิ้นสีรุ้ง เนื่องจากอาจทำให้หมุดบน Raspberry Pi งอได้
ตอนนี้เราจำเป็นต้องเชื่อมต่อสายไฟและสายกราวด์ของเขียงหั่นขนมกับพินพลังงานและกราวด์ของตัวเชื่อมต่อ วิธีดำเนินการดังแสดงในภาพที่สองด้านบน
วาง Rotary Encoder บนเขียงหั่นขนม ตรวจสอบให้แน่ใจว่าหมุดของ Rotary Encoder อยู่ในแถวต่างๆ ของบอร์ด ตัวเข้ารหัสมีทั้งหมดห้าพิน ขั้นแรก เชื่อมต่อพินที่ระบุว่า GND หรือกราวด์กับสายกราวด์บนเขียงหั่นขนม นี่คือคอลัมน์ของช่องว่างที่มีเส้นสีน้ำเงิน ต่อไปเราต้องเชื่อมต่อเครื่องเข้ารหัสกับพลังงาน ต่อพินที่มีป้ายกำกับ + เข้ากับแหล่งจ่ายไฟ พินที่สามบน Rotary Encoder จะมีป้ายกำกับว่า SW พินนี้จะอ่านว่ามีการกดส่วนหัวของตัวเข้ารหัสลงหรือไม่ เราเชื่อมต่อพินนี้กับพินที่ระบุว่า GPIO16 บนตัวเชื่อมต่อ หมุดสองตัวสุดท้ายบนรีจิสเตอร์ตัวเข้ารหัสจะอ่านตำแหน่งที่ปุ่มของตัวเข้ารหัสถูกตั้งไว้ในปัจจุบัน เชื่อมต่อพินที่ติดป้าย DT เข้ากับป้ายพิน GPIO18 บนตัวเชื่อมต่อและพินที่ติดฉลาก CLK ถึง GPIO17 บนตัวเชื่อมต่อ
ตอนนี้ Rotary Encoder เชื่อมต่อกับ Raspberry Pi แล้ว
ขั้นตอนที่ 3: หาหน้าจอ 7 ส่วน
เมื่อติดตั้ง Rotary Encoder แล้ว เราสามารถดำเนินการเดินสายหน้าจอ LED 7 ส่วนได้ อันดับแรก เราต้องซื้อเขียงหั่นขนมขนาดเล็กเพิ่มเติมรวมถึงเซ็กเมนต์ 7 ตัว ตัวต้านทาน 330 โอห์มแปดตัว และสายไฟต่างๆ
มันสำคัญมากที่จะต้องต่อสาย 7 ส่วนอย่างถูกต้องเนื่องจากไม่มีตัวต้านทานในตัวเช่นเดียวกับตัวเข้ารหัสแบบโรตารี่ เจ็ดส่วนมีทั้งหมดสิบสองหมุด พินหนึ่งถึงหกจะอยู่ที่แถวบนสุดของเซ็กเมนต์ 7 ที่วิ่งจากซ้ายไปขวา หมุดเจ็ดถึงสิบสองอยู่ที่แถวล่างและวิ่งจากขวาไปซ้าย แถวล่างสุดคือด้านข้างของส่วนที่ 7 ที่มีจุดเล็กๆ ด้านหลังตัวเลขแต่ละตัวในส่วนที่ 7
เราวางเซ็กเมนต์ 7 ไว้บนเขียงหั่นขนมขนาดเล็กและต่อหมุดแต่ละอันตามที่แสดงในตารางด้านบน หากจำเป็นต้องใช้ตัวต้านทาน ให้วางตัวต้านทานระหว่างพิน 7 ส่วนกับพินตัวเชื่อมต่อ นอกจากนี้ ตรวจสอบให้แน่ใจว่าไม่มีตัวต้านทานตัวใดสัมผัสกันขณะใช้อุปกรณ์ ซึ่งอาจทำให้กระแสไฟฟ้าขัดข้องได้
ขั้นตอนที่ 4: การเดินสายไฟ LED
เนื่องจากเรามีฮาร์ดแวร์ที่เหลือติดตั้งอยู่ในขณะนี้ เราจึงสามารถทำได้โดยการติดตั้ง LED LED นี้จะแจ้งให้เราทราบเมื่อรหัสที่เราป้อนถูกต้อง ในการทำเช่นนี้ เราจะต้องมี LED, ตัวต้านทาน 330 โอห์ม และสายไฟหลายเส้น
LED มีหมุดสองตัวติดอยู่ ด้านหนึ่งยาวกว่าอีกด้านหนึ่งเล็กน้อย อันดับแรก เราต้องเชื่อมต่อด้านที่ยาวกว่าของทั้งสองข้างเข้ากับกำลัง ในการทำเช่นนี้ เราเชื่อมต่อด้านที่ยาวกว่าผ่านสายไฟเพื่อยึด GPIO26 บนขั้วต่อ วิธีนี้ทำให้เราสามารถเปิดและปิดไฟ LED ได้ในภายหลัง จากนั้นเราสามารถเชื่อมต่อด้านที่สั้นกว่าของทั้งสองข้างกับพื้นได้ อย่างไรก็ตาม เราต้องทำสิ่งนี้ผ่านตัวต้านทาน เพื่อไม่ให้ไฟ LED ไหม้
เมื่อเราทำสิ่งนี้เสร็จแล้วเราก็ทำกับ LED และฮาร์ดแวร์โดยรวม
ขั้นตอนที่ 5: เวลาสำหรับการสมัคร
ในการสร้างแอปพลิเคชันสำหรับอุปกรณ์นี้ คุณจะต้องเข้าถึง Python Flask Flask เป็นซอฟต์แวร์พัฒนาเว็บที่ใช้งานง่าย ซึ่งสามารถใช้สร้างแอปพลิเคชันบนเบราว์เซอร์อย่างง่ายได้
ในการดาวน์โหลดและเรียนรู้เพิ่มเติมเกี่ยวกับ Flask ในขั้นต้น ให้ไปที่ลิงก์ที่ให้ไว้: FLASK INFORMATION
เพื่อสร้างแอปพลิเคชันเฉพาะสำหรับอุปกรณ์นี้ เริ่มต้นด้วยการสร้างโฟลเดอร์บน Raspberry Pi ของคุณ โฟลเดอร์นี้ควรเรียกว่า "iotapp" ดาวน์โหลดและลากไฟล์ "iotapp.py" ลงในโฟลเดอร์นี้ นอกจากนี้ ภายในโฟลเดอร์นี้ ให้สร้างโฟลเดอร์ที่สองชื่อ "appFolder" ภายใน "appFolder" ให้ดาวน์โหลดไฟล์ "_init_.py", "forms.py", "RE.py" และ "routes.py" ที่มีให้ จากนั้นสร้างโฟลเดอร์อื่นที่เรียกว่า "เทมเพลต" โฟลเดอร์ใหม่นี้ควรอยู่ใน "appFolder" ด้วย
ขั้นตอนที่ 6: ไฟล์ HTML
ตอนนี้เราได้สร้างโฟลเดอร์ "เทมเพลต" แล้ว เราสามารถสร้างไฟล์ HTML ที่จะจัดรูปแบบหน้าสำหรับแอปพลิเคชันของเรา สร้างไฟล์ HTML สองไฟล์: codeentered.html และ setcode.html รหัสสำหรับไฟล์เหล่านี้แสดงในรูปภาพด้านบน
ขั้นตอนที่ 7: การเรียกใช้แอปพลิเคชัน
ในการเรียกใช้แอปพลิเคชัน ให้เริ่มต้นด้วยการเปิดหน้าต่างเทอร์มินัล จากนั้น SSH ลงใน Raspberry Pi ของคุณ ไปที่โฟลเดอร์ "iotapp" และจากบรรทัดคำสั่ง ให้ป้อนคำสั่งต่อไปนี้:
$ export FLASK_APP=iotapp.py
$ python -m flask run --host 0.0.0.0
หากแอปพลิเคชันทำงานอย่างถูกต้อง บรรทัดคำสั่งในเทอร์มินัลควรอ่าน:
* ให้บริการแอพ Flask "iotapp"
* ทำงานบน https://0.0.0.0:5000/ (กด CTRL+C เพื่อออก)
ในการเข้าถึงแอปพลิเคชัน คุณควรไปที่ไซต์แอปพลิเคชันโดยป้อนที่อยู่ IP ของ Raspberry Pi ตามด้วย ":5000/setcode" ตัวอย่างเช่น:
ตอนนี้อุปกรณ์ทำงานได้อย่างสมบูรณ์ เกมรหัสสามารถเล่นได้
ในการหยุดอุปกรณ์ ให้กด CTRL+C ในหน้าต่างเทอร์มินัลแล้วปิด Pi
ขั้นตอนที่ 8: เล่นเกม
ต่อไปนี้เป็นวิดีโอของอุปกรณ์ทำงาน