QkThings: Plataforma para Dispositivos Inteligentes
O Pplware é media partner da Maker Faire que vai realizar-se de 19 a 21 de Setembro no Pavilhão do Conhecimento.
Gostava de construir o próximo termóstato inteligente (Nest?) ou a próxima pulseira inteligente para monitorização de actividade física (fitbit?). Então continue a ler, pois a QkThings pode dar-lhe uma ajuda.
A QkThings é uma plataforma para desenvolvimento de dispositivos e soluções inteligentes baseadas em sensores. A ideia é fazer a ponte entre o seu computador, smartphone ou qualquer ecrã que tinha disponível e as "coisas" do mundo real.
O Problema
Alguém pede, ou você próprio decide, fazer um sensor todo XPTO. Hoje em dia isso quer dizer que é um sensor inteligente, capaz não só de adquirir dados do mundo real como também de os transmitir para um computador ou dispositivo móvel.
Plataformas como o Arduino ou outras baseadas num único microcontrolador são frequentemente utilizadas na prototipagem de sistemas deste tipo. Existe hardware e várias bibliotecas prontas a serem usadas. Óptimo. Para concretizar mas mantendo a simplicidade, suponha que o seu sensor adquire a temperatura ambiente e transmite-a por Bluetooth. Do lado do computador ou smartphone basta desenvolver uma aplicação que permita visualizar os dados que o sensor envia. E está feito!
Imagine agora que pretende reutilizar a funcionalidade do seu sensor, isto é, medir a temperatura ambiente, mas numa rede de várias dezenas de sensores. Em vez de Bluetooth teria de usar uma tecnologia de comunicação apropriada para o efeito, por exemplo, IEEE 802.15.4 (um nome feio mas com o qual provavelmente já se cruzaram pois é a base de protocolos como Zigbee ou 6lowPAN). Em linguagem Arduino isso significa que utilizaria um novo *shield* com essa nova tecnologia. O problema é que teria de reescrever parte do código para podere utilizar o novo shield e a aplicação feita no computador ou smartphone deixaria de funcionar pois a tecnologia de comunicação é diferente.
Com a QkThings isso não aconteceria. Mudar a tecnologia de comunicação implicaria apenas trocar de placa de comunicação (o equivalente ao shield do Arduino), sem necessidade de escrever mais código e a aplicação que terias feito para o computador ou smartphone continuaria a funcionar tal como dantes.
Como?
Na QkThings a função de um dispositivo ("medir a temperatura ambiente") está fisicamente separada da parte da comunicação de dados. Assim, existem sempre duas placas, cada uma com um microcontrolador: um para o dispositivo em si (QkDevice), que pode ser um sensor, actuador ou ambos, e outra para a comunicação (QkComm). As placas são ligadas uma à outra e existe um protocolo, desenvolvido de propósito para a plataforma, que permite que consigam "falar" uma com a outra. É por isso que podes utilizar qualquer QkComm em qualquer QkDevice, sem teres de escrever código adicional.
Por outro lado, a interacção entre a aplicação feita para computador ou smartphone e o dispositivo inteligente é sempre feita através de uma API e por TCP/IP. Independentemente da tecnologia de comunicação que uses: USB, Bluetooth, Ethernet, IEEE 802.14.4, ou seja qual for a tecnologia que o futuro reserve. Podes também criar soluções que usem diferentes tecnologias de comunicação ao mesmo tempo e aceder a cada uma delas através da mesma API.
Isto é especialmente interessante para a Internet of Things. Na verdade, neste momento não existe uma única tecnologia adequada para a Internet Of Things, mas sim várias (por exemplo, Bluetooth LE, 6lowPAN, WiFi, Ethernet), e por isso é muito importante que exista uma forma única e simples de interagir com as mesmas. É isso que a API da QkThings, através de TCP/IP, possibilita.
Tal como no Arduino, existe também um IDE e uma framework que facilita o desenvolvimento de código. Na verdade, só terás de escrever o código específico da tua aplicação pois outras tarefas comuns e típicas de sensores, como amostragem periódica e geração de eventos, estão já implementadas.
Apesar da QkThings disponibilizar o seu próprio hardware (ainda em desenvolvimento), o código de baixo nível é bastante portável e por isso é relativamente simples suportar outras plataformas, tais como o Arduino. Neste momento, se tiver um Arduino à mão poderá começar já a usar a plataforma!
E agora?
Mais informação e acesso a downloads estão disponíveis neste link: http://qkthings.com/bootstrap
Um pormenor que provavelmente também vai gostar: a QkThings é totalmente open-source. E "designed in Portugal for the world" mas está a dar os seus primeiros passos e por isso precisa de colaboradores. Se gostou do projecto junte-se à QkThings, entra em contacto!
A QkThings vai estar na Lisbon Maker Faire, a decorrer nos dias 19-21 Setembro, no Pavilhão do Conhecimento, em Lisboa. Essa será também uma excelente oportunidade para ficar a conhecer melhor a plataforma e de poder falar pessoalmente com as pessoas responsáveis do projecto. A entrada é gratuita. Vemo-nos por lá?
Este artigo tem mais de um ano