สารบัญ:

Seroma: ผู้จัดการห้องเซิร์ฟเวอร์: 20 ขั้นตอน
Seroma: ผู้จัดการห้องเซิร์ฟเวอร์: 20 ขั้นตอน

วีดีโอ: Seroma: ผู้จัดการห้องเซิร์ฟเวอร์: 20 ขั้นตอน

วีดีโอ: Seroma: ผู้จัดการห้องเซิร์ฟเวอร์: 20 ขั้นตอน
วีดีโอ: Что такое серома? Почему возникает серома? Профилактика серомы после пластической операции 2024, พฤศจิกายน
Anonim
Seroma: ผู้จัดการห้องเซิร์ฟเวอร์
Seroma: ผู้จัดการห้องเซิร์ฟเวอร์

Seroma เป็นผู้จัดการห้องเซิร์ฟเวอร์แบบ all-in-one ที่อนุญาตให้ผู้ใช้ตรวจสอบสถานะของเซิร์ฟเวอร์ (อุณหภูมิและความชื้น) บันทึกการเข้าใช้ของห้องเซิร์ฟเวอร์ ตลอดจนตรวจสอบห้องเซิร์ฟเวอร์เพื่อหาการละเมิดความปลอดภัย

ขั้นตอนที่ 1: เข้าสู่ระบบบัญชี AWS ของคุณ

เข้าสู่ระบบบัญชี AWS ของคุณ
เข้าสู่ระบบบัญชี AWS ของคุณ
เข้าสู่ระบบบัญชี AWS ของคุณ
เข้าสู่ระบบบัญชี AWS ของคุณ
เข้าสู่ระบบบัญชี AWS ของคุณ
เข้าสู่ระบบบัญชี AWS ของคุณ
เข้าสู่ระบบบัญชี AWS ของคุณ
เข้าสู่ระบบบัญชี AWS ของคุณ
  1. สำหรับเรา เราเข้าสู่ระบบผ่านเกตเวย์นักเรียนของ AWS เนื่องจากมีบัญชี aws ของนักเรียน
  2. ตรงไปที่แท็บ "บัญชี AWS" บนเมนูการนำทางที่ด้านบนขวา
  3. คลิกที่ “ไปที่บัญชีเริ่มต้นของ AWS Educate”
  4. เปิดคอนโซลเพื่อเข้าถึง AWS Management Console ของคุณ

ขั้นตอนที่ 2: เริ่มต้นใช้งาน "สิ่งต่างๆ" ของ AWS IOT

เริ่มต้นใช้งาน AWS IOT
เริ่มต้นใช้งาน AWS IOT
เริ่มต้นใช้งาน AWS IOT
เริ่มต้นใช้งาน AWS IOT
  1. ค้นหา “AWS IoT” ในแถบค้นหาบริการของ AWS
  2. คลิกที่ "เริ่มต้นใช้งาน" เพื่อไปยังแดชบอร์ด AWS IoT Console ซึ่งคุณสามารถดูอุปกรณ์ IoT ทั้งหมดที่ลงทะเบียนในบัญชี AWS ของคุณ

ขั้นตอนที่ 3: การลงทะเบียน "สิ่ง" ของ AWS IOT

การลงทะเบียน AWS IOT
การลงทะเบียน AWS IOT
การลงทะเบียน AWS IOT
การลงทะเบียน AWS IOT
การลงทะเบียน AWS IOT
การลงทะเบียน AWS IOT
  1. ในแถบนำทาง ให้ไปที่จัดการ "สิ่งของ" IoT ของคุณ
  2. คลิกที่ "ลงทะเบียนสิ่งของ" หากคุณยังไม่มี (ถ้าคุณมีของอยู่แล้ว ให้คลิกที่ปุ่ม "สร้าง" ที่ด้านบนขวาของหน้าจอถัดจากแท็บค้นหา)
  3. คลิกที่ปุ่มแรกที่เรียกว่า "สร้างสิ่งเดียว"
  4. พิมพ์ “RaspberryPi” เป็นชื่อของสิ่งของ สำหรับขั้นตอนนี้ ไม่จำเป็นต้องป้อนข้อมูลอื่นนอกจาก "ชื่อ" หลังจากทำเช่นนั้น คลิกถัดไป

ขั้นตอนที่ 4: การเปิดใช้งานใบรับรอง

การเปิดใช้งานใบรับรอง
การเปิดใช้งานใบรับรอง
การเปิดใช้งานใบรับรอง
การเปิดใช้งานใบรับรอง
  1. ในขั้นตอนต่อไป ให้คลิกที่ปุ่ม "สร้างใบรับรอง"
  2. ดาวน์โหลดและจัดเก็บลิงก์ดาวน์โหลด 4 ลิงก์ในหน้าถัดไปลงในไดเร็กทอรีหรือโฟลเดอร์ที่ทำงาน หากต้องการบันทึกไฟล์ root CA ให้คลิกขวาและบันทึกเป็น
  3. คลิกที่ "เปิดใช้งาน" และข้อความแสดงความสำเร็จจะปรากฏขึ้น
  4. ใช้ชื่อที่จำง่ายสำหรับไฟล์โดยลบตัวเลขที่อยู่ด้านหน้าชื่อไฟล์แต่ละชื่อ และเปลี่ยนชื่อไฟล์ root CA เป็น "rootca.pem"
  5. คลิกที่ "แนบนโยบาย" เพื่อดำเนินการต่อ

ขั้นตอนที่ 5: การเพิ่มนโยบายในใบรับรองของคุณ

การเพิ่มนโยบายในใบรับรองของคุณ
การเพิ่มนโยบายในใบรับรองของคุณ
การเพิ่มนโยบายในใบรับรองของคุณ
การเพิ่มนโยบายในใบรับรองของคุณ
การเพิ่มนโยบายในใบรับรองของคุณ
การเพิ่มนโยบายในใบรับรองของคุณ
  1. ในหน้าถัดไป หากคุณไม่มีนโยบาย พวกเขาจะแจ้งให้คุณสร้างนโยบายบนปุ่ม "สร้างนโยบาย"
  2. หากคุณมีนโยบายอยู่แล้ว ให้คลิกที่ปุ่ม "สร้างนโยบายใหม่" ด้านล่าง
  3. แทรกข้อมูลต่อไปนี้ลงในแบบฟอร์มการสร้างนโยบาย

    ชื่อ: RaspberryPiSecurityPolicy

    การกระทำ: iot:*

    ARN ทรัพยากร: *

    ผล: อนุญาต

  4. นโยบายของคุณควรปรากฏในแท็บ "นโยบาย" ใต้ "ความปลอดภัย"
  5. จากนั้นไปที่แท็บ "ใบรับรอง" ที่อยู่ภายใต้ "ความปลอดภัย" และแนบนโยบายของคุณกับใบรับรองที่คุณสร้างไว้ก่อนหน้านี้
  6. ในหน้าถัดไป ให้คลิกนโยบายของคุณแล้วคลิก "แนบ"
  7. ในหน้ารายละเอียดของสิ่งที่คุณสร้าง ใต้แท็บ "โต้ตอบ" จะมีตำแหน่งข้อมูล REST API ที่ควรคัดลอกและบันทึก
  8. ตอนนี้ AWS ควรมีสิ่งที่แนบมากับนโยบายและมีใบรับรอง

ขั้นตอนที่ 6: การตั้งค่าเริ่มต้นสำหรับหัวข้อ AWS SNS

การตั้งค่าเริ่มต้นสำหรับหัวข้อ AWS SNS
การตั้งค่าเริ่มต้นสำหรับหัวข้อ AWS SNS
การตั้งค่าเริ่มต้นสำหรับหัวข้อ AWS SNS
การตั้งค่าเริ่มต้นสำหรับหัวข้อ AWS SNS

SSH ใน Raspberry Pi และติดตั้ง AWS CLI โดยใช้คำสั่ง pip ต่อไปนี้:

sudo pip ติดตั้ง awscli

AWS CLI มีคุณสมบัติการเติมคำสั่งให้สมบูรณ์ แต่ไม่ได้ติดตั้งไว้ตามค่าเริ่มต้น ใช้คำสั่งต่อไปนี้เพื่อติดตั้งคุณสมบัติการเติมคำสั่งบนอินเทอร์เฟซ CLI ของ Raspberry Pi:

สมบูรณ์ -C aws_completer aws

กำหนดค่า AWS CLI ด้วย Access Key ID, Secret Access Key, ชื่อภูมิภาค AWS และรูปแบบเอาต์พุตคำสั่งโดยใช้คำสั่งต่อไปนี้:

aws กำหนดค่า

คอนโซลจะแจ้งให้คุณกรอกข้อมูลต่อไปนี้:

pi@raspberrypi:~ $ aws configuration

AWS Access Key ID [ไม่มี]: "ใส่รหัสการเข้าถึงของผู้ใช้ของคุณที่นี่" AWS Secret Access Key [ไม่มี]: "ใส่รหัสการเข้าถึงความลับของผู้ใช้ที่นี่" ชื่อภูมิภาคเริ่มต้น [ไม่มี]: eu-central-1 รูปแบบเอาต์พุตเริ่มต้น [ไม่มี]: json pi@raspberrypi:~ $

ขั้นตอนที่ 7: การสร้างไฟล์ Iot-role.trust.json

การสร้างไฟล์ Iot-role.trust.json
การสร้างไฟล์ Iot-role.trust.json
การสร้างไฟล์ Iot-role.trust.json
การสร้างไฟล์ Iot-role.trust.json
  1. สร้างไฟล์ JSON ด้วยนโยบาย IAM ด้านบนโดยใช้ชื่อไฟล์ iot-role.trust.json
  2. สร้างบทบาทโดยใช้ AWS CLI โดยใช้คำสั่งต่อไปนี้

aws iam create-role --role-name my-iot-role --assume-role-policy-document file://iot-role-trust.json

ขั้นตอนที่ 8: การสร้างไฟล์ Iot-policy.json

การสร้างไฟล์ Iot-policy.json
การสร้างไฟล์ Iot-policy.json
การสร้างไฟล์ Iot-policy.json
การสร้างไฟล์ Iot-policy.json
  1. สร้างไฟล์ JSON ด้วยนโยบายด้านบนโดยใช้ชื่อไฟล์ iot-policy.json
  2. สร้างนโยบายบทบาทโดยใช้ AWS CLI โดยใช้คำสั่งต่อไปนี้:

aws iam put-role-policy --role-name IoTRole --policy-name iot-policy --policy-document file://iot-policy.json

ขั้นตอนที่ 9: สร้างหัวข้อ AWS SNS (ตอนที่ 1)

สร้างหัวข้อ AWS SNS (ตอนที่ 1)
สร้างหัวข้อ AWS SNS (ตอนที่ 1)
สร้างหัวข้อ AWS SNS (ตอนที่ 1)
สร้างหัวข้อ AWS SNS (ตอนที่ 1)
สร้างหัวข้อ AWS SNS (ตอนที่ 1)
สร้างหัวข้อ AWS SNS (ตอนที่ 1)
  1. ในแถบค้นหาบริการของ AWS ค้นหาบริการ “SNS” หรือไปที่
  2. เนื่องจากคุณไม่มีหัวข้อในขณะนี้ ให้คลิก "สร้างหัวข้อใหม่" เพื่อสร้างหัวข้อ
  3. พิมพ์ชื่อหัวข้อและชื่อที่แสดง แล้วคลิก "สร้างหัวข้อ" จากนั้นหัวข้อใหม่จะปรากฏขึ้นเมื่อทำตามขั้นตอนทั้งหมดสำเร็จ
  4. คลิกที่ปุ่มแบบเลื่อนลง "การดำเนินการ" และ "แก้ไขนโยบายหัวข้อ"

ขั้นตอนที่ 10: สร้างหัวข้อ AWS SNS (ตอนที่ 2)

สร้างหัวข้อ AWS SNS (ตอนที่ 2)
สร้างหัวข้อ AWS SNS (ตอนที่ 2)
สร้างหัวข้อ AWS SNS (ตอนที่ 2)
สร้างหัวข้อ AWS SNS (ตอนที่ 2)
สร้างหัวข้อ AWS SNS (ตอนที่ 2)
สร้างหัวข้อ AWS SNS (ตอนที่ 2)
  1. กำหนดนโยบายเพื่ออนุญาตให้ทุกคนเผยแพร่และสมัครใช้งาน เนื่องจากเป็นข้อจำกัดของบัญชี AWSEducate
  2. สมัครรับข้อมูลหัวข้อนี้เพื่อรับการอัปเดตที่เผยแพร่ในหัวข้อนี้
  3. เปลี่ยนโปรโตคอลเป็น "อีเมล" และป้อนอีเมลของคุณที่จุดสิ้นสุด

  4. ไปที่อีเมลที่คุณพิมพ์ปลายทาง คลิกลิงก์ยืนยันเพื่อยืนยันการสมัครรับอีเมลเพื่อสมัครรับหัวข้อ
  5. ไปที่บริการ “AWS IoT” บนเมนูนำทางทางด้านซ้าย ให้คลิกที่ “Act” หน้านี้เป็นที่ที่กฎของคุณจะแสดงและให้คุณดูและแก้ไขได้ ปัจจุบันไม่มีกฎเกณฑ์สำหรับสิ่ง IoT ของคุณ คลิกที่ "สร้างกฎ"

ขั้นตอนที่ 11: สร้างหัวข้อ AWS SNS (ตอนที่ 3)

สร้างหัวข้อ AWS SNS (ตอนที่ 3)
สร้างหัวข้อ AWS SNS (ตอนที่ 3)
สร้างหัวข้อ AWS SNS (ตอนที่ 3)
สร้างหัวข้อ AWS SNS (ตอนที่ 3)
สร้างหัวข้อ AWS SNS (ตอนที่ 3)
สร้างหัวข้อ AWS SNS (ตอนที่ 3)
  1. พิมพ์ชื่อในช่องชื่อสำหรับกฎของคุณ ในฟิลด์ คำอธิบาย ให้พิมพ์คำอธิบายสำหรับกฎของคุณ ไปที่ส่วนแหล่งที่มาของข้อความ เราจะเลือกเวอร์ชัน SQL ที่อัปเดตล่าสุดในส่วน "การใช้เวอร์ชัน SQL" พิมพ์ * ในแอตทริบิวต์เพื่อเลือกข้อความ MQTT ทั้งหมดจากหัวข้อ ในกรณีของเราคือ "TempHumid"
  2. จากนั้นเพิ่มการดำเนินการแจ้งเตือน "SNS" สำหรับกฎของคุณ จากนั้นคลิก "กำหนดค่าการดำเนินการ"
  3. ในหน้า "กำหนดค่าการดำเนินการ" เลือกหัวข้อ SNS ที่คุณเพิ่งสร้างขึ้นและรูปแบบข้อความเป็น RAW หลังจากนั้น เลือกบทบาทที่คุณเพิ่งสร้างโดยใช้ AWS CLI แล้วคลิก “เพิ่มการดำเนินการ”
  4. การกระทำของคุณจะได้รับการกำหนดค่าและกลับไปที่ "สร้างกฎ"
  5. คลิกแก้ไข หากคุณต้องการแก้ไขกฎ

ขั้นตอนที่ 12: สร้างบัคเก็ตบน Amazon S3

สร้างบัคเก็ตบน Amazon S3
สร้างบัคเก็ตบน Amazon S3
สร้างบัคเก็ตบน Amazon S3
สร้างบัคเก็ตบน Amazon S3
สร้างบัคเก็ตบน Amazon S3
สร้างบัคเก็ตบน Amazon S3
  1. ค้นหา S3 ในแถบค้นหาของ AWS
  2. ในหน้า Amazon S3 ให้คลิกที่ปุ่ม "สร้างที่เก็บข้อมูล" เพื่อเริ่มต้น
  3. กรอกแบบฟอร์มป๊อปอัปที่ปรากฏขึ้นพร้อมข้อมูลต่อไปนี้:

    • ชื่อบัคเก็ต: seroma-bucket (ต้องไม่ซ้ำกันในบัคเก็ต Amazon S3 ที่มีอยู่ทั้งหมด)
    • ภูมิภาค: สหรัฐอเมริกาฝั่งตะวันตก (ออริกอน)
    • การตั้งค่าการคัดลอก: (ละเว้น)
  4. สำหรับขั้นตอนที่ 2 ถึง 3 ให้ข้ามไปโดยคลิก "ถัดไป" เนื่องจากจะไม่มีอะไรเปลี่ยนแปลง ในขั้นตอนที่ 4 คลิก "สร้างที่เก็บข้อมูล"
  5. หลังจากสร้างแล้ว คุณควรเห็นที่เก็บข้อมูลของคุณในหน้าแรก

ขั้นตอนที่ 13: สร้างนโยบาย AWS (ตอนที่ 1)

สร้างนโยบาย AWS (ตอนที่ 1)
สร้างนโยบาย AWS (ตอนที่ 1)
สร้างนโยบาย AWS (ตอนที่ 1)
สร้างนโยบาย AWS (ตอนที่ 1)
สร้างนโยบาย AWS (ตอนที่ 1)
สร้างนโยบาย AWS (ตอนที่ 1)
  1. คลิกที่ถังที่คุณสร้างขึ้นเพื่อเข้าสู่หน้าด้านบน จากนั้นไปที่ "นโยบายที่เก็บข้อมูล" ใต้แท็บ "สิทธิ์"
  2. ถัดไป คลิกลิงก์ "ตัวสร้างนโยบาย" ที่ด้านล่างของหน้าเพื่อสร้างนโยบาย AWS ของคุณ
  3. ในแบบฟอร์ม ให้ป้อนค่าต่อไปนี้:

    • ประเภทของนโยบาย: นโยบายบัคเก็ต S3
    • ผล: อนุญาต
    • อาจารย์ใหญ่: *
    • บริการ AWS: Amazon S3
    • การดำเนินการ: GetObject
    • ชื่อทรัพยากร Amazon (ARN): arn:aws:s3:::seroma-bucket
  4. หลังจากกรอกข้อมูลแล้ว ให้คลิกที่ Add Statement
  5. คลิกที่ปุ่ม "สร้างนโยบาย"

ขั้นตอนที่ 14: สร้างนโยบาย AWS (ตอนที่ 2)

สร้างนโยบาย AWS (ตอนที่ 2)
สร้างนโยบาย AWS (ตอนที่ 2)
สร้างนโยบาย AWS (ตอนที่ 2)
สร้างนโยบาย AWS (ตอนที่ 2)
สร้างนโยบาย AWS (ตอนที่ 2)
สร้างนโยบาย AWS (ตอนที่ 2)
สร้างนโยบาย AWS (ตอนที่ 2)
สร้างนโยบาย AWS (ตอนที่ 2)
  1. คัดลอกรหัสที่สร้างและคลิกปิด
  2. กลับไปที่ตัวแก้ไขนโยบายบัคเก็ต Amazon S3 ของคุณแล้ววางโค้ดที่คัดลอกไว้ก่อนหน้านี้
  3. เพิ่ม “/*” ลงในโค้ดที่อยู่ด้านหลังรหัสทรัพยากร เช่นเดียวกับในภาพด้านบน จากนั้นคลิกบันทึก
  4. หลังจากทำเช่นนั้น ที่เก็บข้อมูลของคุณจะตั้งค่าสำเร็จและพร้อมใช้งาน

ขั้นตอนที่ 15: การสร้างตารางสำหรับ DynamoDB

การสร้างตารางสำหรับ DynamoDB
การสร้างตารางสำหรับ DynamoDB
การสร้างตารางสำหรับ DynamoDB
การสร้างตารางสำหรับ DynamoDB
  1. ค้นหา DynamoDB ในแถบค้นหาของ AWS Services
  2. คลิกที่ "สร้างตาราง" และสร้าง 3 ตารางที่มีข้อมูลด้านล่าง: (เฉพาะ "ชื่อตาราง" และ "คีย์หลัก" เท่านั้นที่จะถูกเปลี่ยน)

    • accesslog, pk datetimevalue
    • สถานะห้อง pk datetimevalue
    • ข้อมูลพนักงาน pk username

ขั้นตอนที่ 16: Roomstatus.py

Roomstatus.py
Roomstatus.py
Roomstatus.py
Roomstatus.py
Roomstatus.py
Roomstatus.py
Roomstatus.py
Roomstatus.py

ส่วนนี้ประกอบด้วยรหัสสำหรับ roomstatus.py ซึ่งเขียนข้อมูลทั้งหมดเกี่ยวกับห้องเซิร์ฟเวอร์เองทุกนาที ซึ่งรวมถึงอุณหภูมิ ความชื้น การเคลื่อนไหว (รูปภาพและวิดีโอหากเป็นจริง) และบันทึกการเข้าถึง นอกจากนี้ยังเขียนข้อมูลไปยัง Google Spreadsheet, ข้อมูลไปยัง DynamoDB, รูปภาพและวิดีโอ (ถ้ามี) ไปยัง S3, แสดงข้อมูลบนหน้าจอ LCD, ส่ง SMS และอีเมลเมื่อสงสัยว่ามีการฝ่าฝืน หรือเมื่ออุณหภูมิหรือความชื้นไม่สม่ำเสมอ.

ในการเรียกใช้ไฟล์ python ให้เปลี่ยนไดเร็กทอรีไปยังตำแหน่งของไฟล์และพิมพ์ในคอนโซล: "sudo python"

รูปที่ 2: ฟังก์ชันที่ประกาศให้อนุญาตการแจ้งเตือนทาง SMS และอีเมล และอัปโหลดไปยัง S3

Pic 3: ตัวแปรที่ประกาศสำหรับฟังก์ชันและ RPi ให้ทำงาน

รูปที่ 4: จุดเริ่มต้นของลูปที่ได้รับค่าอุณหภูมิและความชื้นจาก RPi นอกจากนี้ยังเขียนข้อมูลลงใน Google สเปรดชีต

Pic 5: ส่วนความปลอดภัยของลูป จะเปิดใช้งานตั้งแต่เวลา 19.00 น. ถึง 07.00 น. (นอกเวลาทำการ) เท่านั้น มันจะตรวจสอบการเคลื่อนไหวในช่วงหนึ่งนาที หากตรวจพบการเคลื่อนไหว ระบบจะถ่ายภาพและวิดีโอแล้วอัปโหลดไปยัง S3 พร้อมเขียนข้อมูลไปยัง DynamoDB เพื่อใช้อ้างอิงในภายหลัง หลังจากนั้นจะส่ง SMS และอีเมลหากมีสิ่งผิดปกติ

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

ขั้นตอนที่ 17: Rfid.py

Rfid.py
Rfid.py
Rfid.py
Rfid.py
Rfid.py
Rfid.py
Rfid.py
Rfid.py

ส่วนนี้ประกอบด้วยรหัสสำหรับ rfid.py ซึ่งเพิ่มฟังก์ชันการทำงานเพื่อติดตามเมื่อพนักงานเข้าถึงห้องเซิร์ฟเวอร์ นอกจากนี้ยังเป็นส่วนหนึ่งของด้านความปลอดภัยของ Seroma ซึ่งพนักงานไม่ได้รับอนุญาตให้เข้าถึงห้องเซิร์ฟเวอร์หลังเวลาทำการ เพื่อป้องกันการละเมิดข้อมูล นอกจากนี้ยังส่งอีเมลและ SMSs พนักงานทุกคนหากสงสัยว่ามีการละเมิด

รูปที่ 2: จุดเริ่มต้นของลอจิกเครื่องอ่าน RFID เมื่อใดก็ตามที่มีการสแกนการ์ดกับเครื่องอ่าน ระบบจะใช้รหัสเฉพาะ (uid) ของการ์ด หลังจากนั้นเราลองหาค่า uid ของการ์ดในตาราง staffdata เพื่อดูว่าการ์ดนั้นเป็นของพนักงานคนใด ภาพที่ 3: หากมี uid ของการ์ดในฐานข้อมูล มันจะตรวจสอบว่าเป็นระหว่าง office หรือไม่ นอกเวลาทำการ หากเป็นเช่นนั้น ระบบจะแจ้งเตือนพนักงานที่เหลือผ่านทาง SMS และอีเมลถึงที่อยู่อีเมลที่สมัครไว้ หากยังคงอยู่ในช่วงเวลาทำการ มันจะเขียนแถวไปยังตารางบันทึกการเข้าใช้งานในฐานข้อมูลพร้อมข้อมูลที่เกี่ยวข้อง นอกจากนี้ยังจะแสดงข้อความต้อนรับบนจอ LCD

ขั้นตอนที่ 18: Server.py

Server.py
Server.py
Server.py
Server.py
Server.py
Server.py

นี่คือไฟล์ server.py เราจะใช้เฟรมเวิร์ก Flask สำหรับเว็บพอร์ทัล ไฟล์ HTML ที่จะใส่ใน / templates ก็แนบมาด้วย

Pic 1: เส้นทางแรกสำหรับ Flask ที่กำหนดไว้ มันจะเปลี่ยนเส้นทางผู้ใช้ไปยังหน้าเข้าสู่ระบบหากพวกเขาไม่ได้เข้าสู่ระบบ และหน้าแดชบอร์ดหากพวกเขาอยู่ ยังกำหนดฟังก์ชั่นที่จะใช้ในคุณสมบัติสตรีมสด

รูปที่ 2, 3, 4: เส้นทางสำหรับขวด รับข้อมูลจากตาราง DynamoDB แล้วส่งคืนไปยังไฟล์ HTML เพื่อให้สามารถใช้งานได้

รูปที่ 5: 2 เส้นทางสุดท้ายสำหรับ Flask มันจัดการฟังก์ชั่นออกจากระบบและฟังก์ชั่นสตรีมสด นอกจากนี้ยังระบุพอร์ตที่เว็บไซต์จะทำงานด้วย

ขั้นตอนที่ 19: Telegram.py

Telegram.py
Telegram.py
Telegram.py
Telegram.py
Telegram.py
Telegram.py

ส่วนนี้ประกอบด้วยรหัสสำหรับบอทโทรเลขของ Seroma ใช้ไลบรารี telepot เพื่อแตะที่ Bot API ของ Telegram ทำงานโดยยอมรับคำค้นหาที่ได้รับและแสดงข้อมูลที่เกี่ยวข้องต่อผู้ใช้ ผู้ใช้สามารถพิมพ์ 'help' เพื่อดูรายการคำสั่งทั้งหมดได้

Pic 1, 2: ในการตั้งค่าบอทโทรเลข คุณต้องใช้ BotFather เพียงทำตามคำแนะนำเพื่อรับ HTTP API ที่เราต้องการในโค้ดของเรา

รูปที่ 4: ตัวอย่างฟังก์ชันที่รับข้อมูลจำนวนหนึ่งจากฐานข้อมูลตามคำขอของผู้ใช้

Pic 5: วิธีที่เราใช้อินพุตของผู้ใช้และตัดสินใจว่าจะเรียกใช้อะไรตามนั้น

ขั้นตอนที่ 20: สตรีมสด (camera_pi.py)

สตรีมสด (camera_pi.py)
สตรีมสด (camera_pi.py)
สตรีมสด (camera_pi.py)
สตรีมสด (camera_pi.py)
สตรีมสด (camera_pi.py)
สตรีมสด (camera_pi.py)

เราได้ใช้คุณลักษณะใหม่สำหรับระบบตรวจสอบห้องเซิร์ฟเวอร์ของเรา ซึ่งเป็นสตรีมสดของสิ่งที่เกิดขึ้นในห้องเซิร์ฟเวอร์ ซึ่งสามารถเข้าถึงได้ทุกที่ทุกเวลา วิธีการทำงานของสตรีมแบบสด: เป็นคุณลักษณะที่ทำใน Flask ร่วมกับ Pi Camera เฟรมวิดีโอจะถูกดาวน์โหลดตามที่เกิดขึ้นในชีวิตจริง ดังนั้นคุณจะเห็นได้ว่ามีการหน่วงเวลาเล็กน้อย (1-2 วินาที) เนื่องจากเฟรมวิดีโอถูกดาวน์โหลดและประกอบเข้าด้วยกัน ไม่สามารถทำได้หากไม่มีเธรด เนื่องจากเธรดพื้นหลังจะอ่านเฟรมจากกล้องและจัดเก็บเฟรมปัจจุบัน การรวมเฟรมทั้งหมดเข้าด้วยกันจะเป็นการส่งสตรีมแบบสด

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

Pic 3: นี่เป็นส่วนหนึ่งของไฟล์ server.py ของเราที่มีการเข้ารหัสส่วนสตรีมสด คลาสหลักที่เรานำเข้าสำหรับสิ่งนี้คือ Camera จากไฟล์ camera_pi.py ของเราที่ด้านบนสุดของไฟล์ server.py เรากำหนดฟังก์ชันที่ไดเร็กทอรีรากของเรา gen อย่างไรก็ตาม ฟังก์ชันนี้จะใช้ได้เฉพาะเมื่อเราไปที่ /video_feed ซึ่งเป็นที่ที่สตรีมแบบสดของเราอยู่ ซึ่งจะวนซ้ำผ่านฟังก์ชันนี้และส่งคืนสตรีมแบบสดบนหน้าเว็บ

แนะนำ: