Servidores Wamp e Lamp
Introdução
Para muitos dos projetos de IoT que temos em mente, ter um servidor que contenha páginas da web que possamos acessar e um banco de dados onde armazenamos nossas coisas será essencial. E naqueles que não é essencial, certamente também é bom para nós tê-lo, ou podemos aproveitá-lo.
É por isso que vamos focar este primeiro capítulo de IoT com ESP32 em explicar em que consiste essa classe de servidores, como instalá-los e usá-los.
Os tipos de pacotes que veremos são os chamados WAMP e LAMP, baseados em Windows e Linux, respectivamente. Ambos são totalmente gratuitos e, embora existam mais, vamos nos concentrar neles.
Uma vez instalado e configurado, podemos acessar nosso servidor de qualquer computador da rede local, ou se abrirmos a porta apropriada, de qualquer lugar do mundo através da Internet.
Os nomes LAMP e WAMP são as siglas das iniciais das tecnologias que utilizam:
L/W → Linux/Windows como sistema operacional
A → Apache como servidor web
M → MySQL como sistema de gerenciamento de banco de dados
P → PHP como linguagem de script para criar os sites.
Apache é um software livre e de código aberto, nome completo Apache HTTP Server, rodando em 45% de todos os sites.
O MySQL é o sistema de gerenciamento de banco de dados relacional de código aberto mais utilizado no mundo. Ao contrário do Apache, que é gerenciado pela própria comunidade, o código do MySQL é principalmente protegido por direitos autorais.
PHP é uma linguagem de programação web. Se criarmos uma página web apenas com linguagem frontend, HTML ou CSS, por exemplo, o próprio navegador é capaz de interpretá-la corretamente. No entanto, se vamos usar linguagens de backend, PHP neste caso, devemos instalar os servidores necessários em nosso servidor (ou PC) para que eles sejam capazes de interpretar a linguagem e nos permitir ver o resultado final através do navegador que usamos, caso contrário não seria capaz de interpretar.
- O frontend é a parte que roda no lado do cliente, ou seja, o navegador web.
- O backend está no lado do servidor e é o principal responsável pelo manuseio de dados: bancos de dados, gerenciamento de sessões de usuários…
Não vamos entrar em mais detalhes agora sobre como cada uma dessas tecnologias é usada, porque seria insuportável, vamos aprendendo à medida que praticamos, o que acreditamos ser o melhor caminho.
Como você provavelmente já deve ter adivinhado, em muitos de nossos projetos faremos upload de dados de diferentes sensores para um banco de dados e usaremos páginas da web para exibir dados desses bancos de dados e interagir com nosso ESP32, por exemplo.