Innholdsfortegnelse:

IoT - Portable Mood Reporter: 4 trinn
IoT - Portable Mood Reporter: 4 trinn

Video: IoT - Portable Mood Reporter: 4 trinn

Video: IoT - Portable Mood Reporter: 4 trinn
Video: Полный курс Redux Toolkit + RTK Query для начинающих | Редакс за 2 часа! 2024, November
Anonim
IoT - Portable Mood Reporter
IoT - Portable Mood Reporter

Ting vi kommer til å trenge:

  • Raspberry Pi med Raspbian
  • Berøringssensor fra adafruit
  • Strømkilde (batteri/likestrøm)
  • Ethernet eller WiFi for Raspberry Pi
  • En annen datamaskin

Trinn 1: Konfigurere Raspberry Pi -maskinvaren vår

Sette opp Raspberry Pi -maskinvaren vår
Sette opp Raspberry Pi -maskinvaren vår
Sette opp Raspberry Pi -maskinvaren vår
Sette opp Raspberry Pi -maskinvaren vår

Koble først berøringssensoren til GPIO -pins på Raspberry Pi. Bruk noen fleksible kabler

Identifiser 3 pins på sensoren vår:

  • GND - koble til jordet pinne
  • VCC - kobles til 5V pin
  • SIG - koble til en signalpinne

Vi bruker 5V, bakken og GPIO 18 på bringebær pi i dette eksemplet.

Trinn 2: Sette opp miljøet vårt på Raspberry Pi

Sette opp miljøet vårt på Raspberry Pi
Sette opp miljøet vårt på Raspberry Pi

Skaff IP -adressen til bringebær Pi.

Koble deretter til bringebær pi ved hjelp av ssh:

ssh brukernavn@ipaddress

skriv deretter inn passordet vårt.

Når vi er inne, installerer du apache2 som vår webserver ved å skrive inn:

sudo apt-get install apache2

Trinn 3: Design et stykke Python -kode for å lese inndata fra vår sensor

Design et stykke Python -kode for å lese inndata fra vår sensor
Design et stykke Python -kode for å lese inndata fra vår sensor

Design

I vår eksempelkode bruker vi et par forskjellige kommandoer.

For å indikere at vi er fornøyde, gjør vi to lange trykk

For å indikere at vi er triste, gjør vi ett kort trykk og ett langt trykk

For å indikere at vi er forvirret, gjør vi ett kort trykk, vent et slag og deretter to korte trykk. For å indikere at vi er fornøyde, gjør vi ett kort trykk, ett kort mellomrom og et langt trykk

For å indikere at vi kjeder oss, tre korte trykk

Oversette disse til strengkommandoer: (t for kort trykk, T for langt trykk, g for kort gap, G for langt gap)

glad: TgT

trist: tgT

forvirret: tGtgt

lei: tgtgt

Deretter får vi koden til å sende ut vårt nåværende humør til en nettleservennlig html-fil for visning.

Kode

importer 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") 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")

def humør (humør):

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

Bærbar stemningsreporter

Hei, mitt siste humør er

{}

"""

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

mens (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 annet: if gap_duration 200: current_cmd = current_cmd +" T "else: current_cmd = current_cmd +" t "touch_duration = 0 cmd ()

GPIO.cleanup ()

Oppsett for å fungere med vår webserver

skriv inn eller last opp python -filen ovenfor til vår webserverplassering, som er standard til/var/www/html

cd/var/www/html

sudo nano touch.py

Skriv deretter inn koden ovenfor

Trinn 4: Start serveren vår for å se den i bruk

Start serveren vår for å se den i bruk!
Start serveren vår for å se den i bruk!

cd/var/www/html

sudo python touch.py

Skriv deretter inn IP -adressen for vår Raspberry Pi, så skulle vi se vår stemningsreporter jobbe!

Prøv forskjellige typer berøringskommandoer, og siden bør oppdateres automatisk for å gjenspeile det!

Anbefalt: