Skip to content

eliaslawrence/coap-two-layers

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

coap-server

PhD Work for IoT Class (2020).

Requisitos

Instalação

PIP no Debian/Ubuntu

$ sudo apt-get install python-pip   #python 2

CoAPthon no Debian/Ubuntu

$ sudo pip install CoAPthon

Operação

Diagrama de operação da aplicação com CoAP

Cliente (client.py)

As aplicações CLIENTE acessam o servidor enviando os valores de threshold de temperatura e pressão.

  • POST
$ python client.py -P POST -p coap://<server-ip-here>:<server-port-here>/<resource> -P <payload>
  • GET
$ python client.py -P GET -p coap://<server-ip-here>:<server-port-here>/<resource>

Servidor (server.py)

O servidor é inicializado com apenas 2 recursos disponíveis: threshold para temperatura e threshold pra pressão.

Através de um método POST para o resource /temp do servidor, passando como payload um valor de temperatura, o cliente altera o threshold de temperatura.

Através de um método POST para o resource /pres do servidor, passando como payload um valor de pressão, o cliente altera o threshold de pressão.

Servidor em estado IDLE

Caso os valores do emulador de temperatura e pressão ultrapassem os limiares determinados pelas aplicações CLIENTE, os LEDs se acendem na cor vermelha, conforme imagem abaixo.

Valores de temperatura e/ou pressão acima do THRESHOLD

  • Inicializar

Antes de inicializar o programa, o emulador Sense HAT deve estar rodando na máquina.

$ python server.py <server-ip-here> <server-port-here>

Exemplo

  • IP do servidor: 192.168.25.4

  • Porta do servidor: 5683

  • Inicialize o Sense HAT Emulator

  • Inicializa servidor

$ python server.py 192.168.25.4 5683
  • A temperatura e pressão podem ser alteradas pelo emulador

Cliente

  • Sete threshold de temperatura: 50
$ python client.py -P POST -p coap://192.168.25.4:5683/temp -P 50
  • Sete threshold de pressão: 1100
$ python client.py -P POST -p coap://192.168.25.4:5683/pres -P 1100
  • Os limiares de temperatura e pressão podem ser alteradas pelo método POST.