สารบัญ:

IOT CA2 บ้าน/ห้องอัจฉริยะที่ปลอดภัย: 8 ขั้นตอน
IOT CA2 บ้าน/ห้องอัจฉริยะที่ปลอดภัย: 8 ขั้นตอน

วีดีโอ: IOT CA2 บ้าน/ห้องอัจฉริยะที่ปลอดภัย: 8 ขั้นตอน

วีดีโอ: IOT CA2 บ้าน/ห้องอัจฉริยะที่ปลอดภัย: 8 ขั้นตอน
วีดีโอ: Smart Appliances Home Gadgets For Every Home Cool Gadgets EP485 #smartgadgets #gadgets #Shorts 2024, กรกฎาคม
Anonim
IOT CA2 บ้าน/ห้องอัจฉริยะที่ปลอดภัย
IOT CA2 บ้าน/ห้องอัจฉริยะที่ปลอดภัย
IOT CA2 บ้าน/ห้องอัจฉริยะที่ปลอดภัย
IOT CA2 บ้าน/ห้องอัจฉริยะที่ปลอดภัย

สารบัญ

1 ภาพรวมของ Smart Secure Home

2 ข้อกำหนดฮาร์ดแวร์ + การตั้งค่า

3 ข้อกำหนดซอฟต์แวร์ + การตั้งค่า

4 ลงทะเบียนราสเบอร์รี่เป็นสิ่งของ

5 สร้างถัง S3

6 การตั้งค่า DynamoDB + กฎ

7 ผลลัพธ์ที่คาดหวัง

8 รหัส (จาก Pastebin)

9 ข้อมูลอ้างอิง

ภาพรวม

ยินดีต้อนรับ! โครงการ Raspberry Pi นี้เป็นระบบการจัดการ "บ้านอัจฉริยะ" พร้อมคุณสมบัติด้านความปลอดภัยบางอย่าง โครงการสามารถวัดค่าต่างๆ เช่น อุณหภูมิและแสง ส่วนความปลอดภัยประกอบด้วย Buzzer, ระบบสแกนบัตร (Authorise card), กล้องในร่มและกลางแจ้งรวมถึงระบบแจ้งเตือนทาง SMS คำแนะนำต่อไปนี้จะครอบคลุมการตั้งค่าของโครงการทั้งหมด

โดยทั่วไป เรามีตัวต้านทานไดโอดแสงและเซ็นเซอร์ DHT11 เพื่อรับอุณหภูมิและค่าแสง จากนั้น ค่าจะถูกเผยแพร่ไปยัง "ห้องอัจฉริยะ/เซ็นเซอร์/ค่า" และจะมีการสมัครสมาชิกหัวข้อเพื่อตรวจสอบว่ามีการเผยแพร่ค่าหรือไม่ เมื่อมีการเผยแพร่ค่า ค่าจะถูกส่งไปยังตาราง DynamoDB ของเราด้วย ค่าที่เก็บไว้ภายใน DynamoDB สามารถดึงออกมาและลงจุดเป็นกราฟที่แสดงค่าตามเวลาจริงในอินเทอร์เฟซบนเว็บของเรา (กราฟแสง) นอกจากการใช้เซ็นเซอร์เพื่อรับค่าเพื่อพล็อตกราฟของเราเพื่อการวิเคราะห์แล้ว เซ็นเซอร์ dht11 ของเรายังใช้เป็นเครื่องตรวจจับ "ไฟ" อีกด้วย เมื่ออุณหภูมิถึงระดับหนึ่งที่อาจลุกเป็นไฟ เรามีสคริปต์ชื่อ publishHeat.py ที่จะเผยแพร่อุณหภูมิไปยังหัวข้อ 'ห้องอัจฉริยะ/เซ็นเซอร์/ไฟ' กระดานทดลองซึ่งเป็นสัญลักษณ์ของภายนอกอพาร์ตเมนต์จะสมัครรับข้อมูลนั้น และมีไฟ LED ติดเพื่อแสดงว่าอาจมีไฟไหม้ได้ สัญญาณเตือนจะดับลงเช่นเดียวกับ SMS เพื่อแจ้งเตือนเจ้าของบ้านเมื่ออาจมีไฟไหม้

ในการเข้าบ้าน/ห้อง ผู้ใช้จะต้องแตะบัตรที่เครื่องสแกน RFID หากการ์ดที่แตะไม่ถูกต้อง เสียงเตือนจะดังขึ้นจนกว่าจะแตะการ์ดที่มีข้อมูลรับรองที่ถูกต้อง นอกจากนี้ เมื่อเคาะการ์ดที่ไม่ถูกต้อง กล้องวงจรปิดภายนอกจะถ่ายรูปผู้ใช้ที่เคาะการ์ดและอัปโหลดภาพไปยังบัคเก็ต S3 เจ้าของบ้านจะได้รับ SMS แจ้งว่ามีคนพยายามจะเข้ามาในบ้านของเขา/เธอ ห้องยังมีไฟ LED ด้านนอกเพื่อติดป้ายหากประตูปลดล็อค/ล็อค เมื่อประตูถูกล็อค ไฟ LED สีเหลืองจะติดสว่าง เมื่อปลดล็อค ไฟ LED สีเขียวจะติดสว่าง เมื่อเคาะบัตรที่ได้รับอนุญาต ประตูจะปลดล็อกเป็นเวลา 15 วินาที และเมื่อไฟ LED สีเขียวติดสว่าง จากนั้นจะกลับเข้าสู่โหมดปลดล็อกพร้อมไฟ LED สีเหลืองติดสว่าง

ผู้ใช้สามารถดูข้อมูลที่รวบรวมผ่านแดชบอร์ดใน Node-Red ที่แสดงค่าการวัดปัจจุบันนอกเหนือจากการแสดงกราฟิกของมาตรวัดและกราฟในอดีต แดชบอร์ดยังมีคุณสมบัติเพิ่มเติม เช่น นาฬิกาที่แสดงข้อมูลปัจจุบันและเวลา และสวิตช์เพื่อควบคุมเครื่องใช้ไฟฟ้าต่างๆ จากระยะไกล ซึ่งแสดงเป็น LED และออด

สุดท้ายนี้ เรายังมีฟีเจอร์บอทโทรเลขด้วย บอทโทรเลขสามารถถ่ายภาพสิ่งที่เกิดขึ้นภายในห้องจากระยะไกลและเก็บไว้ในถัง S3 รูปภาพเหล่านี้จะมีป้ายกำกับอยู่ภายในโฟลเดอร์ชื่อ Homed/User บอทโทรเลขจะสามารถควบคุมไฟ LED ในห้องจากระยะไกลได้เช่นกัน

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

ข้อกำหนดฮาร์ดแวร์ + การตั้งค่า
ข้อกำหนดฮาร์ดแวร์ + การตั้งค่า
ข้อกำหนดฮาร์ดแวร์ + การตั้งค่า
ข้อกำหนดฮาร์ดแวร์ + การตั้งค่า

เชื่อมต่อส่วนประกอบต่อไปนี้กับราสเบอร์รี่ pis 2 ชิ้นของคุณตามที่แสดงในแผนภาพด้านบน

2 x ราสเบอร์รี่ Pi

3 x เขียงหั่นขนม

1 x MCP3008 ADC

1 x DhT 11 เซ็นเซอร์

1 x LDR

1 x เครื่องอ่านบัตร RFID/NFC MFRC522

4 x LED

1 x หน้าจอ LCD

ตัวต้านทาน 3 x 10k

ตัวต้านทาน 4 x 220/330

1 x ปุ่ม

1 x Buzzer

34 x สายเคเบิลตัวผู้ถึงตัวผู้

11 x สายเคเบิลตัวผู้ถึงตัวเมีย

ขั้นตอนที่ 2: ข้อกำหนดซอฟต์แวร์ + การตั้งค่า

ข้อกำหนดซอฟต์แวร์ + การตั้งค่า
ข้อกำหนดซอฟต์แวร์ + การตั้งค่า
ข้อกำหนดซอฟต์แวร์ + การตั้งค่า
ข้อกำหนดซอฟต์แวร์ + การตั้งค่า
ข้อกำหนดซอฟต์แวร์ + การตั้งค่า
ข้อกำหนดซอฟต์แวร์ + การตั้งค่า

พิมพ์คำสั่งต่อไปนี้ลงในเทอร์มินัล raspberry pi ของคุณเพื่อให้แน่ใจว่าได้ติดตั้งแล้ว

หากซอฟต์แวร์ใดต่อไปนี้ถูกดาวน์โหลดลงใน pi ของคุณแล้ว sudo pip install (ชื่อซอฟต์แวร์) --upgrade จะทำการอัปเดตซอฟต์แวร์ดังกล่าว

- sudo pip ติดตั้ง gevent

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

- sudo pip ติดตั้ง nexmo

- sudo pip install --upgrade --force-reinstall pip==9.0.3

- sudo pip ติดตั้ง AWSIoTPythonSDK --upgrade --disable-pip-version-check

- sudo pip ติดตั้ง -- อัพเกรด pip

- sudo apt-get ติดตั้ง python-dev

- sudo pip ติดตั้ง boto3

- sudo pip ติดตั้ง botocore

- sudo pip ติดตั้ง numpy

- ซีดี ~

โคลน git

cd ~/SPI-Py

sudo python setup.py ติดตั้ง"

- ซีดี ~

โคลน git

cd ~/MFRC522-python

sudo python setup.py ติดตั้ง"

- sudo nano /boot/config.txt ตรวจสอบว่าบรรทัด device_tree_param=spi=on

dtoverlay=spi-bcm2835 อยู่ข้างใน มิฉะนั้นให้เพิ่มเข้าไป

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

การลงทะเบียนสิ่งของ
การลงทะเบียนสิ่งของ
การลงทะเบียนสิ่งของ
การลงทะเบียนสิ่งของ
การลงทะเบียนสิ่งของ
การลงทะเบียนสิ่งของ
การลงทะเบียนสิ่งของ
การลงทะเบียนสิ่งของ

ก) อันดับแรก ไปที่ IoT Core ภายในเว็บไซต์ AWS โดยคลิกที่บริการ จากนั้นคลิก IoT Core

b) ที่แถบนำทางภายใต้การจัดการ เลือกสิ่งของและเลือกลงทะเบียนสิ่งของ

c) เลือกสร้างสิ่งเดียว

d) ป้อนชื่อสิ่งของ เช่น MyRaspberryPi2 ปล่อยให้ฟิลด์ที่เหลือเป็นค่าเริ่มต้น คลิกถัดไปที่ด้านล่างของหน้า

จ) คลิกสร้างใบรับรอง ดาวน์โหลดไฟล์ทั้งสี่ สำหรับไฟล์ root CA ให้ดาวน์โหลด Amazon Root CA 1 และบันทึกลงในแผ่นจดบันทึก

f) เมื่อเสร็จแล้ว ย้ายสี่ไฟล์ไปยังไดเร็กทอรีใน raspberry pi

g) คลิกเปิดใช้งาน

h) หลังจากคลิกที่นโยบายการแนบ คุณจะเข้าสู่หน้าต่อไปนี้ คลิกลงทะเบียนสิ่งนโยบายจะถูกสร้างขึ้นในภายหลัง

i) บนแดชบอร์ด iot ให้ไปที่นโยบายภายใต้ส่วนความปลอดภัย คลิกสร้างนโยบาย

j) ป้อนชื่อสำหรับนโยบายของคุณ สำหรับตัวอย่างนี้ จะเป็น MyRaspberryPiSecurityPolicy และป้อนข้อมูลต่อไปนี้ภายใต้คำสั่งเพิ่ม จากนั้นคลิกที่สร้าง

k) บนแดชบอร์ด iot ให้ไปที่ใบรับรองภายใต้ส่วนความปลอดภัย เลือกใบรับรองที่คุณสร้างไว้ก่อนหน้านี้ และคลิกแนบนโยบายจากดรอปดาวน์การดำเนินการ แนบนโยบายที่คุณสร้างไว้ก่อนหน้านี้

l) เลือกใบรับรองที่คุณสร้างไว้ก่อนหน้านี้อีกครั้ง และคลิกสิ่งที่แนบมา แนบนโยบายที่คุณสร้างไว้ก่อนหน้านี้ แนบสิ่งที่คุณสร้างไว้ก่อนหน้านี้

ขั้นตอนที่ 4: การสร้าง S3 Bucket

การสร้างที่เก็บข้อมูล S3
การสร้างที่เก็บข้อมูล S3
การสร้างที่เก็บข้อมูล S3
การสร้างที่เก็บข้อมูล S3
การสร้างที่เก็บข้อมูล S3
การสร้างที่เก็บข้อมูล S3
การสร้างที่เก็บข้อมูล S3
การสร้างที่เก็บข้อมูล S3

ก) เราจะเริ่มต้นด้วยการใช้ฟังก์ชันการค้นหาในคอนโซลการจัดการ AWS และค้นหา "s3"

b) คลิกที่สร้างที่เก็บข้อมูล

c) พิมพ์ชื่อสำหรับที่เก็บข้อมูล สำหรับตัวอย่างนี้ เราจะใช้ชื่อ “sp-p1703263” เราจะเลือกภูมิภาค “US EAST(N. VIRGINIA)” ซึ่งก็คือ us-east-1 เสร็จแล้วคลิกสร้าง

d) ที่เก็บข้อมูลที่สร้างขึ้นใหม่จะปรากฏในแดชบอร์ด

ขั้นตอนที่ 5: การสร้างตาราง DynamoDB และตั้งกฎ

การสร้างตาราง DynamoDB และตั้งกฎ
การสร้างตาราง DynamoDB และตั้งกฎ
การสร้างตาราง DynamoDB และตั้งกฎ
การสร้างตาราง DynamoDB และตั้งกฎ
การสร้างตาราง DynamoDB และตั้งกฎ
การสร้างตาราง DynamoDB และตั้งกฎ
การสร้างตาราง DynamoDB และตั้งกฎ
การสร้างตาราง DynamoDB และตั้งกฎ

ก) ขั้นแรก ไปที่บริการของ AWS โดยคลิกที่

บริการแล้ว DynamoDB คลิกสร้างตาราง

b) ป้อนชื่อตาราง "iotdata" และคีย์หลัก "deviceid" ด้วยคีย์การจัดเรียง "datetimeid" จากนั้นคลิกสร้างที่ด้านล่างของหน้า

c) หลังจากนั้น ให้กลับไปที่หน้า IoT Core คลิก Act จากนั้นคลิกสร้างกฎใหม่

d) สร้างกฎด้วยชื่อ “MyDynamoDBRule” ภายใต้หัวข้อคำสั่งการสืบค้นกฎ ให้ป้อน “เซ็นเซอร์/ไฟ”

e) ในส่วน Set one or more actions ให้คลิกที่ add action คลิกที่ “split message into many columns of a database table” คลิกที่กำหนดค่าการดำเนินการ ภายใต้ชื่อตาราง เลือก iotdata ภายใต้ชื่อบทบาท IAM ให้เลือกบทบาทที่คุณสร้างไว้ก่อนหน้านี้ซึ่งก็คือ “dynamodb_role” คลิกเพิ่มการดำเนินการ จากนั้นสร้างกฎ

f) คลิกที่สร้างกฎ

ขั้นตอนที่ 6: ผลลัพธ์ที่คาดหวัง

ผลลัพธ์ที่คาดหวัง
ผลลัพธ์ที่คาดหวัง
ผลลัพธ์ที่คาดหวัง
ผลลัพธ์ที่คาดหวัง

กลางแจ้ง

สำหรับ pi ที่เป็นตัวแทนของห้องภายนอก สคริปต์ heatdetector.py และ AccessDoor.py จะถูกเรียกใช้ หากการ์ดที่ไม่ถูกต้องแตะบนเครื่องสแกน RFID การเตือนจะดับลง โดยที่ไฟ LED สีเหลืองยังคงสว่างอยู่ SMS จะถูกส่งไปยังโทรศัพท์ของเจ้าของบ้านเพื่อแจ้งการบุกรุกที่อาจเกิดขึ้น นาฬิกาปลุกก็จะมีเสียงเช่นกัน รูปภาพจะถูกถ่ายและอัปโหลดไปยัง S3 Bucket ทันที หากมีการอนุญาตการเคาะการ์ด ไฟ LED สีเขียวจะสว่างขึ้นและผู้ใช้สามารถเข้าไปได้ ประตูจะถูกล็อคอีกครั้งหลังจากผ่านไป 15 วินาที (ไฟ LED สีเขียวจะดับและไฟ LED สีเหลืองจะสว่างขึ้น) หากอุณหภูมิภายในห้อง/บ้านสูงเกินไป (สำหรับอุณหภูมิที่เราคิดว่าเป็นบ้าน/ห้องที่อาจเกิดไฟไหม้) เราจะส่ง SMS แจ้งเตือนไปยังเจ้าของบ้าน นาฬิกาปลุกจะส่งเสียงพร้อมไฟ LED สีแดงด้านนอกติดสว่าง

ในร่ม

สำหรับ pi ที่เป็นตัวแทนของห้องในอาคาร สคริปต์ publishHeat.py, server.py, pubsub.py, telegrambot.py จะถูกเรียกใช้ Pubsub.py จะเก็บค่าเรียลไทม์ไว้ใน DynamoDB เมื่อเรียกใช้ server.py ให้พิมพ์ที่อยู่ IP ของ rpi:5000 ในเบราว์เซอร์ คุณจะถูกนำไปยังส่วนต่อประสานเว็บของเรา เรามีกราฟที่แสดงค่าแสงแบบเรียลไทม์ที่ได้รับจากเซ็นเซอร์ของเราใน pubsub.py ลงใน DynamoDB นอกจากนี้ ค่าแสงในอดีตจะแสดงในอินเทอร์เฟซเว็บของเราด้วย publishHeat.py จะเผยแพร่ค่าอุณหภูมิไปยังเขียงหั่นขนมกลางแจ้งเพื่อจุดประสงค์ในการเซ็นเซอร์อัคคีภัย telegrambot.py จะทำให้ผู้ใช้สามารถควบคุมการเปิด/ปิดไฟ LED ในห้อง/บ้านได้จากระยะไกล รวมทั้งถ่ายภาพสิ่งที่เกิดขึ้นภายในและอัปโหลดภาพไปยังถัง S3

เพื่อให้เห็นภาพได้ดีขึ้นว่าผลลัพธ์ที่คาดหวังควรเป็นอย่างไร:

ขั้นตอนที่ 7: ซอร์สโค้ด (Pastebin)

ซอร์สโค้ด (Pastebin)
ซอร์สโค้ด (Pastebin)

คลิกที่ลิงค์ ประกอบด้วยซอร์สโค้ดที่จำเป็นทั้งหมด:

ขั้นตอนที่ 8: การอ้างอิง

อ้างอิง
อ้างอิง

ไอโอทไกด์. (2019). ส่ง SMS จาก Raspberry Pi โดยใช้ Python [ออนไลน์] มีจำหน่ายที่: https://iotguider.in/raspberrypi/send-sms-from-raspberry-pi-python/ [เข้าถึง 21 ส.ค. 2019]

แนะนำ: