Desvendando a Internet das Coisas e Sistemas Distribuídos
Pósgraduação UNICINA. Sejam todos muito bemvindos ao podcast número 7, 7, colocando a mão na massa na construção de programas IOT. Bom, a ideia aqui, né, desse nosso podcast, é a gente então ver como de fato eu construo programa IOT, e por que essa preocupação minha? Se tu colocares internet das coisas, IoT no Google, vem 1 série de links, 1 série de via porque o IoT de fato isso é realidade e vai transformar o mundo e já está transformando sensores e atuadores praticamente enfim por todas as partes. OK, agora como habilitar a internet das coisas?
Speaker 1:Como fazer de fato programa IUT? Qual tipo de hardware eu compro. E daí, enfim, o meu background de pesquisador e professor na área de internet das coisas e sistemas distribuídos, eu coloco pra vocês com toda a tranquilidade que existem 4 grandes IOT, certo? Que é o Cohab, a parte do WebSockets com HTML 5, o terceiro é o MQdt e o quarto é o EPC global. Bom, agora nessa nessa primeira parte aqui eu vou dar 1 visão global, né, enfim, desses 4 protocolos e depois eu vou mergulhar, né, em cada deles.
Speaker 1:O Cohab, por exemplo, é protocolo em nível de aplicação. Ele tem suporte muito fino com 0E0 protocolo de transporte UDP. Conseguem, conseguimos ter descoberta de recursos, e ele habilita pra nós 1 característica top de linha que é o pushNotipications. Então, qual que é a ideia do pushNotipications, por exemplo, o normal é eu, enfim, fazer 1 requisição para servidor, certo? Eu sou cliente, faço 1 requisição para o servidor e o servidor me retorna, por exemplo, algum dado.
Speaker 1:Agora imagine que perto desse servidor tenha o quê? Tenha sensor de temperatura, certo? E a minha ideia então é verificar se tem algum incêndio lá naquele lugar perto do servidor. Então, digamos que, enfim, é meianoite antes de me deitar, eu faço 1 requisição pro servidor e perguntam como é que está a temperatura aí servidor? Está tudo bem, certo?
Speaker 1:Temperatura está normal. Então eu vou enfim requisitar o servidor somente quando eu acordar lá 7 horas da manhã, mas que que pode ocorrer? Digamos que 1 eventualidade, certo, acontece incêndio na empresa e eu tenho que ser notificado. E numa requisição normal, cliente e servidor que a gente conhece da web, isso não é possível. Então novas tecnologias habilitam o quê?
Speaker 1:O tal do push lubrifications, que é 1 mensagem que posso colocar assim do servidor para o cliente. É 1 notificação assíncrona que alguma coisa está acontecendo por lá. Então o Coap, né, que é protocolo leve lightway, né, muito utilizado pra enfim redes de 16 minutos sem fio, consegue essa questão do push Notifications. Também, né, o push Notifications ele é habilitado pra nós com o nosso segundo protocolo aqui, que é o WebSockets. O WebSockets ele vem junto com o HTML 5, certo?
Speaker 1:Ele já é protocolo de maior, enfim, robustez, tem, enfim, ele é mais fácil programar com o HTML 5 e o WebSockets, ele tem comunicação fullduplex, trabalha com o TCP, certo? E é muito utilizado hoje porque o suporte pra programar com o WebSockets está diretamente, enfim dentro de qualquer web browser que a gente utilizar. O nosso terceiro protocolo ele é o MQTT, que é o protocolo, pra quê? É o protocolo IoT pra comunicação indireta publisSubscribe. Então nessa ideia do pubsub, o que que acontece?
Speaker 1:Eu possuo eu assino tópicos, eu assino determinado conteúdo, certo, então eu gostaria de assinar tópicos que tenham a ver com o meu time do coração, então o assinantes se posiciona e toda vez que alguém publicar algum tópico do meu time do coração eu seria notificado daquilo, então eu tenho 1 comunicação, o Antomani, e essa, enfim, comunicação é habilitada pelo MQTT. Então, vou utilizar a FAND Brokers, aqui assim tenho clientes famosos, por exemplo, o Instagram e o Facebook que utilizam o mqtt. E pra fechar, nessa visão ampla, certo? Eu tenho o EPC global, que de repente de dos 4 que eu comentei aqui né, que eu comecei pelo Cohab, depois o WebSockets, depois o MQTT, e agora estou fechando essa visão global com o IPC global, de repente ele enfia o nosso patinho feio aqui que, de repente, as pessoas não conhecem, e ele é muito muito famoso dentro da indústria, dentro da utilização do RFID. O EPC global é 1 proposição, né, de 1 entidade chamada GS1, que é hoje a nossa maior entidade padronizadora no mundo, certo?
Speaker 1:E o IPC Global, a ideia então é que eu consiga ter protocolos padrão para serem utilizados na rastreabilidade, principalmente perto da indústria 4. Então, vejam que essa foi a primeira parte do nosso podcast, né, e embora dar sequência, eu vou trabalhar cada daqueles 4 protocolos que eu comentei e trazer detalhes, né, enfim, particulares e use cases, certo, aonde que eles podem ser utilizados e tudo mais. O Cohab, certo, ele é o Constrained Application protocol, ele é protocolo leve, certo? Tem total compatibilidade com a tecnologia HTTP. O foco do Cohab são redes de sensores sem fio, certo?
Speaker 1:O Coap é protocolo de alto nível, atua na camada de aplicação, isso aqui também é muito importante a gente comentar, certo? E se a gente olhar pra camada de transporte, quem, enfim, quem dá suporte ao Cohab é o protocolo UDP. Sempre lembrem que, quando a gente falar de UDP, certo, automaticamente o PNUR Mind vem as questões, as keywords, desempenho e experiência do usuário. Eu me abri, e eu enfim essas questões desempenho e experiência, certo, são muito importantes dentro do protocolo DP. Então, algumas especificidades aqui assim da parte do Coap, né, enfim particular aqui assim pra todos nós.
Speaker 1:E ele é muito muito utilizado, né, o Coap pra enfim a parte da agricultura, certo? Por quê? Porque lá na agricultura os sensores, né, que eu tenho no solo ao longo do meu campo, ali eu não tenho energia elétrica, eu tenho realmente sensor que ele é alimentado como por 1 bateriazinha tipo as baterias que a gente tem no relógio, certo? Então, necessariamente, eu tenho que ter protocolo leve, que gaste pouca CPU, que gaste pouca carga, necessariamente porque eu tenho que economizar energia elétrica, economizar bateria nesse caso, certo? E daí o Coap é o protocolo certo pra nós.
Speaker 1:Bom, o outro protocolo que eu vou comentar aqui é o EPC Global. Comentei pra vocês que ele é padrão da indústria, feito pela entidade chamada GS certo? E o EPC global toda a ideia dele, ele está calcado, né, na, enfim, no nome, numa sigla chamada EPC, que é o Electronic Cloud Code. E esse EPC ele está onde? EPC é número, e esse EPC ele está dentro de 1 TAG.
Speaker 1:Então se eu pego 1 visão de raiox, certo, e olho 1 TAG, lá dentro tem número grande chamado EPC, certo? E a ideia então que a gente tenha números seriais, cada objeto, né, tem o seu próprio número EPC, que seja padronizado, enfim, mundialmente. Então eu gostaria de colocar, enfim, TAG REFID nas minhas roupas que eu estou vendendo, enfim, mundo afora. Então eu vou lá pra GS1, vou pedir range de números e PC pra eles, certo? Satisfatoriamente.
Speaker 1:Bom, dentro da parte do e PC global, certo? Ele eu tenho middleware de processamento de dados IPC global e dentro desse middleware eu tenho 2 módulos principais, eu tenho módulo de filtragem e eu tenho outro módulo de armazenamento de dados. Por que que módulo de filtragem ele acaba sendo tantão importante? Imaginem, por exemplo aqui que eu estou falando do RFID, né, que eu posiciono 1 tag perto do leitor, então tem leitor, pego 1 tag, deixo dali paradinha perto do leitor, o que que acontece? Esse leitor está detectando a tag continuamente e está bombardeando servidor de dados, olha, servidores, estou detectando a tag com esse EPC, certo, aqui pertinho de só que como a tag está ali sempre, esse esse leitor fica bombardeando o servidor de da mesma informação, então eu preciso que no sistema de filtragem dentro do EPC global para verificar então, olha isso aqui é a mesma informação então eu vou passar pras camadas superiores somente 1 informação.
Speaker 1:E logicamente depois, né, eu tenho o modo de armazenamento adequadamente largo o IPC global. Bom, utilizações do IPC global, principalmente, né, pra questão de tracking e tracinging. São 2 grandes grandes keywords no mundo encantado do IUP, certo? O tracking é aonde está determinado objeto naquele momento. Então, aí eu consigo saber aonde que está, por exemplo, muito utilizado nos hospitais, né?
Speaker 1:Os hospitais eles costumam muitas vezes perder cadeira de rodas, ou até enfim aonde que está determinado paciente, certo, que de repente saiu pra dar 1 volta no corredor. Então o tracking me mostra exatamente aonde que está determinado objeto ou pessoa. E o tracing? O tracing trabalha com dados históricos e mostra a rastreabilidade, certo? Então, qual, enfim, por onde que passou determinado objeto.
Speaker 1:Imaginem que o tracing ele seja muito muito importante pra quê? Pra verificar o pedigree e, enfim, se eu não estou comprando determinado produto que ele é falsificado. Vou te dar exemplo muito claro, né, Imaginem que eu vou no supermercado e lá no supermercado eu compro produto orgânico, fico super feliz, enfim, sei agrotóxico e tudo mais, mas como é que eu posso me certificar que aquele produto é de fato orgânico? Então, aqui assim o EPC Global, certo? Poderia nos ajudar nessa parte do tracing, então lá na minha casa poderia de repente escanear ali o meu saquinho da minha rúcula orgânica, e eu tenho app no meu celular que mostra olha, toda a parte do carregamento desde o supermercado que eu comprei até enfim ali o agricultor que produzia aquela rúcula e como ele fez isso.
Speaker 1:Então isso é bem bem legal dentro da parte do EPC global. Indo adiante, eu tenho o MQTT, lembrem né que o MQTT ele trabalha publis subscribe ou publicadores e assinantes no naquele paradigma wantumane, então eu tenho publicador, só que essa essa única publicação por exemplo ela pode chegar em diversos assinantes, né através de notificações, tudo isso aí de forma muito otimizada, certo? Eu tenho brokers aqui assim também, né, que habilitam essa comunicação, então o MQTT, né, ele recebe aqui 1 estrelinha porque é realmente muito muito utilizado, certo? E aqui assim é muito comum a utilização de sinkle board computeres, que são aqueles computadorzinhos em placa, por exemplo, Arduino, Raspberry Pi, Beaglebone, OrangeiePie, certo? E esses computadoreszinhos pequenininhos, as sinkle board computeres, eu coloco, eu consigo colocar nela sensores de temperatura, sensores de umidade, sensores, enfim, né, de vibração, certo?
Speaker 1:E passar esses dados, enfim, pra brokers mqttt apropriadamente. Então isso aí é 1 topologia digamos assim bastante bastante utilizada na parte do mqtt. Lembrando aqui que o protocolo padrão do MQTT é o TCP, certo? E o MQTT por sua vez ele tem diferentes modos de utilização. Então tem qualidades de serviço diferentes, eu me permito perder mensagens, eu vou ter retransissores, eu tenho armazenamento, não tem questões enfim que eu posso configurar o meu midwarst mqttt de diferentes formas.
Speaker 1:Bom, e o nosso último protocolo aqui, certo, ele é o WebSockets. Como eu comentei com vocês, o WebSockets ele está muito muito presente nas nossas vidas, dado que os Web Browsers em última análise, eles implementam esses websops eles têm 1 tipo junto com o HTML5. E qual que é a grande questão do AppSWBS? Como é que como é que funciona de fato essa questão que é assim do WebSockets? Da seguinte maneira, eu, Mei, eu que sou o browser, eu no caso eu sou o cliente, certo?
Speaker 1:Requisito, abertura, 1 determinada conexão com o servidor, e esse servidor é ali no servidor é que tem o IUT, por exemplo, certo? E a parte mais bacana é que essas essa conexão que eu estou requisitando, ela fica aberta, então é 1 requisição que ela fica aberta, e dito isso, a qualquer momento que tanto o Web Browser pode mandar alguma mensagem para o servidor, como o servidor pode mandar 1 mensagem certo para o web browser, então esse full duplex né, acaba sendo, certo, muito muito importante aqui assim na parte do do WebSocket e vem super super ao enquanto das demandas do IoT, que é o quê? Não é somente eu fazer 1 olha, me por favor servidora me passa, enfim, qual a qual que é a temperatura, qual que são os dados do sensor de temperatura que está contigo, isso é 1 coisa. Agora, 1 outra situação, como eu já coloquei anteriormente, é eu ser notificado que algum problema está acontecendo lá no lado do servidor e então 1 1 temperatura né muito alta pode indicar problema, certo? E o servidor tem que me avisar sobre isso e eu consigo habilitar todo esse usecase né, utilizando a questão de WebSockets que acaba enfim sendo muito muito produtivo em última análise pra isso aí.
Speaker 1:Bom, aqui assim, né, já me me direcionando pro final da nossa do nosso podcast, certo, nós analisamos 4 grandes protocolos e middleers pra construção de programas I OT, certo? Muitas vezes, né, isso aqui assim não fica enfim tão claro qual utilizar, agora né nessa parte final aqui assim do nosso podcast, eu gostaria de colocar alguns insights pra vocês. Bom, se a questão, enfim, da bateria, a questão da energia ela é importante pra você, ou se eu estou, enfim, rodando meu sistema IOT perto de hardware com pouco processamento, muito possivelmente o protocolo Cohab seja o mais adequado pra você. Então, essa questão é importante porque porque o Cohab ele é lightway, ele é leve, ele foi feito pra ser leve trabalhar com o DP, certo? E que tem essa questão, né, de de leveza junto consigo, é protocolo sem 1 pegada forte de processamento, certo?
Speaker 1:Muito usado, como eu comentei, em redes de sensores sem fim. Agora, se a questão de latência, certo, ou eu estou trabalhando com hardware mais parrudo, mais robusto, pode ser então que o WebSockets ou o MQTT eles sejam o meu protocolo, mas qual deles utilizar o WebSocket ou o MQTT? Aqui assim, vai depender pouquinho né da tua aplicação, o WebSocket se eu gostaria de deixar a conexão aberta e receber notificações, e o MQTT, se eu tenho aquela ideia de publicadores e assinantes, o amplo. E pra fechar, né, enfim, eu tenho o EPC global que eu gosto muito de salientar ele porque ele é pra RTPD, certo? Feito pela GS né, então, se a tua tecnologia for RFID, que é nada mais nada menos do que a grande tecnologia sem fio habilitadora do RFID, do da internet das coisas, certo?
Speaker 1:Então aqui assim o nosso midware ele é o EPC global. Está bom pessoal? Fico muito muito feliz com esse podcast, né? Porque aqui a gente enfim acaba entre aspas, baixando pouco o nosso nível de detalhamento, e indo aqui na vírgula e mostrando pra vocês esses 4 grandes protocolos e midwares pra programação e construção de programas IoT. Bom, então esse foi o nosso podcast número 7, sigam comigo e muito obrigado.
Speaker 1:Pósgraduação UNICINAS