Use o Arduino para monitorar o bloqueio do processo no banco de dados MSSQL



Um dia, abri um buraco no cérebro e o preenchi novamente. Fiz um processo para monitorar o bloqueio do banco de dados MSSQL que a empresa está usando. Você sempre fica feliz em ser um chefe vivo que trabalha em um PC pelo preço de uma ou duas xícaras de pai-estrela. .

Esse buraco cerebral é o seguinte: o Arduino se conecta ao módulo de rede para acessar a rede local e regularmente (provisoriamente 8 segundos) visita uma página da Web. Essa página da Web é usada para detectar e retornar o número de bloqueios de processos MSSQL naquele momento. O Arduino recebe e analisa o resultado de retorno da página da Web, se houver zero bloqueio, acenderá o LED verde; se houver de 1 a 5 blocos, acenderá o LED verde e amarelo ao mesmo tempo; se houver mais de 5 blocos, acenderá o amarelo e o vermelho simultaneamente; se apenas A luz vermelha indica que há um erro neste pequeno sistema.

Obviamente, como é atualizado regularmente, haverá um certo atraso de tempo. Em geral, tente primeiro ser um brinquedo conceitual.

Portanto, a questão principal é como acessar a página da web e, é claro, a base básica é como acessar a rede.

Um tesouro conseguiu um módulo de rede ENC28J60, tentou aprender um. Antes de tudo, é claro, a fiação, isso é relativamente claro, basta seguir a definição de SPI.
Módulo-Arduino
SCK-D13
SO-D12
SI-D11
CS-D10 *
RST-RESET
GND-GND
VCC-3.3V **

Nota:
*: D10 pode ser alterado para outros, pois precisa ser refletido No código de inicialização.
**: 3.3V pode fazer com que a fonte de alimentação do módulo de rede seja insuficiente para funcionar. O meu é assim: se o VCC estiver conectado a 3,3V do meu chalé Arduino Nano, a tensão medida entre o VCC e o GND do módulo será de apenas 2,8V. Você pode usar a fonte de alimentação de 5V dessa casa nano, mas o 28J60 causará febre severa por um longo tempo. Estou cortando um cabo Dupont e um 1N4007 está conectado no meio para usar sua queda de tensão direta para baixá-lo ao VCC.

Dirija para encontrar o que o vendedor deseja, tão fácil de usar. Mas minha situação atual é um pouco mais complicada: a rede não é uma rede C padrão e há um gateway e DNS, então verifiquei as informações e usei o seguinte código ao definir o endereço IP:
static uint8_t mac [] = {0xF4, 0x8E , 0x38, 0xA4, 0x30, 0x31}; // Verifique se 6 bytes são suficientes, basta escrevê-lo. Mas o primeiro byte deve ser par.
const static uint8_t ip [] = {10, 16, 39, 40};
const static uint8_t gwip [] = {10, 16, 36, 1};
const static uint8_t dns [] = {172.16.10.12};
const static uint8_t sub-rede [] = {255, 255, 252, 0}; A

sequência de chamada é: ether.staticSetup (ip, gwip, dns, sub-rede)

O código para acessar a página da Web é de http://www.rogerclark.net/aurduino-ethercard- exemplo de solicitação de navegador múltiplo / . É um pouco complicado, mas é mais abrangente e suporta o acesso a várias páginas da web ao mesmo tempo. Considerando que pode haver essa demanda no futuro, recebi este artigo primeiro.

Por uma questão de simplicidade e conveniência, e em conjunto com a arquitetura ASP.NET existente da organização, a página da Web usa ashx, não é mais do que necessário consultar o número de bloqueio atual e devolvê-lo. Em princípio, usar php não é problema; de qualquer forma, ele pode retornar um fluxo de texto / sem formatação. A próxima dificuldade após obter o conteúdo retornado pelo ashx é como analisar os resultados que você realmente deseja. Como os cabeçalhos HTTP sempre existem, eles precisam ser jogados fora. Minha abordagem é usar a função lastIndexOf da classe String para encontrar a posição do último "\ r" em todos os caracteres obtidos e interceptar a posição +2 daqui até o fim.

O display de LED não tem nada para gastar, consome 3 portas de E / S e é baseado na lógica de negócios digitalWrite, altos e baixos níveis.

O efeito é este:

Se isso estiver embaixo da embalagem dos Oito Clássicos do Zhenger, deve ser espetacular fazer dezessete ou oitenta em uma parede

Publicado 122 artigos originais · Gosto 61 · Visita mais de 530.000

Acho que você gosta

Origin blog.csdn.net/ki1381/article/details/72721773
Recomendado
Clasificación