Taula de continguts:

IoT - Portable Mood Reporter: 4 passos
IoT - Portable Mood Reporter: 4 passos

Vídeo: IoT - Portable Mood Reporter: 4 passos

Vídeo: IoT - Portable Mood Reporter: 4 passos
Vídeo: Kevin Smith's JOHN WICK 4 Review! Marc Bernardin's too! LIVE - FMB - 04/10/23 2024, Juliol
Anonim
IoT - Portable Mood Reporter
IoT - Portable Mood Reporter

Coses que necessitarem:

  • Raspberry Pi amb Raspbian
  • Sensor tàctil d’adafruit
  • Font d'alimentació (bateria / CC)
  • Ethernet o WiFi per a Raspberry Pi
  • Un altre ordinador

Pas 1: configuració del nostre maquinari Raspberry Pi

Configuració del nostre maquinari Raspberry Pi
Configuració del nostre maquinari Raspberry Pi
Configuració del nostre maquinari Raspberry Pi
Configuració del nostre maquinari Raspberry Pi

En primer lloc, connecteu el sensor tàctil als pins GPIO del nostre Raspberry Pi. Utilitzeu alguns cables flexibles

Identifiqueu 3 pins al nostre sensor:

  • GND: connecteu-vos al pin de terra
  • VCC: connectat a pin de 5 V.
  • SIG: connecteu-vos a un pin signel

Utilitzarem el 5V, el terra i el GPIO 18 al nostre raspberry pi en aquest exemple.

Pas 2: configuració del nostre entorn al Raspberry Pi

Configuració del nostre entorn al Raspberry Pi
Configuració del nostre entorn al Raspberry Pi

Obteniu l'adreça IP del nostre raspberry Pi.

A continuació, connecteu-vos al nostre raspberry pi mitjançant ssh:

nom d'usuari ssh @ ipaddress

a continuació, escriviu la nostra contrasenya.

Un cop hi sigueu, instal·leu apache2 com a servidor web escrivint:

sudo apt-get install apache2

Pas 3: dissenyeu un tros de codi Python per llegir l'entrada del nostre sensor

Dissenyeu un fragment de codi Python per llegir l'entrada del nostre sensor
Dissenyeu un fragment de codi Python per llegir l'entrada del nostre sensor

Disseny

Al nostre codi d'exemple, fem servir un parell d'ordres diferents.

Per indicar que estem contents, fem dues pressions llargues

Per indicar que estem tristos, fem un toc curt i una pulsació llarga

Per indicar que estem confosos, fem un toc curt, esperem un ritme i, a continuació, dos tocs curts. Per indicar que estem contents, fem un toc curt, un breu espai i una pulsació llarga

Per indicar que estem avorrits, fem tres tocs curts

Traduir-los a ordres de cadena: (t per a un toc curt, T per a una pressió llarga, g per a un espai curt, G per a un espai llarg)

feliç: TgT

trist: tgT

confós: tGtgt

avorrit: tgtgt

Aleshores, el nostre codi mostrarà el nostre estat d'ànim actual en un fitxer html compatible amb el navegador per publicar-lo.

Codi

importar RPi. GPIO com a GPIOimport time

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 = "" estat d'ànim ("Trist") si current_cmd [-3:] == "tgT": current_cmd = "" estat d'ànim ("Happy") si current_cmd [-5:] == "tGtgt": current_cmd = "" estat d'ànim ("Confós") si current_cmd [-5:] == "tgtgt": current_cmd = "" estat d'ànim ("Avorrit")

estat d'ànim def (estat d'ànim):

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

Portable Mood Reporter

Ei, el meu estat d'ànim més recent és

{}

"""

file.write (html.format (estat d'ànim))

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

Configuració per treballar amb el nostre servidor web

escriviu o pengeu el fitxer python anterior a la ubicació del nostre servidor web, que està predeterminat a / var / www / html

cd / var / www / html

sudo nano touch.py

A continuació, escriviu el codi anterior

Pas 4: inicieu el nostre servidor per veure'l en acció

Inicieu el nostre servidor per veure-ho en acció
Inicieu el nostre servidor per veure-ho en acció

cd / var / www / html

sudo python touch.py

A continuació, escriviu l’adreça IP del nostre Raspberry Pi i, aleshores, hauríem de veure funcionar el nostre reporter d’humor.

Proveu diferents tipus d’ordres tàctils i la pàgina s’ha d’actualitzar automàticament per reflectir-ho.

Recomanat: