Introdução a APIs RESTful e aplicações em IOT.
Material do curso
Esse é o material do minicurso de introdução a APIs RESTful e aplicações em IOT que foi ministrado na edição semana acadêmica da engenharia elétrica (SAEE) do IFSul Campus Pelotas. Junto a cada vídeo eu deixei um complemento dos assuntos abordados no vídeo e no final algumas dicas importantes do que continuar estudando (ORM, segurança, organização do código…) após esta introdução ao assunto de APIs REST. Bom estudo.
Ambiente e programas necessários
- NODEjs - https://nodejs.org/en
- VSCode - https://code.visualstudio.com/
- XAMPP - https://www.apachefriends.org/pt_br/index.html
- POSTMAN - https://www.postman.com/downloads/
PRIMEIRA AULA - INTRODUÇÃO
O que é: HTTP
HTTP surgiu em 1989 e passou a ser usado em 1990 nos primórdios da WWW, a rede de computadores(criada no CERN- Organização Europeia para a Investigação Nuclear) que foi o inicio da internet. O HyperText Transfer Protocol, http, é um protocolo de comunicação entre o servidor e os clientes, uma abstração responsável por padronizar os métodos de transferência de informação entre eles. Por exemplo, um browser (que é o cliente) submete uma mensagem de requisição HTTP para o servidor do google.com. O servidor, que fornece os recursos (como arquivos HTML e outros conteúdos) retorna uma mensagem resposta para o cliente e o recurso ou função requisitado. No caso seria o retorno do código 200 (deu tudo cert) e a pagina html e seus elementos (css, javascript, imagens…).
Meu nome é HTTP, moro na camada de aplicação do modelo OSI e estou a duas semanas sem dar erro 404.
Códigos de status/erros HTTP
Lista de códigos de status e/ou erros mais comuns do protocolo http.
2xx OK
Esta classe de códigos de status indica a ação solicitada pelo cliente foi recebida, compreendida, aceita e processada com êxito.
- 200 - Sucesso
- 201 - Criado
4xx Erro de Cliente
A classe 4xx de código de status é destinado para os casos em que o cliente parece ter cometido um erro
- 400 Requisição inválida
- 401 Não autorizado
- 403 Proibido
- 404 Não encontrado
5xx outros erros
Os erros desta classe estão relacionados a erros no servidor.
- 500 Erro interno do servidor (Internal Server Error) - Indica um erro do servidor ao processar a solicitação
O que é: IOT
Internet of Things (IOT), ou em bom português internet dos bagulhos, é o conceito de interligar através da internet equipamentos, sensores e objetos que possuem capacidade embarcada de acessar rede. Desta maneira cria-se um rede de coleta de dados e controle remoto, possibilitando uma integração completa e permitindo o uso em aplicações, ou simplificando processos, que anteriormente ao desenvolvimento da tecnologia não possuíam uma maneira prática para esta integração.
Imagine que certos objetos entre outras coisas como livros, termostatos, refrigeradores, lâmpadas, remédios, autopeças, fossem equipados com dispositivos de identificação e conectados à Internet, não haveria a possibilidade de faltarem produtos como alguns remédios, pois saberíamos exatamente onde os encontrar e quantos estariam disponíveis. Ou então sensores em uma plantação, que manteriam informações detalhadas de umidade no solo, insolação, níveis de nutrientes, tudo isso permitindo correções automáticas deste fatores- o quanto não aumentaria a eficiência da produção desta fazenda? Essa é a ideia central do IOT, aumentar a eficiência de processos de produção e serviços.
Criando um ambiente para executar a biblioteca pandas com Jupyter Lab e VSCode.
Eu gosto muito do VS Code. O editor de códigos da microsoft é muito versátil, permitindo o uso com diversas linguagens de programação ou criando ambientes completos de determinada “stack” tecnológica. Extremamente customizável, podemos usar temas para mudar a aparência do editor e extensões para acrescentar ou modificar funcionalidades ao VSCode.
Quando eu entrei no desafio de análise de dados com python e pandas no bootcamp de Data Science da digital innovation one, procurei uma maneira de usa-lo para editar os notebooks usados na tarefa. Foi justamente através das extensões que eu integrei ele a plataforma jupyter, o que permitiu usar as funções integradas ao VSCode(como o versionamento GIT). Com esse artigo mostrarei como configurar e transformar o editor da microsoft em um ambiente eficiente para editar nossos notebooks do pandas =D
Dica POSTMAN APP
Dica para facilitar o dia a dia
Se tu usas o POSTMAN APP para fazer/testar requisições a APIs REST, existe uma opção CODE na lateral direita para gerar códigos para diversas linguagens de programação com a requisição atual da feita pelo app:
Foi uma mão da roda para min, precisava baixar informações de uma API REST e usar em um script powershell que atualiza o status de suprimentos das impressoras aqui da empresa. gerei o código pronto para usar no script!
Conectando PowerBI com banco MySQL
Comecei a estudar o PowerBI da microsoft como uma solução para visualizar dados do parque de impressão aqui onde dou suporte. Os dados de contadores e suprimentos ficam armazenados num banco MySQL e o PowerBI tem um conector direto para bancos MySQL/MariaDB, uma mão da roda para o meu caso! Mas, obviamente, nada é tão simples assim- durante a configuração recebo o seguinte erro:
“An error happened while reading data from the provider: ‘Could not load file or assembly ‘Renci.SshNet, Version=2016.1.0.0, Culture=neutral, PublicKeyToken=1cee9f8bde3db106’ or one of its dependencies. The system cannot find the file specified
Faltava alguma dependência para conectar o banco. A solução para isso é simplesmente atualizar o DOTNet Connector disponibilizado pelo MySQL, para isso basta ir no MySQL Installer ou entrar neste link: DOTNet Connector.
Depois de atualizado a conexão funcionou como esperado. Agora to começando a aprender o funcionamento da ferramenta XD
12 post articles, 2 pages.