Kazalo:

IoT - prenosni poročevalec razpoloženja: 4 koraki
IoT - prenosni poročevalec razpoloženja: 4 koraki

Video: IoT - prenosni poročevalec razpoloženja: 4 koraki

Video: IoT - prenosni poročevalec razpoloženja: 4 koraki
Video: CS50 2015 - Week 6 2024, November
Anonim
IoT - prenosni poročevalec razpoloženja
IoT - prenosni poročevalec razpoloženja

Stvari, ki jih bomo potrebovali:

  • Raspberry Pi z Raspbian
  • Senzor na dotik iz adafruta
  • Vir napajanja (baterija/enosmerni tok)
  • Ethernet ali WiFi za Raspberry Pi
  • Še en računalnik

1. korak: Nastavitev strojne opreme Raspberry Pi

Nastavitev naše strojne opreme Raspberry Pi
Nastavitev naše strojne opreme Raspberry Pi
Nastavitev naše strojne opreme Raspberry Pi
Nastavitev naše strojne opreme Raspberry Pi

Najprej povežite naš senzor dotika z zatiči GPIO na naši Raspberry Pi. Uporabite prilagodljive kable

Prepoznajte 3 zatiče na našem senzorju:

  • GND - priključite na ozemljitveni zatič
  • VCC - priključite na 5V pin
  • SIG - povežite se s signalnim zatičem

V tem primeru bomo uporabili 5V, maso in GPIO 18 na našem maline pi.

2. korak: Nastavitev našega okolja na Raspberry Pi

Nastavitev našega okolja na Raspberry Pi
Nastavitev našega okolja na Raspberry Pi

Pridobite naslov IP naše maline Pi.

Nato se povežite z malinovim pi s pomočjo ssh:

ssh uporabniško ime@ipaddress

nato vnesite naše geslo.

Ko smo notri, namestite apache2 kot naš spletni strežnik tako, da vnesete:

sudo apt-get namestite apache2

3. korak: Oblikujte del kode Python za branje vnosa iz našega senzorja

Oblikujte del Pythonove kode za branje vnosov našega senzorja
Oblikujte del Pythonove kode za branje vnosov našega senzorja

Oblikovanje

V našem primeru kode uporabljamo nekaj različnih ukazov.

Da bi pokazali, da smo zadovoljni, naredimo 2 dolgi stiski

Če želimo pokazati, da smo žalostni, naredimo en kratek dotik in en dolg pritisk

Da bi pokazali, da smo zmedeni, naredimo en kratek dotik, počakamo malo, nato pa 2 kratka dotika. Če želimo pokazati, da smo zadovoljni, naredimo en kratek dotik, en kratek razmik in en dolg pritisk

Če želimo pokazati, da nam je dolgčas, naredimo 3 kratke tapke

Prevajanje teh v ukaze niza: (t za kratek dotik, T za dolg pritisk, g za kratek razmik, G za dolg razmik)

vesel: TgT

žalostno: tgT

zmeden: tGtgt

dolgčas: tgtgt

Potem bo naša koda prikazala naše trenutno razpoloženje v brskalniku prijazno datoteko html za serviranje.

Koda

uvozite RPi. GPIO kot GPIOimportni čas

GPIO.cleanup ()

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

count_count = 0

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

def cmd ():

globalni current_cmd če current_cmd [-3:] == "TgT": current_cmd = "" razpoloženje ("Žalostno") če je trenutno_cmd [-3:] == "tgT": current_cmd = "" razpoloženje ("Veselo") če je trenutno_cmd [-5:] == "tGtgt": current_cmd = "" razpoloženje ("zmedeno"), če current_cmd [-5:] == "tgtgt": current_cmd = "" razpoloženje ("dolgčas")

def razpoloženje (razpoloženje):

datoteka = odprta ("index.html", "w") html = """

Prenosni poročevalec razpoloženja

Hej, moje zadnje razpoloženje je takšno

{}

"""

file.write (html.format (razpoloženje))

medtem ko (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 ()

Nastavite za delo z našim spletnim strežnikom

vnesite ali naložite zgornjo datoteko python na naš spletni strežnik, ki je privzeto nastavljen na/var/www/html

cd/var/www/html

sudo nano touch.py

Nato vnesite zgornjo kodo

4. korak: Zaženite naš strežnik in si oglejte njegovo delovanje

Zaženite naš strežnik in si oglejte njegovo delovanje!
Zaženite naš strežnik in si oglejte njegovo delovanje!

cd/var/www/html

sudo python touch.py

Nato vnesite naslov IP za naš Raspberry Pi, potem bi morali videti, da naš poročevalec razpoloženja deluje!

Preizkusite različne vrste ukazov na dotik in stran se mora samodejno osvežiti, da to odraža!

Priporočena: