Você está na página 1de 3

O sistema de GeoLocalização irá funcionar da seguinte forma:

Banco de dados

Para o banco de dados da aplicação, iremos utilizar o mecanismo de banco de dados MySql,
pois a tecnologia do MySql tem uma boa integrabilidade com o framework do .NET que esta
sendo utilizado no desenvolvimento da API e o banco de dados MySql é “Open source” e de
código aberto a comunidade de desenvolvedores.

API

A API, será o ponto integrador entre os dados que estão no banco de dados, a interface de
usuário(front-end) e o Raspberry, ou seja, A API será a responsável por: ler, escrever, atualizar
e deletar dados do banco de dados e controlar quem acessa esses dados. A API, será
desenvolvida na linguagem C# e utilizaremos o Framwork(conjunto de ferramentas) do .NET.

A foto acima, associa o funcionamento de uma API como um garçom, que recebe o pedido do
cliente(front-end ou raspberry), informa a cozinha(banco de dados) o que o
cliente/requisitante requisitou, a cozinha(banco de dados) prepara o pedido e assim que
pronto a API devolve o pedido ao cliente. Então a API é como se fosse o garçom, o cliente pode
ser o front-end ou o raspberry e a cozinha é o banco de dados. O protocolo de comunicação
que será utilizado para acessar a API é o HTTPs e para a API consultar o banco de dados, será o
TCP/IP. A versão do .NET será a 5.0, ou seja, a mais recente no mercado em 2021.

Front-end

O front-end(interface de usuário) é um dos clientes da API, ele será desenvolvido em


HTML(Linguagem de marcação), JavaScript(Linguagem de programação) e o CSS(Mecanismo
de adicionar estilo a pagina Web). A função do front-end será a de exibir as informações que
estão no banco de dados e de dar os comandos de inserir/atualizar/deletar as informações no
banco de dados. Quem usa o front-end é o usuário.

Para a exibição do mapa mundi no front-end, iremos utilizar uma biblioteca javascript
chamada de leafletjs. A leafletjs é uma biblioteca JavaScript para mapas interativos, como o
exemplo abaixo:
Ela é open source e para conseguir utiliza-la, temos que realizar uma cadastro na plataforma
que cuida da biblioteca.

Para adicionar estilo a página, iremos utilizar uma biblioteca chamada de “Bootstrap”, ela é um
conjunto funcionalidades prontas que adicionam estilo ao front-end.

Hosteamento

O “hosteamento” é onde iremos colocar o código que foi escrito para a API e para o front-end
para ser executado, a aplicação estará dentro de um servidor, e esses servidor irá receber as
requisições e irá seguir a lógica programada.

Iremos utilizar um serviço em nuvem, que é como se fosse um servidor alugado para rodar a
lógica de programação. Iremos utilizar o serviço do AWS(Amazon Web Service). Dentro do
AWS terá o banco de dados, a API e o front-end.

Raspberry:

O Raspberry PI será responsável por realizar a telemetria dos sensores, realizar a formatação
dos dados e enviar os dados formatados utilizando o protocolo HTTPs para a API. A linguagem
de programação do Raspberry, será o Python e o sistema operacional utilizado no Raspberry,
será o Raspbian. A comunicação com os sensores de GPS, GSM e Câmera será a serial.
Utilizaremos o python para o desenvolvimento do software pois ele contém número grande de
bibliotecas para o raspberry, também contém as bibliotecas necessárias para trabalharmos
com os sensores comprados, contém uma comunidade de desenvolvedores grande e contém
compatibilidade com todos os sistemas operacionais.

Obs:

Framework: Um framework em desenvolvimento de software, é uma abstração que une


códigos comuns entre vários projetos de software provendo uma funcionalidade genérica. Ou
pode ser considerado como um conjunto de ferramentas para desenvolver softwares.

Open Source: Software de código aberto é o software de computador com o seu código fonte
disponibilizado e licenciado com uma licença de código aberto no qual o direito autoral
fornece o direito de estudar, modificar e distribuir o software de graça para qualquer um e
para qualquer finalidade.

MySql: O MySQL é um sistema de gerenciamento de banco de dados, que utiliza a linguagem


SQL como interface. É atualmente um dos sistemas de gerenciamento de bancos de dados
mais populares da Oracle Corporation, com mais de 10 milhões de instalações pelo mundo.

Front-end: O desenvolvimento front-end da web é o desenvolvimento da interface gráfica do


usuário de um site, por meio do uso de HTML, CSS e JavaScript, para que os usuários possam
visualizar e interagir com aquele site.

HTTPs: HTTPS é uma implementação do protocolo HTTP sobre uma camada adicional de
segurança que utiliza o protocolo SSL/TLS. Essa camada adicional permite que os dados sejam
transmitidos por meio de uma conexão criptografada e que se verifique a autenticidade do
servidor e do cliente por meio de certificados digitais.

TCP/IP: O TCP/IP é um conjunto de protocolos de comunicação entre computadores em rede.


Seu nome vem de dois protocolos: o TCP e o IP.

Raspbian : Raspbian é uma variante do Debian baseada no ARM hard-float, sendo um porte da
arquitetura Wheezy, otimizada para o conjunto de instruções ARMv6 do hardware do
Raspberry Pi. Raspbian é uma palavra-valise ou siglonimização, composição de Raspberry Pi e
Debian.

Você também pode gostar