Cuprins:

IoT - Portable Mood Reporter: 4 pași
IoT - Portable Mood Reporter: 4 pași

Video: IoT - Portable Mood Reporter: 4 pași

Video: IoT - Portable Mood Reporter: 4 pași
Video: S06 Ep01 - De ce inteligența e mai mult decât IQ și cum arată inteligența emoțională 2024, Iulie
Anonim
IoT - Portable Mood Reporter
IoT - Portable Mood Reporter

Lucruri de care vom avea nevoie:

  • Raspberry Pi cu Raspbian
  • Senzor tactil de la adafruit
  • Sursa de alimentare (baterie / DC)
  • Ethernet sau WiFi pentru Raspberry Pi
  • Un alt computer

Pasul 1: Configurarea hardware-ului nostru Raspberry Pi

Configurarea hardware-ului nostru Raspberry Pi
Configurarea hardware-ului nostru Raspberry Pi
Configurarea hardware-ului nostru Raspberry Pi
Configurarea hardware-ului nostru Raspberry Pi

Mai întâi, conectați senzorul nostru tactil la pinii GPIO de pe Raspberry Pi. Folosiți câteva cabluri flexibile

Identificați 3 pini pe senzorul nostru:

  • GND - conectați la pinul de masă
  • VCC - conectat la pinul de 5V
  • SIG - conectați-vă la un pin

În acest exemplu, vom folosi 5V, sol și GPIO 18 pe raspberry pi.

Pasul 2: Configurarea mediului nostru pe Raspberry Pi

Configurarea mediului nostru pe Raspberry Pi
Configurarea mediului nostru pe Raspberry Pi

Obțineți adresa IP a raspberry Pi.

Apoi conectați-vă la raspberry pi folosind ssh:

ssh nume de utilizator @ ipaddress

apoi introduceți parola noastră.

Odată ce ne aflăm, apoi instalăm apache2 ca server web prin introducerea:

sudo apt-get install apache2

Pasul 3: Proiectați o bucată de cod Python pentru a citi intrarea de la senzorul nostru

Proiectați o bucată de cod Python pentru a citi intrarea de la senzorul nostru
Proiectați o bucată de cod Python pentru a citi intrarea de la senzorul nostru

Proiecta

În exemplul nostru de cod, folosim câteva comenzi diferite.

Pentru a indica faptul că suntem fericiți, facem 2 apăsări lungi

Pentru a indica faptul că suntem triști, facem o atingere scurtă și o apăsare lungă

Pentru a indica faptul că suntem confuzi, facem o atingere scurtă, așteptăm o bătaie, apoi două atingeri scurte. Pentru a indica faptul că suntem mulțumiți, facem o singură atingere scurtă, o distanță scurtă și o apăsare lungă

Pentru a indica faptul că ne-am plictisit, avem 3 atingeri scurte

Traducerea acestora în comenzi de șir: (t pentru atingere scurtă, T pentru apăsare lungă, g pentru decalaj scurt, G pentru decalaj lung)

fericit: TgT

trist: tgT

confuz: tGtgt

plictisit: tgtgt

Apoi, vom avea codul nostru care va afișa starea actuală într-un fișier html prietenos cu browserul pentru difuzare.

Cod

import RPi. GPIO ca GPIOimport timp

GPIO.cleanup ()

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 ("Trist") if current_cmd [-3:] == "tgT": current_cmd = "" mood ("Happy") if current_cmd [-5:] == "tGtgt": current_cmd = "" mood ("Confused") if current_cmd [-5:] == "tgtgt": current_cmd = "" mood ("Bored")

starea de spirit (starea de spirit):

file = open ("index.html", "w") html = """

Portabil Mood Reporter

Hei, cea mai recentă dispoziție a mea este

{}

"""

file.write (html.format (dispoziție))

în timp ce (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" else: current_cmd = current_cmd + "g "gap_duration = 0 touch_state = 1 touch_count = touch_count + 1 if touch_state == 1: touch_duration = touch_duration + 1 else: if gap_duration 200: current_cmd = current_cmd +" T "else: current_cmd = current_cmd +" t "touch_duration = 0 cmd ()

GPIO.cleanup ()

Configurare pentru a lucra cu serverul nostru web

tastați sau încărcați fișierul python de mai sus în locația serverului nostru web, care este implicit la / var / www / html

cd / var / www / html

sudo nano touch.py

Apoi introduceți codul de mai sus

Pasul 4: Porniți serverul nostru pentru a-l vedea în acțiune

Porniți serverul nostru pentru a-l vedea în acțiune!
Porniți serverul nostru pentru a-l vedea în acțiune!

cd / var / www / html

sudo python touch.py

Apoi introduceți adresa IP pentru Raspberry Pi, apoi ar trebui să-l vedem pe reporterul nostru de stare de spirit!

Încercați diferite tipuri de comenzi tactile, iar pagina ar trebui să se actualizeze automat pentru a reflecta asta!

Recomandat: