INHOUDSOPGAWE:

IoT - Portable Mood Reporter: 4 stappe
IoT - Portable Mood Reporter: 4 stappe

Video: IoT - Portable Mood Reporter: 4 stappe

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

Dinge wat ons gaan benodig:

  • Framboos Pi met Raspbian
  • Raaksensor van adafruit
  • Kragbron (battery/DC)
  • Ethernet of WiFi vir Raspberry Pi
  • Nog 'n rekenaar

Stap 1: Stel ons Raspberry Pi -hardeware op

Die oprigting van ons Raspberry Pi -hardeware
Die oprigting van ons Raspberry Pi -hardeware
Die oprigting van ons Raspberry Pi -hardeware
Die oprigting van ons Raspberry Pi -hardeware

Koppel eers ons raaksensor aan GPIO -penne op ons Raspberry Pi. Gebruik 'n paar buigsame kabels

Identifiseer 3 penne op ons sensor:

  • GND - koppel aan die grondpen
  • VCC - verbind met 5V -pen
  • SIG - koppel aan 'n seëlpen

In hierdie voorbeeld gebruik ons die 5V, gemaalde en GPIO 18 op ons framboospi.

Stap 2: Stel ons omgewing op die Raspberry Pi op

Stel ons omgewing op die Raspberry Pi op
Stel ons omgewing op die Raspberry Pi op

Kry die IP -adres van ons framboos Pi.

Koppel dan aan ons framboos pi met ssh:

ssh gebruikersnaam@ipaddress

tik dan ons wagwoord in.

Sodra ons in is, installeer dan apache2 as ons webbediener deur in te tik:

sudo apt-get installeer apache2

Stap 3: Ontwerp 'n stuk Python -kode om die invoer van ons sensor te lees

Ontwerp 'n stuk Python -kode om die insette van ons sensor te lees
Ontwerp 'n stuk Python -kode om die insette van ons sensor te lees

Ontwerp

In ons voorbeeldkode gebruik ons 'n paar verskillende opdragte.

Om aan te dui dat ons gelukkig is, doen ons twee lang drukke

Om aan te dui dat ons hartseer is, druk ons een kort tik en een lang druk

Om aan te dui dat ons verward is, druk ons 'n kort tik, wag 'n slag en dan 2 kort tikkies. Om aan te dui dat ons gelukkig is, druk ons een kort tik, een kort gaping en een lang druk

Om aan te dui dat ons verveeld is, druk ons 3 kort tikkies

Vertaal dit na stringopdragte: (t vir kort tik, T vir lang druk, g vir kort gaping, G vir lang gaping)

gelukkig: TgT

hartseer: tgT

verward: tGtgt

verveeld: tgtgt

Dan sal ons kode ons huidige gemoedstoestand in 'n blaaiervriendelike html-lêer laat aflewer.

Kode

voer RPi. GPIO in as GPIO -invoertyd

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 humeur (bui):

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

Draagbare gemoedverslaggewer

Haai, my mees onlangse bui is

{}

"""

file.write (html.format (bui))

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

Stel op om met ons webserver te werk

tik of laai die bogenoemde python -lêer op na ons webserver -ligging, wat standaard is/var/www/html

cd/var/www/html

sudo nano touch.py

Tik dan die kode hierbo in

Stap 4: Begin ons bediener om dit in aksie te sien

Begin ons bediener om dit in aksie te sien!
Begin ons bediener om dit in aksie te sien!

cd/var/www/html

sudo python touch.py

Tik dan die IP -adres van ons Raspberry Pi in, dan moet ons ons gemoedverslaggewer sien werk!

Probeer verskillende tipes raakopdragte, en die bladsy moet outomaties herlaai om dit weer te gee!

Aanbeveel: