Innehållsförteckning:

IoT - Portable Mood Reporter: 4 steg
IoT - Portable Mood Reporter: 4 steg

Video: IoT - Portable Mood Reporter: 4 steg

Video: IoT - Portable Mood Reporter: 4 steg
Video: ⚡️ДОБРОЖЕЛАТЕЛЬНЫЙ ПОПУТЧИК ОКАЗАЛСЯ СЕРИЙНЫМ ОТРАВИТЕЛЕМ | ДЕЛО АЛЕКСЕЯ ВЫГОВСКОГО #crime157 2024, Juli
Anonim
IoT - Portable Mood Reporter
IoT - Portable Mood Reporter

Saker vi kommer att behöva:

  • Raspberry Pi med Raspbian
  • Touch -sensor från adafruit
  • Strömkälla (batteri/likström)
  • Ethernet eller WiFi för Raspberry Pi
  • En annan dator

Steg 1: Konfigurera vår Raspberry Pi -maskinvara

Konfigurera vår Raspberry Pi -hårdvara
Konfigurera vår Raspberry Pi -hårdvara
Konfigurera vår Raspberry Pi -hårdvara
Konfigurera vår Raspberry Pi -hårdvara

Anslut först vår beröringssensor till GPIO -stiften på vår Raspberry Pi. Använd några flexibla kablar

Identifiera 3 stift på vår sensor:

  • GND - anslut till jordstift
  • VCC - ansluten till 5V stift
  • SIG - anslut till en signalstift

Vi kommer att använda 5V, mark och GPIO 18 på vår hallon pi i detta exempel.

Steg 2: Konfigurera vår miljö på Raspberry Pi

Konfigurera vår miljö på Raspberry Pi
Konfigurera vår miljö på Raspberry Pi

Skaffa IP -adressen till vår hallon Pi.

Anslut sedan till vår hallon pi med ssh:

ssh användarnamn@ipaddress

skriv sedan in vårt lösenord.

När vi är inne installerar du apache2 som vår webbserver genom att skriva in:

sudo apt-get install apache2

Steg 3: Utforma en bit Python -kod för att läsa inmatning från vår sensor

Designa en bit Python -kod för att läsa inmatning från vår sensor
Designa en bit Python -kod för att läsa inmatning från vår sensor

Design

I vår exempelkod använder vi ett par olika kommandon.

För att indikera att vi är nöjda gör vi två långa tryckningar

För att indikera att vi är ledsna gör vi en kort tryckning och en lång tryckning

För att indikera att vi är förvirrade gör vi en kort tryckning, väntar ett slag och sedan två korta tryckningar. För att indikera att vi är nöjda gör vi ett kort tryck, ett kort mellanrum och ett långt tryck

För att indikera att vi är uttråkade har vi tre korta kranar

Översätta dessa till strängkommandon: (t för kort tryckning, T för lång tryckning, g för kort gap, G för långt gap)

glad: TgT

ledsen: tgT

förvirrad: tGtgt

uttråkad: tgtgt

Då får vi vår kod att mata ut vårt nuvarande humör till en webbläsarvänlig HTML-fil för servering.

Koda

importera RPi. GPIO som GPIOimporttid

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

def humör (humör):

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

Bärbar stämningsreporter

Hej, mitt senaste humör är

{}

"""

file.write (html.format (humör))

medan (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 ()

Inställning för att fungera med vår webbserver

skriv eller ladda upp ovanstående pythonfil till vår webbserverplats, som är standard till/var/www/html

cd/var/www/html

sudo nano touch.py

Skriv sedan in koden ovan

Steg 4: Starta vår server för att se den i aktion

Starta vår server för att se den i aktion!
Starta vår server för att se den i aktion!

cd/var/www/html

sudo python touch.py

Skriv sedan in IP -adressen för vår Raspberry Pi, då ska vi se vår humörreporter jobba!

Prova olika typer av pekskommandon, så ska sidan uppdateras automatiskt för att återspegla det!

Rekommenderad: