Índice:

IOT123 - ASSIMILATE IOT NETWORK: 26 etapas
IOT123 - ASSIMILATE IOT NETWORK: 26 etapas

Vídeo: IOT123 - ASSIMILATE IOT NETWORK: 26 etapas

Vídeo: IOT123 - ASSIMILATE IOT NETWORK: 26 etapas
Vídeo: IOT123 - ASSIMILATE CROUTON: Optional Buttons 2024, Julho
Anonim
IOT123 - ASSIMILATE IOT NETWORK
IOT123 - ASSIMILATE IOT NETWORK

A ASSIMILATE IOT NETWORK é um conjunto de protocolos que permite uma fácil integração de sensores, atores, nós e corretores locais com o mundo exterior.

Este Instructable contém instruções para as instruções; indexa todos os diferentes projetos e aponta onde estão os artigos e recursos de cada projeto.

RECURSOS E VISÃO Atualmente, os escravos (sensores e atores) são independentes e contam com mensagens I2C baseadas em convenção para ler propriedades ou agir em comandos. O Master coleta os metadados e propriedades dos escravos e os envia para um broker MQTT. Ele também inicia um servidor da web e fornece arquivos JSON que podem ser editados para configurar o mestre e personalizar os metadados / propriedades que eventualmente são consumidos pelo Crouton. Os sensores / atores individuais são lidos / comandados via Crouton sem que o mestre tenha qualquer conhecimento prévio do que os escravos fazem.

Um dos objetivos da ASSIMILATE IOT NETWORK é personalizar AssimilateCrouton para que os editores de mashup servidos pelos servidores da web IOT NODE (consulte os hubs a seguir) sejam adicionados como componentes da web que darão controle completo do que a coisa faz, ou seja, o mestre não está programado, os escravos têm conjuntos de recursos básicos, mas o painel do Crouton incorpora todas as regras de negócios necessárias para executar a coisa!

O garfo Crouton é visto como uma opção para o controle / configuração descentralizada das coisas. Em essência, qualquer combinação de cliente / GUI MQTT pode administrar suas coisas, já que cada função (sensores e atores) são expostos como terminais MQTT.

CROUTON

Crouton. https://crouton.mybluemix.net/ Crouton é um painel que permite visualizar e controlar seus dispositivos IOT com configuração mínima. Essencialmente, é o painel mais fácil de configurar para qualquer entusiasta de hardware IOT usando apenas MQTT e JSON.

Os ASSIMILATE SLAVES (sensores e atores) possuem metadados e propriedades embutidos que o mestre usa para construir o pacote deviceInfo json que Crouton usa para construir o painel. O intermediário entre ASSIMILATE NODES e Crouton é um broker MQTT compatível com websockets: o Mosquito é usado para a demonstração.

À medida que ASSIMILATE MASTER (consulte os hubs a seguir) solicita propriedades, ele formata os valores de resposta no formato necessário para atualizações de Crouton.

Etapa 1: ASSIMILATE SENSOR HUB: ICOS10 CORS WEBCOMPONENTS

ASSIMILATE SENSOR HUB: ICOS10 CORS WEBCOMPONENTS
ASSIMILATE SENSOR HUB: ICOS10 CORS WEBCOMPONENTS

No dispositivo, todos os recursos do servidor web com autenticação e hospedagem em SPIFFS ainda são suportados, mas o foco especial foi dado para o suporte CORS (Cross Origin Resource Sharing) para Polymer WebComponents (Crouton usa Polymer 1.4.0).

RECURSOS Instrutíveis, Repositório

Etapa 2: ASSIMILATE SENSOR HUB: ICOS10 PERSONALIZAÇÃO WEBSEREVER

ASSIMILATE SENSOR HUB: ICOS10 CUSTOMIZATION WEBSEREVER
ASSIMILATE SENSOR HUB: ICOS10 CUSTOMIZATION WEBSEREVER

