สารบัญ:

IoT - ตัวรายงานอารมณ์แบบพกพา: 4 ขั้นตอน
IoT - ตัวรายงานอารมณ์แบบพกพา: 4 ขั้นตอน

วีดีโอ: IoT - ตัวรายงานอารมณ์แบบพกพา: 4 ขั้นตอน

วีดีโอ: IoT - ตัวรายงานอารมณ์แบบพกพา: 4 ขั้นตอน
วีดีโอ: อุปกรณ์ IoT (Ep.1) ใช้ Google Nest Mini ร่วมกับอุปกรณ์ IoT ต่างๆในตลาด ให้สั่งงานด้วยเสียงภาษาไทยได้ 2024, พฤศจิกายน
Anonim
IoT - นักข่าวอารมณ์แบบพกพา
IoT - นักข่าวอารมณ์แบบพกพา

สิ่งที่เราต้องการ:

  • Raspberry Pi กับ Raspbian
  • เซ็นเซอร์สัมผัสจาก adafruit
  • แหล่งพลังงาน (แบตเตอรี่/กระแสตรง)
  • อีเธอร์เน็ตหรือ WiFi สำหรับ Raspberry Pi
  • คอมพิวเตอร์เครื่องอื่น

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

การตั้งค่าฮาร์ดแวร์ Raspberry Pi ของเรา
การตั้งค่าฮาร์ดแวร์ Raspberry Pi ของเรา
การตั้งค่าฮาร์ดแวร์ Raspberry Pi ของเรา
การตั้งค่าฮาร์ดแวร์ Raspberry Pi ของเรา

ขั้นแรกให้เชื่อมต่อเซ็นเซอร์สัมผัสของเรากับพิน GPIO บน Raspberry Pi ของเรา ใช้สายเคเบิลที่ยืดหยุ่นได้

ระบุ 3 พินบนเซ็นเซอร์ของเรา:

  • GND - เชื่อมต่อกับพินกราวด์
  • VCC - เชื่อมต่อกับพิน 5V
  • SIG - เชื่อมต่อกับขาสัญญาณ

เราจะใช้ 5V, กราวด์ และ GPIO 18 บนราสเบอร์รี่ pi ของเราในตัวอย่างนี้

ขั้นตอนที่ 2: การตั้งค่าสภาพแวดล้อมของเราบน Raspberry Pi

การตั้งค่าสภาพแวดล้อมของเราบน Raspberry Pi
การตั้งค่าสภาพแวดล้อมของเราบน Raspberry Pi

รับที่อยู่ IP ของราสเบอร์รี่ Pi ของเรา

จากนั้นเชื่อมต่อกับ raspberry pi ของเราโดยใช้ ssh:

ssh username@ipaddress

จากนั้นพิมพ์รหัสผ่านของเรา

เมื่อเราเข้าไปแล้วให้ติดตั้ง apache2 เป็นเว็บเซิร์ฟเวอร์ของเราโดยพิมพ์ใน:

sudo apt-get ติดตั้ง apache2

ขั้นตอนที่ 3: ออกแบบโค้ด Python เพื่ออ่านอินพุตจากเซนเซอร์ของเรา

ออกแบบโค้ด Python เพื่ออ่านอินพุตจากเซนเซอร์ของเรา
ออกแบบโค้ด Python เพื่ออ่านอินพุตจากเซนเซอร์ของเรา

ออกแบบ

ในโค้ดตัวอย่างของเรา เราใช้คำสั่งที่แตกต่างกันสองสามคำสั่ง

เพื่อแสดงว่าเรามีความสุข เรากด 2 ครั้ง

เพื่อแสดงว่าเราเศร้า เราแตะสั้นๆ หนึ่งครั้งและกดค้างหนึ่งครั้ง

เพื่อบ่งบอกว่าเราสับสน เราแตะสั้นๆ หนึ่งครั้ง รอจังหวะ จากนั้นแตะสั้นๆ 2 ครั้ง เพื่อระบุว่าเรามีความสุข เราแตะสั้นๆ หนึ่งครั้ง เว้นช่องว่างสั้นๆ หนึ่งครั้ง และกดค้างหนึ่งครั้ง

เพื่อบ่งบอกว่าเราเบื่อ เรา 3 ก๊อกสั้นๆ

กำลังแปลคำสั่งเหล่านี้เป็นคำสั่งสตริง:(t สำหรับการแตะสั้น, T สำหรับการกดแบบยาว, g สำหรับช่องว่างสั้น, G สำหรับช่องว่างยาว)

มีความสุข: TgT

เศร้า: tgT

สับสน: tGtgt

เบื่อ: tgtgt

จากนั้นเราจะให้โค้ดของเราแสดงอารมณ์ปัจจุบันของเราเป็นไฟล์ html ที่เป็นมิตรกับเบราว์เซอร์สำหรับให้บริการ

รหัส

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

GPIO. การล้างข้อมูล ()

GPIO.setmode(GPIO. BCM) GPIO.setup(18, GPIO. IN)

touch_count = 0

touch_state = 0 touch_duration = 0 gap_duration = 0 current_cmd = ""

def cmd ():

global current_cmd if current_cmd[-3:] == "TgT": current_cmd = "" mood("Sad") if current_cmd[-3:] == "tgT": current_cmd = "" mood("Happy") ถ้า current_cmd [-5:] == "tGtgt": current_cmd = "" อารมณ์ ("สับสน") ถ้า current_cmd[-5:] == "tgtgt": current_cmd = "" อารมณ์ ("เบื่อ")

def อารมณ์ (อารมณ์):

ไฟล์ = open("index.html", "w") html = """

นักข่าวอารมณ์แบบพกพา

เฮ้ อารมณ์ล่าสุดของฉันคือ

{}

"""

file.write(html.format(อารมณ์))

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

time.sleep(0.001) if(GPIO.input(18)): if touch_state==0: if gap_duration > 2000: gap_duration = 0 if gap_duration > 200: current_cmd = current_cmd + "G" อื่น: current_cmd = current_cmd + "g " gap_duration = 0 touch_state = 1 touch_count = touch_count + 1 ถ้า touch_state==1: touch_duration = touch_duration + 1 อื่น ๆ: ถ้า gap_duration 200: current_cmd = current_cmd + "T" อื่น: current_cmd = current_cmd + "t" touch_duration = 0 cmd()

GPIO. การล้างข้อมูล ()

ตั้งค่าให้ทำงานกับเว็บเซิร์ฟเวอร์ของเรา

พิมพ์หรืออัปโหลดไฟล์ python ด้านบนไปยังตำแหน่งเว็บเซิร์ฟเวอร์ของเรา

ซึ่งมีค่าเริ่มต้นเป็น /var/www/html

cd /var/www/html

sudo nano touch.py

แล้วพิมพ์โค้ดด้านบน

ขั้นตอนที่ 4: เริ่มเซิร์ฟเวอร์ของเราเพื่อดูการใช้งานจริง

เริ่มเซิร์ฟเวอร์ของเราเพื่อดูการใช้งานจริง!
เริ่มเซิร์ฟเวอร์ของเราเพื่อดูการใช้งานจริง!

cd /var/www/html

sudo python touch.py

จากนั้นพิมพ์ที่อยู่ IP สำหรับ Raspberry Pi ของเรา จากนั้นเราควรเห็นนักข่าวอารมณ์ของเราทำงาน!

ลองใช้คำสั่งสัมผัสประเภทต่างๆ และหน้าควรรีเฟรชอัตโนมัติเพื่อสะท้อนถึงสิ่งนั้น!

แนะนำ: