สารบัญ:

วิธีสร้างตัวนับผู้คนด้วย Raspberry Pi และ Ubidots: 6 ขั้นตอน
วิธีสร้างตัวนับผู้คนด้วย Raspberry Pi และ Ubidots: 6 ขั้นตอน

วีดีโอ: วิธีสร้างตัวนับผู้คนด้วย Raspberry Pi และ Ubidots: 6 ขั้นตอน

วีดีโอ: วิธีสร้างตัวนับผู้คนด้วย Raspberry Pi และ Ubidots: 6 ขั้นตอน
วีดีโอ: Tutorial Platform IoT Ubidots & ESP8266 + DHT11 (Temperature/Relative humidity) : PDAControl 2024, กันยายน
Anonim
วิธีสร้างตัวนับคนด้วย Raspberry Pi และ Ubidots
วิธีสร้างตัวนับคนด้วย Raspberry Pi และ Ubidots
วิธีสร้างตัวนับผู้คนด้วย Raspberry Pi และ Ubidots
วิธีสร้างตัวนับผู้คนด้วย Raspberry Pi และ Ubidots

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

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

เมื่อเราส่งข้อมูลการนับจำนวนคนไปยัง Ubidots แล้ว เราสามารถสร้างกราฟที่ดีสำหรับการวิเคราะห์ รวมถึงการแจ้งเตือนทาง SMS/อีเมล

ขั้นตอนที่ 1: รับวัสดุที่เหมาะสม

ได้รับวัสดุที่เหมาะสม
ได้รับวัสดุที่เหมาะสม
ได้รับวัสดุที่เหมาะสม
ได้รับวัสดุที่เหมาะสม
ได้รับวัสดุที่เหมาะสม
ได้รับวัสดุที่เหมาะสม
ได้รับวัสดุที่เหมาะสม
ได้รับวัสดุที่เหมาะสม

เพื่อให้โครงการนี้เสร็จสมบูรณ์ คุณจะต้อง:

  1. ราสเบอร์รี่ Pi รุ่น B
  2. เซ็นเซอร์ PIR โดย Parallax
  3. USB WiFi Dongle ที่รองรับ Raspberry Pi
  4. ชุดแบตเตอรี่ USB สำหรับจ่ายไฟให้กับ Raspberry Pi (เป็นทางเลือกในกรณีที่คุณต้องการปล่อย Pi แบบไร้สายทั้งหมด)
  5. สายจัมเปอร์หญิง-หญิง 3 เส้น
  6. บัญชี Ubidots - หรือ - ใบอนุญาต STEM

ขั้นตอนที่ 2: การเดินสายไฟขึ้น

การเดินสายไฟ
การเดินสายไฟ
การเดินสายไฟ
การเดินสายไฟ

เซ็นเซอร์ตรวจจับความเคลื่อนไหว PIR ค่อนข้างใช้งานง่าย เพราะมีสามพินเท่านั้น:

  • วี+
  • GND
  • พินสัญญาณที่ส่งออก "1" เมื่อมีการเคลื่อนไหวและ "0" เมื่อไม่มี

ไม่จำเป็นต้องบัดกรีหรือเขียน I2C ที่ซับซ้อนหรือฟังก์ชันอนุกรมเพื่อตรวจจับสัญญาณนี้ เพียงเสียบสายเคเบิลเข้ากับหมุด GPIO ของ Raspberry Pi ของคุณโดยตรง และใช้งานได้!

ขั้นตอนที่ 3: ปลอก

ปลอก
ปลอก
ปลอก
ปลอก

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

ขั้นตอนที่ 4: การเข้ารหัส RPi. ของคุณ

ณ จุดนี้ เราจะถือว่าคุณได้ตั้งค่าพื้นฐานของ Raspberry Pi แล้ว และคุณกำลังดูบรรทัดคำสั่ง Linux ถ้าไม่ เราแนะนำให้อ่านคู่มือนี้ก่อน คุณสามารถตรวจสอบโพสต์นี้เกี่ยวกับการใช้ Wicd เพื่อตั้งค่า WiFi ของ Raspberry Pi ของคุณได้

เริ่มต้นด้วยการทำให้แน่ใจว่าเรามีไลบรารีที่จำเป็นทั้งหมด:

$ sudo apt-get update$ sudo apt-get upgrade $ sudo apt-get install python-setuptools $ sudo easy_install pip $ pip ติดตั้ง ubidots

สร้างไฟล์ใหม่ชื่อ "peoplecounter.py":

$ sudo nano peoplecounter.py

และเขียนโค้ดด้านล่างลงไป ตรวจสอบให้แน่ใจว่าได้แทนที่ค่าของคีย์ API และ ID ตัวแปรด้วยค่าในบัญชี Ubidots ส่วนตัวของคุณ (หมายเหตุ: รหัสไม่หรูหราเกินไป แต่ฉันไม่ใช่นักพัฒนา Python เป็นแค่คนฮาร์ดแวร์:)

สคริปต์ประกอบด้วยลูปที่ตรวจสอบสถานะของพิน #7 (เซ็นเซอร์ตรวจจับความเคลื่อนไหว) หากอ่าน "1" ซึ่งหมายความว่ามีการเคลื่อนไหว ตัวแปร "จำนวนคน" จะเพิ่มขึ้นและรอ 1.5 วินาทีเพื่อให้เซ็นเซอร์ตรวจจับความเคลื่อนไหวกลับสู่สภาวะปกติ ดำเนินการ 10 ครั้ง ตรวจสอบให้แน่ใจว่าแต่ละรอบมีเวลาอย่างน้อย 1 วินาที จากนั้นจึงส่ง "การเคลื่อนไหว" ทั้งหมดไปยัง Ubidots หากคุณต้องการปรับเทียบ People Counter คุณควรเล่นกับบรรทัด "time.sleep" ด้วยค่าอื่นๆ

จาก ubidots นำเข้า ApiClient

นำเข้า RPi. GPIO เป็น GPIO

เวลานำเข้า

GPIO.setmode(GPIO. BCM)

GPIO.setup(7, GPIO. IN)

ลอง:

api =ApiClient("a21ebaf64e14d195c0044fcc3b9f6dab9d653af3")

คน = api.get_variable("5238cec3f91b282c7357a140")

ยกเว้น: พิมพ์ "ไม่สามารถเชื่อมต่อกับ API ตรวจสอบการเชื่อมต่ออินเทอร์เน็ตของคุณ"

ตัวนับ = 0

คนv = 0

ในขณะที่(1):

การมีอยู่ = GPIO.input (7)

ถ้า (การแสดงตน):

จำนวนคน += 1

การมีอยู่ = 0

เวลานอน(1.5)

เวลานอน(1)

เคาน์เตอร์ += 1

ถ้า(ตัวนับ==10):

พิมพ์คนนับ

people.save_value({'value':peoplecount})

ตัวนับ = 0

คนv = 0

ขั้นตอนที่ 5: แสดงข้อมูลของคุณ

แสดงข้อมูลของคุณ
แสดงข้อมูลของคุณ
แสดงข้อมูลของคุณ
แสดงข้อมูลของคุณ
แสดงข้อมูลของคุณ
แสดงข้อมูลของคุณ
แสดงข้อมูลของคุณ
แสดงข้อมูลของคุณ

สุดท้าย ไปที่แดชบอร์ด Ubidots ของคุณ และเพิ่มวิดเจ็ตประเภท "คำชี้แจง" ซึ่งจะแสดงจำนวนคนที่ตรวจพบภายในกรอบเวลาที่คุณระบุ

ขั้นตอนที่ 6: การสรุป

ห่อ
ห่อ

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

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

แนะนำ: