Índice:

IoT - Portable Mood Reporter: 4 etapas
IoT - Portable Mood Reporter: 4 etapas

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

Vídeo: IoT - Portable Mood Reporter: 4 etapas
Vídeo: AlphaGo - The Movie | Full award-winning documentary 2024, Novembro
Anonim
IoT - Portable Mood Reporter
IoT - Portable Mood Reporter

Coisas que vamos precisar:

  • Raspberry Pi com Raspbian
  • Sensor de toque de adafruit
  • Fonte de alimentação (bateria / DC)
  • Ethernet ou WiFi para Raspberry Pi
  • Outro computador

Etapa 1: configurando nosso hardware Raspberry Pi

Configurando Nosso Hardware Raspberry Pi
Configurando Nosso Hardware Raspberry Pi
Configurando Nosso Hardware Raspberry Pi
Configurando Nosso Hardware Raspberry Pi

Primeiro, conecte nosso sensor de toque aos pinos GPIO em nosso Raspberry Pi. Use alguns cabos flexíveis

Identifique 3 pinos em nosso sensor:

  • GND - conecte ao pino de aterramento
  • VCC - conexão para pino de 5V
  • SIG - conecte a um pino signel

Usaremos 5V, terra e GPIO 18 em nosso pi de framboesa neste exemplo.

Etapa 2: Configurando nosso ambiente no Raspberry Pi

Configurando nosso ambiente no Raspberry Pi
Configurando nosso ambiente no Raspberry Pi

Obtenha o endereço IP do nosso Raspberry Pi.

Em seguida, conecte-se ao nosso raspberry pi usando ssh:

ssh username @ ipaddress

em seguida, digite nossa senha.

Assim que entrarmos, instale o apache2 como nosso servidor da web digitando:

sudo apt-get install apache2

Etapa 3: Projete uma parte do código Python para ler a entrada de nosso sensor

Projete um pedaço de código Python para ler a entrada de nosso sensor
Projete um pedaço de código Python para ler a entrada de nosso sensor

Projeto

Em nosso código de exemplo, usamos alguns comandos diferentes.

Para indicar que estamos felizes, fazemos 2 pressionamentos longos

Para indicar que estamos tristes, fazemos um toque curto e um toque longo

Para indicar que estamos confusos, damos um toque curto, esperamos um pouco e, em seguida, dois toques curtos. Para indicar que estamos felizes, fazemos um toque curto, um intervalo curto e um toque longo

Para indicar que estamos entediados, fazemos três toques curtos

Traduzindo para comandos de string: (t para toque curto, T para toque longo, g para intervalo curto, G para intervalo longo)

feliz: TgT

triste: tgT

confused: tGtgt

entediado: tgtgt

Em seguida, teremos nosso código de saída de nosso humor atual em um arquivo html amigável para navegador para servir.

Código

importar RPi. GPIO como 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 = "" mood ("Sad") if current_cmd [-3:] == "tgT": current_cmd = "" mood ("Happy") if current_cmd [-5:] == "tGtgt": current_cmd = "" mood ("Confuso") if current_cmd [-5:] == "tgtgt": current_cmd = "" mood ("Bored")

def mood (mood):

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

Portable Mood Reporter

Ei, meu humor mais recente é

{}

"""

file.write (html.format (mood))

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

Configuração para trabalhar com nosso servidor web

digite ou carregue o arquivo python acima em nosso servidor web, que é padronizado como / var / www / html

cd / var / www / html

sudo nano touch.py

Em seguida, digite o código acima

Etapa 4: Inicie nosso servidor para vê-lo em ação

Inicie nosso servidor para vê-lo em ação!
Inicie nosso servidor para vê-lo em ação!

cd / var / www / html

sudo python touch.py

Em seguida, digite o endereço IP de nosso Raspberry Pi, então veremos nosso repórter de humor funcionando!

Experimente diferentes tipos de comandos de toque e a página deve ser atualizada automaticamente para refletir isso!

Recomendado: