Introdução aos Sistemas Embutidos
A internet of things
Duração:
4 horas.
Material:
Computador com acesso à internet, Moodle da ubi – ficheiros doc, pdf, wiki, mbed NXP LPC1768, RN-XV-171, mbed NXP LPC1768 e Reóstato.
Objectivo:
A ligação à internet de dispositivos através de uma rede wireless é explorada ao longo desta sessão. O dispositivo rádio que permite a ligação é introduzido, e o seu funcionamento verificado através de alguns exemplos. O estabelecimento de uma rede sem fios permite introduzir o conceito da internet das coisas. Após a introdução do conceito associado à Internet das coisas é apresentado um exemplo que o permite explorar.
Introdução ao RN-XV-171:
O módulo WiFly é um dispositivo autónomo que possibilita o acesso wireless a redes LAN. Possui implementado internamente a stack TCP/IP e algumas funcionalidades. O seu interface com outros dispositivos é bastante simplificado, requerendo, numa configuração mínima, apenas 4 ligações (Power, TX, RX, GND). Uma vez devidamente configurado, o rádio automaticamente estabelece uma ligação à rede Wi-Fi. O firmware permite estabelecer um canal de comunicação entre o canal rádio e a UART.
Podemos referir algumas das características principais WiFly:
-
Certificado para operar em redes 2.4GHz IEEE 802.11b/g
-
Baixo consumo energético (1uA em modo sleep, 35mA em RX, e 185mA em modo TX a 12dBm)
-
Memória flash de 8Mbit e 128KB de RAM
-
Interface escravo UART e SPI
-
10 entradas/saídas digitais de uso geral
-
8 entradas analógicas (14 bits, 400mV)
-
Relógio de tempo real que lhe permite acordar e realizar tarefas periódicas
-
Suporta a ligação a redes Adhoc
-
Implementa internamente a stack TCP/IP
-
Certificado para redes WPA2-PSK
-
Pode ser configurado através da UART utilizando comando ASCII
-
Possibilidade de actualização do firmware (FTP)
A internet das coisas:
Definir o conceito de internet das coisas não é uma tarefa fácil. A designação “internet das coisas” foi introduzida por Kevin Ashton em 2009. No início, considerava-se que a existência de um identificador único associado a um mecanismo que iria permitir a todos os objectos ou pessoas serem inventariados automaticamente por computadores como essencial à aplicação deste conceito. A informação resultante iria permitir optimizar vários aspectos do dia-a-dia. A existência de identificadores permite gerir stocks, autorizar e controlar acessos, interagir com objectos, etc.
Neste contexto, a possibilidade de vários objectos poderem enviar mensagens e comunicar entre si representa uma exigência que pode ser satisfeita através da existência de uma rede sem fios. Neste sentido o trabalho que se descreve a seguir permite que várias entidades troquem mensagens entre si e influenciem o estado através do reconhecimento de eventos e realização de tarefas a ele associados.
Aplicação distribuída:
O trabalho desenvolvido implementa uma aplicação distribuída. O conceito de socket é introduzido e ilustrado através do trabalho. Para isso vamos utilizar dois mbed, tendo cada um deles associado um Wifly, para que possa ter acesso à internet. Uma aplicação desenvolvida na linguagem de programação Processing irá ser executada no computador. Os mbed assumem-se na rede como clientes enquanto que a aplicação a executar no PC assume uma configuração servidor.
O primeiro mbed possui um reóstato que permite variar a tensão aplicada a uma das suas entradas analógicas. O valor automaticamente é enviado para o PC, que o exibe. Por seu lado, a aplicação servidor a ser executada no PC possui três botões que permitem controlar o estado de três LED do primeiro mbed. O segundo mbed recebe continuamente, por parte do servidor, o valor analógico enviado pelo primeiro mbed, esse resultado é apresentado ao utilizador variando o número de LED activos.
O Processing é uma linguagem de programação gratuita que pode ser descarregada do endereço http://processing.org/. Na página é possível ter acesso a tutoriais de ajuda à programação e exemplos ilustrativos. Um exemplo do ambiente de programação pode ser observado na figura 1.6.
O trabalho desenvolvido é baseado na utilização de sockets. Basicamente este conceito permite estabelecer um fluxo de dados entre dipositivos ligados à internet. Para que isso seja possível é necessário ter conhecimento do endereço de IP das máquinas e do número de porto da ligação.