Obsah:

IoT - prenosný reportér nálady: 4 kroky
IoT - prenosný reportér nálady: 4 kroky

Video: IoT - prenosný reportér nálady: 4 kroky

Video: IoT - prenosný reportér nálady: 4 kroky
Video: Моя работа наблюдать за лесом и здесь происходит что-то странное 2024, Júl
Anonim
IoT - prenosný reportér nálady
IoT - prenosný reportér nálady

Veci, ktoré budeme potrebovať:

  • Raspberry Pi s Raspbianom
  • Dotykový senzor od adafruit
  • Zdroj energie (batéria/DC)
  • Ethernet alebo WiFi pre Raspberry Pi
  • Ďalší počítač

Krok 1: Nastavenie hardvéru Raspberry Pi

Nastavenie hardvéru Raspberry Pi
Nastavenie hardvéru Raspberry Pi
Nastavenie hardvéru Raspberry Pi
Nastavenie hardvéru Raspberry Pi

Najprv pripojte náš dotykový senzor k pinom GPIO na našom Raspberry Pi. Použite niekoľko flexibilných káblov

Identifikujte 3 piny na našom senzore:

  • GND - pripojenie k uzemňovaciemu kolíku
  • VCC - pripojenie na 5V pin
  • SIG - pripojenie k signálnemu kolíku

V tomto prípade použijeme 5V, zem a GPIO 18 na našom malinovom pi.

Krok 2: Nastavenie nášho prostredia na Raspberry Pi

Nastavenie nášho prostredia na Raspberry Pi
Nastavenie nášho prostredia na Raspberry Pi

Získajte IP adresu nášho Raspberry Pi.

Potom sa pripojte k nášmu malinovému pi pomocou ssh:

ssh užívateľské meno@ipaddress

potom zadajte naše heslo.

Hneď ako budeme, nainštalujte apache2 ako náš webový server zadaním:

sudo apt-get nainštalovať apache2

Krok 3: Navrhnite kus kódu Python na čítanie vstupu z nášho senzora

Navrhnite kus kódu Python na čítanie vstupu z nášho senzora
Navrhnite kus kódu Python na čítanie vstupu z nášho senzora

Dizajn

V našom ukážkovom kóde používame niekoľko rôznych príkazov.

Aby sme naznačili, že sme šťastní, urobíme 2 dlhé stlačenia

Aby sme naznačili, že sme smutní, urobíme jedno krátke poklepanie a jedno dlhé stlačenie

Aby sme naznačili, že sme zmätení, urobíme jedno krátke poklepanie, počkanie a potom dve krátke klepnutia. Aby sme naznačili, že sme šťastní, urobíme jedno krátke poklepanie, jedno krátke prerušenie a jedno dlhé stlačenie

Tri krátke klepnutia naznačujú, že sa nudíme

Ich preklad do reťazcových príkazov: (t pre krátke klepnutie, T pre dlhé stlačenie, g pre krátke medzery, G pre dlhé medzery)

šťastný: TgT

smutné: tgT

zmätený: tGtgt

znudený: tgtgt

Potom náš kód vygeneruje našu aktuálnu náladu do html súboru vhodného pre prehliadač, ktorý bude slúžiť.

Kód

importujte RPi. GPIO ako čas GPIOimportu

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 = "" nálada ("zmätené") ak current_cmd [-5:] == "tgtgt": current_cmd = "" nálada ("nuda")

def nálada (nálada):

súbor = otvorený ("index.html", "w") html = """

Prenosný reportér nálady

Hej, moja posledná nálada je

{}

"""

file.write (html.format (nálada))

zatiaľ čo (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 ()

Nastavenie pre prácu s naším webovým serverom

zadajte alebo nahrajte vyššie uvedený súbor python do nášho umiestnenia webového servera, ktorý je predvolene nastavený na/var/www/html

cd/var/www/html

sudo nano touch.py

Potom zadajte vyššie uvedený kód

Krok 4: Spustite náš server, aby ste ho videli v akcii

Spustite náš server, aby ste to videli v prevádzke!
Spustite náš server, aby ste to videli v prevádzke!

cd/var/www/html

sudo python touch.py

Potom zadajte IP adresu nášho Raspberry Pi, potom by sme mali vidieť, ako náš reportér nálady pracuje!

Vyskúšajte rôzne typy dotykových príkazov a stránka by sa mala automaticky obnoviť, aby to odrážala!

Odporúča: