Pergunta

Eu estou tentando configurar um sistema para automatizar determinadas tarefas em minha casa.

Estou pensando em uma solução em que uma aplicação do lado do servidor seria capaz de enviar / receber comandos / dados para Arduino (anexado com Arduino Ethernet Escudo ) através da web.

Aqui, o Arduino pode tanto atuar como uma interface de sensor para o aplicativo do servidor ou interface executor de comandos para o aplicativo servidor.

por exemplo. (História de usuário):

  1. O tanque de água em cima da minha casa tem um sensor de nível de água ligado com Arduino (anexado com Arduino Ethernet Shield).

  2. Outra Arduino (anexado com Arduino Ethernet Shield) está ligado com um relé / trinco. Este relé / fecho é então ligado a uma bomba de água.

  3. Agora o aplicativo do lado do servidor na web é capaz de obter / receber informações sobre o nível de água do Arduino no tanque de água.

  4. Dependendo das informações do nível da água recebida, a aplicação web deve enviar sinais / comandos adequados para Arduino na bomba de água para interruptor 'ON' ou switch 'OFF' a bomba de água.

Agora, para um tal sistema de trabalho em toda a web, eu estou pensando em usar um dos tipos de soluções, a fim de minha prioridade:

  1. Usando XMPP para a comunicação entre a aplicação do servidor e Arduino.

  2. Usando polling HTTP.

  3. Usando HTTP GET pendurado.

Para a solução número 1, eu preciso implementar um cliente XMPP que residem no Arduino.

É possível escrever uma pequena o suficiente cliente XMPP para residir em um Arduino?

Se sim, quais são as funcionalidade mínima possível cliente XMPP que eu preciso escrever para Arduino, de modo que ele seria capaz de soluções de servidores de contas XMPP como GTalk , etc.?

Para a solução número 2 e 3 I orientação necessidade de implementação.

Também qual solução seria rentável e facilmente extensível?

Foi útil?

Solução 8

Depois de olhar para todas as opções disponíveis eu não estava satisfeito com nenhuma.

Atualmente estou trabalhando em colocar a minha própria solução para o problema que eu definido acima.

A solução é sobre as linhas de comentário que i respondeu a Dustin 'acima.

O publicar o URL projeto assim que eu chegar com o primeiro lançamento da minha solução aqui.

Outras dicas

Você pode dar uma olhada em MQTT, tem uma biblioteca Arduino, é um simples corretor mensagem editor-assinante.

Eu não acho que eu olhar para qualquer das pessoas para o que você está tentando fazer.

Apenas alimentar os dados do sensor fora do Arduino em um determinado intervalo e ter o outro lado fazer os smarts.

Além disso, para estes tipos de projetos, eu estive olhando para evitar os escudos Ethernet e usar XBee ou RFM12B . Estes iria guiá-lo nessa direção, mas mais importante, torná-lo muito mais fácil ter muitos mais dispositivos que fazem tanto telemetria e controle.

Se houvesse algo como XMPP que corria no Arduino, que seria uma realmente despojado presença protocolo proxy através de um processo do lado do servidor de forma mais inteligente. Ou seja, seria uma quantidade similar de trabalho. Embora possa ser possível, XMPP em 1 KB de RAM ao lado de seus aplicativo de sons de código muito doloroso.

Estamos trabalhando em uma infra-estrutura de retransmissão de código aberto para fazer Arduinos (e qualquer outro dispositivo que suporte sockets TCP / IP) acessível pela Web. A sua aplicação poderia, então, chamar os Arduinos através de uma simples API REST. Consulte http://www.yaler.org/ para obter mais informações e uma demonstração ao vivo.

Saudações, Tamberg

Existe um projeto em desenvolvimento, tem políticas e capacidades de registo dos dados. (Sensores / any_data_source sobre xmpp) http://middlewaresensing.wordpress.com/

Por que não usar a boa RS485 velho para alcançar os atuadores sensores? Apenas inventar alguma protocolo simples (endereço, comando, dados). Se você precisa de algo mais complexo, use um outro cara como um RS485 / bridge Ethernet.

projeto open source

Gerenciar sensores e redes | dados do sensor registro | gráficos | políticas | história / data / sensor regras | sms / e-mail / url / twitter / xmpp notificações | registro de eventos | Google Maps | e muito mais

http://dev.hci.uma.pt/sawa

wiki em dev.hci.uma.pt/mediawiki/index.php

blog em middlewaresensing.wordpress.com

Você pode usar dados de envio para o servidor utilizando HTTP Post, em seguida, os dados do sensor é publicado via XMPP. HTTP Post (para dispositivos de recursos limitados, tais como o arduino) e sox_tools um cliente XMPP para publicar via XMPP neste sistema

Há uma nova biblioteca para fazer REST como HTTP solicitações e receber respostas JSON em um Arduino (com Ethernet) chamado RESTduino. Poderia ser drop-in útil HTTP interface para seu projeto Arduino.

http://jasongullickson.posterous.com/ restduino-arduino cortar-para-o-resto-do-nos

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top