Os escravos ASSIMILATE SENSOR / ACTOR incorporam metadados que são usados para as visualizações de definição no Crouton. Esta construção adiciona um servidor web ao ESP8266 Master, serve alguns arquivos de configuração que podem ser modificados pelo usuário, então usa esses arquivos para redefinir as visualizações. Portanto, os nomes dos cartões do painel e a maioria das propriedades configuráveis podem ser alterados. Isso foi necessário, por exemplo o DHT11 publica as propriedades de Temperatura e Umidade: se um local tiver vários nós com sensores DHT11 separados, todos eles não podem ser chamados de Temperatura (Temp. Garagem, Temp. Pátio…). A restrição de comprimento de metadados definida pelo Barramento I2C (16 caracteres) não existe e valores mais ricos podem ser aplicados (até 64 caracteres).

A autenticação básica opcional é cofigurável para a página da Web de edição, bem como uma lista de exclusão da autenticação para outros recursos. Um switch low-side que desliga os escravos quando necessário, também foi desenvolvido em uma placa-filha existente. Como uma nota técnica, antes de iniciar esta construção, a pegada de memória era de 70% por causa de um gráfico de objeto de metadados global. A biblioteca AssimilateBus mais recente teve mudanças significativas que separam a variável global em arquivos JSON menores salvos em SPIFFS. Isso trouxe a pegada de volta para ~ 50%, o que é mais seguro para toda a análise / construção JSON. A biblioteca AssimilateBusSlave permanece a mesma (ASSIM_VERSION 2) durante essas mudanças.

RECURSOS

Instrutível, Repositório

Etapa 3: ASSIMILATE SENSOR HUB: ICOS10 CROUTON RESET NODE

ASSIMILATE SENSOR HUB: ICOS10 CROUTON RESET NODE
ASSIMILATE SENSOR HUB: ICOS10 CROUTON RESET NODE

Este é o predecessor da construção do Customization Webserver. Ele ainda tem integração do Crouton.

Esta construção envia o deviceInfo exigido pelo Crouton para o broker MQTT, para inicializar os painéis automáticos. O ASSIM_VERSION precisa ser 2 para o AssimilateBusSlaves (atores e sensores). Os CABEÇALHOS DE HABITAÇÃO anteriores foram ligeiramente modificados, com o trilho D0 substituindo o trilho D6 não utilizado. Uma nova placa filha foi adicionada que permite reinicializações de hardware, despertando sob certas condições e no futuro será usada para o interruptor de energia do lado inferior (para controle de energia dos escravos).

RECURSOS

Instrutível, Repositório

Etapa 4: ASSIMILATE SENSOR HUB: ICOS10 3V3 MQTT NODE

ASSIMILATE SENSOR HUB: ICOS10 3V3 MQTT NODE
ASSIMILATE SENSOR HUB: ICOS10 3V3 MQTT NODE

Este é o primeiro em uma variedade de combinações MCU / Feature nos ASSIMILATE SENSOR HUBS: os mestres que coletam os dumps de dados dos escravos I2C ASSIMILATE SENSORS.

Esta construção usa um Wemos D1 Mini, para publicar quaisquer dados despejados dos ASSIMILATE SENSORS para um servidor MQTT. Ele fornece um barramento 3V3 I2C para os sensores. Um trilho de 5 V ainda é fornecido, mas não há um conversor de nível lógico para o I2C de 5 V e pode não funcionar como desejado. Isso será entregue em uma futura substituição de placa-filha com conjunto de recursos para a apresentada aqui.

RECURSOS Instrutíveis, Repositório

Etapa 5: ASSIMILATE SENSOR HUB: ICOS10 GENERIC SHELL (IDC) CONJUNTO

ASSIMILATE SENSOR HUB: ICOS10 GENERIC SHELL (IDC) CONJUNTO
ASSIMILATE SENSOR HUB: ICOS10 GENERIC SHELL (IDC) CONJUNTO

Esta é uma versão melhorada (robustez do circuito) do conjunto ASSIMILATE SENSOR HUB: ICOS10 GENERIC SHELL (HOOKUP WIRE). Ele monta mais rápido e tem um circuito de qualidade superior, mas custa mais (~ $ 10 extras se for compatível com 10 sensores). A principal característica é que agora é muito modular: painéis e cabos podem ser substituídos / personalizados sem a necessidade de dessoldar / soldar.

RECURSOS Instrutíveis, Peças 3D

Etapa 6: IOT123 - ASSIMILATE SENSOR HUB: ICOS10 GENERIC SHELL (HOOKUP WIRE) MONTAGEM

IOT123 - ASSIMILATE SENSOR HUB: ICOS10 GENERIC SHELL (HOOKUP WIRE) CONJUNTO
IOT123 - ASSIMILATE SENSOR HUB: ICOS10 GENERIC SHELL (HOOKUP WIRE) CONJUNTO

Este é o conjunto Shell original. Use o IDC acima.

RECURSOS Instrutíveis, Peças 3D

Etapa 7: I2C MAX9812 TIJOLO

I2C MAX9812 TIJOLO
I2C MAX9812 TIJOLO
I2C MAX9812 TIJOLO
I2C MAX9812 TIJOLO

Este é o circuito usado pelo seguinte ASSIMILATE SERSOR.

Este I2C MAX9812 BRICK despeja 3 propriedades de detecção de som:

  • audMin (0-1023) - valor mais baixo dentro da janela de amostra de 50ms (20 Hz)
  • audMax (0-1023) - valor mais alto dentro da janela de amostra de 50ms (20 Hz)
  • audDiff (0-50) - um valor derivado da diferença de aMin e aMax

RECURSOS

Instrutível, Repositório

Etapa 8: ASSIMILAR SENSOR: MAX9812

ASSIMILATE SENSOR: MAX9812
ASSIMILATE SENSOR: MAX9812
ASSIMILATE SENSOR: MAX9812
ASSIMILATE SENSOR: MAX9812

Esta construção é baseada no I2C MAX9812 BRICK.

Se você precisar de ganho ajustável, recomendo trocar este sensor pelo MAX4466.

Este SENSOR ASSIMILATE descarta 3 propriedades:

  1. audMin (0-1023) - valor mais baixo dentro da janela de amostra de 50ms (20 Hz)
  2. audMax (0-1023) - valor mais alto dentro da janela de amostra de 50ms (20 Hz)
  3. audDiff (0-50) - um valor derivado da diferença de aMin e aMax

RECURSOS

Instrutíveis, Repositório, Peças 3D

Etapa 9: I2C HEARTBEAT TIJOLO

I2C HEARTBEAT TIJOLO
I2C HEARTBEAT TIJOLO
I2C HEARTBEAT TIJOLO
I2C HEARTBEAT TIJOLO

Este é o circuito usado pelo seguinte ASSIMILATE SERSOR.

Este TIJOLO I2C HEARTBEAT indica se o escravo ATTINY está ativo, também o tráfego I2C, e tem uma propriedade:

STATUS ("VIVO")

RECURSOS

Instrutível, Repositório

Etapa 10: ASSIMILAR ATOR: BATIMENTO CARDÍACO

ASSIMILAR ATOR: HEARTBEAT
ASSIMILAR ATOR: HEARTBEAT
ASSIMILAR ATOR: HEARTBEAT
ASSIMILAR ATOR: HEARTBEAT

Esta construção é baseada no I2C HEARTBEAT BRICK.

Este ASSIMILATE ACTOR tem uma propriedade:

STATUS ("VIVO")

PB1 (fio branco, LED azul) indica saúde ATTINY.

PB3 (fio amarelo, LED verde) alterna com solicitações I2C do mestre.

PB4 (fio laranja, LED vermelho) alterna com I2C recebendo do mestre.

RECURSOS

Instrutíveis, Repositório, Peças 3D

Etapa 11: I2C 2CH RELAY TIJOLO

I2C 2CH RELAY TIJOLO
I2C 2CH RELAY TIJOLO
I2C 2CH RELAY TIJOLO
I2C 2CH RELAY TIJOLO

Este é o circuito não adequado como ASSIMILATE ACTOR padrão. Pode ser mais adequado nos Rails I2C PCB.

Este I2C 2CH RELAY BRICK estende a funcionalidade do I2C KY019 BRICK e tem duas propriedades de leitura / gravação:

  • 2CH RELAYS [0] (verdadeiro / falso).
  • 2CH RELAYS [1] (verdadeiro / falso).

RECURSOS

Instrutível, Repositório

Etapa 12: I2C KY019 TIJOLO

I2C KY019 TIJOLO
I2C KY019 TIJOLO
I2C KY019 TIJOLO
I2C KY019 TIJOLO

Este é o circuito que é usado pelo seguinte ASSIMILATE ACTOR.

Este TIJOLO I2C KY019 é o primeiro dos ACTORS e tem uma propriedade de leitura / gravação:

Alternar (verdadeiro / falso)

RECURSOS

Instrutível, Repositório

Etapa 13: ASSIMILAR ATOR: KY019

ASSIMILAR ATOR: KY019
ASSIMILAR ATOR: KY019
ASSIMILAR ATOR: KY019
ASSIMILAR ATOR: KY019

Esta construção é baseada no TIJOLO I2C KY019.

Se você precisar de 2 canais, recomendo trocar este ator pelo 2CH RELAY BRICK.

Este ASSIMILATE ACTORS, e tem uma propriedade de leitura / gravação:

Alternar (verdadeiro / falso)

RECURSOS

Instrutíveis, Repositório, Peças 3D

Etapa 14: I2C TEMT6000 TIJOLO

I2C TEMT6000 TIJOLO
I2C TEMT6000 TIJOLO
I2C TEMT6000 TIJOLO
I2C TEMT6000 TIJOLO

Este é o circuito que é usado pelo seguinte ASSIMILATE ACTOR.

Este I2C TEMT6000 BRICK despeja 3 propriedades:

  • Iluminação Ambiente (Lux)
  • Iluminação ambiente (unidades Foot Candel)
  • Irradiação ambiental (Watt por metro quadrado).

RECURSOS

Instrutível, Repositório

Etapa 15: ASSIMILAR SENSOR: TEMT6000

ASSIMILATE SENSOR: TEMT6000
ASSIMILATE SENSOR: TEMT6000
ASSIMILATE SENSOR: TEMT6000
ASSIMILATE SENSOR: TEMT6000

Esta construção é baseada no I2C TEMT6000 BRICK.

Este SENSOR ASSIMILATE descarta 3 propriedades:

  • Iluminação Ambiente (Lux)
  • Iluminação ambiente (unidades Foot Candel)
  • Irradiação ambiental (Watt por metro quadrado).

RECURSOS

Instrutíveis, Repositório, Peças 3D

Etapa 16: I2C MQ2 BRICK

I2C MQ2 BRICK
I2C MQ2 BRICK
I2C MQ2 BRICK
I2C MQ2 BRICK

Este é o circuito que é usado pelo seguinte ASSIMILATE ACTOR.

Este I2C MQ2 BRICK despeja 3 propriedades:

  • GLP (partes por milhão)
  • CO (PPM)
  • FUMAR (PPM).

RECURSOS

Instrutível, Repositório

Etapa 17: ASSIMILAR SENSOR: MQ2

ASSIMILATE SENSOR: MQ2
ASSIMILATE SENSOR: MQ2
ASSIMILATE SENSOR: MQ2
ASSIMILATE SENSOR: MQ2

Esta construção é baseada no I2C MQ2 BRICK.

Este SENSOR ASSIMILATE descarta 3 propriedades:

  • GLP (partes por milhão)
  • CO (PPM)
  • FUMAR (PPM).

RECURSOS

Instrutíveis, Repositório, Peças 3D

Etapa 18: TIJOLO I2C DHT11

I2C DHT11 TIJOLO
I2C DHT11 TIJOLO
I2C DHT11 TIJOLO
I2C DHT11 TIJOLO

Este é o circuito que é usado pelo seguinte ASSIMILATE ACTOR.

Este BRICK I2C DHT11 despeja 5 propriedades:

  • Umidade (%)
  • Temperatura (C)
  • Temperatura (F)
  • Temperatura (K)
  • Ponto de Orvalho (C).

RECURSOS

Instrutível, Repositório

Etapa 19: ASSIMILAR SENSOR: DHT11

ASSIMILATE SENSOR: DHT11
ASSIMILATE SENSOR: DHT11
ASSIMILATE SENSOR: DHT11
ASSIMILATE SENSOR: DHT11

Esta construção é baseada no I2C MQ2 BRICK.

Este SENSOR ASSIMILATE descarta 5 propriedades:

  • Umidade (%)
  • Temperatura (C)
  • Temperatura (F)
  • Temperatura (K)
  • Ponto de Orvalho (C).

RECURSOS

Instrutíveis, Repositório, Peças 3D

Etapa 20: TRILHOS PCB I2C

TRILHOS I2C PCB
TRILHOS I2C PCB

Onde invólucros duráveis não são necessários, os SENSORES e ATORES DE REDE ASSIMILATE IOT podem empilhar com mais eficiência e com menos recursos e esforço, direto em trilhos minimalistas. Os cilindros de revestimento podem ser usados (como mostrado nesta construção) ou os tijolos subjacentes podem ser conectados diretamente.

RECURSOSInstrutíveis

Etapa 21: ESCRAVO DE PROTOTIPAGEM DE TIJOLO I2C

ESCRAVO DE PROTOTIPAGEM DE TIJOLO I2C
ESCRAVO DE PROTOTIPAGEM DE TIJOLO I2C
ESCRAVO DE PROTOTIPAGEM DE TIJOLO I2C
ESCRAVO DE PROTOTIPAGEM DE TIJOLO I2C

Durante o desenvolvimento do último ASSIMILATE ACTOR (KY-019 RELAY), uma placa de desenvolvimento genérica foi montada para me poupar algum trabalho extra em minha mesa.

Ele tem a pinagem padrão do I2C IOT123 BRICK, mas permite conexões personalizadas com o sensor do ATTINY85.

O ATTINY85 é removível por meio do soquete DIL. As linhas I2C são cabeadas. Todo o resto é conectável por breakout. Funciona muito bem com o I2C BRICK MASTER JIG.

RECURSOSInstrutíveis

Etapa 22: I2C BRICK MASTER JIG

I2C BRICK MASTER JIG
I2C BRICK MASTER JIG

Ao desenvolver os SENSORES e ATORES ASSIMILATE, mantenho um UNO à mão para enviar comandos I2C ad hoc para os protótipos que estão sendo desenvolvidos.

Um dos benefícios dos TIJOLOS I2C são as pinagens padronizadas. Em vez de usar fios de protoboard a cada vez (veja os Fritzings), um escudo robusto de baixa tecnologia é usado.

RECURSOSInstrutíveis

Etapa 23: TESTADOR DE CABOS IDC (6 FIOS)

TESTADOR DE CABOS IDC (6 FIOS)
TESTADOR DE CABOS IDC (6 FIOS)

Ao desenvolver o HUB DO SENSOR ASSIMILATE ICOS10, precisei verificar os cabos que estava criando. A verificação consistia em verificar a continuidade entre as tomadas e o isolamento entre os fios. O projeto que criei com interruptores DIP usados para alternar entre os testes de continuidade e de isolamento. Como espero ter uma placa diferente para cada teste (as chaves DIP não são feitas para uso constante), os dois circuitos podem ser conectados sem a necessidade de chaves DIP, RECURSOSInstrutíveis

Etapa 24: TESTADOR DE CIRCUITO DO PAINEL ICOS

TESTADOR DE CIRCUITO DE PAINEL ICOS
TESTADOR DE CIRCUITO DE PAINEL ICOS
TESTADOR DE CIRCUITO DE PAINEL ICOS
TESTADOR DE CIRCUITO DE PAINEL ICOS

Ao desenvolver o ICOS10 ASSIMILATE SENSOR HUB, eu precisei verificar os circuitos do painel como eles foram feitos. Além disso, como os pinos estavam sendo soldados nos conectores 3P, eu queria pinos machos 3P inseridos neles para impedir qualquer deformação durante a soldagem. Outra coisa importante para este projeto: eu já havia desenvolvido um testador de circuito para os cabos IDC de 6 fios.

RECURSOSInstrutíveis

Etapa 25: JIG DE PROGRAMAÇÃO A BORDO ATTINY85

JIG DE PROGRAMAÇÃO A BORDO ATTINY85
JIG DE PROGRAMAÇÃO A BORDO ATTINY85

Nos designs do BRICK, mencionei que os orifícios adjacentes ao ATTINY85 não foram usados, para permitir um programador de pogo pin enquanto o DIP8 é soldado ao PCB. Este é aquele programador de pogo pin. Este é realmente apenas um cabo adaptador de um soquete DIP8 DIL de um programador existente para o pogo jig com espaçamento de 6 x 4 orifícios para usar no PCB.

RECURSOSInstrutíveis

Etapa 26: VÍDEOS

Recomendado: