Sommario:

IOT123 - ASSIMILAZIONE RETE IOT: 26 passaggi
IOT123 - ASSIMILAZIONE RETE IOT: 26 passaggi

Video: IOT123 - ASSIMILAZIONE RETE IOT: 26 passaggi

Video: IOT123 - ASSIMILAZIONE RETE IOT: 26 passaggi
Video: IOT123 - BYKO LIVE RIDE 2024, Dicembre
Anonim
IOT123 - ASSIMILA RETE IOT
IOT123 - ASSIMILA RETE IOT

ASSIMILATE IOT NETWORK è un insieme di protocolli che consentono una facile integrazione di sensori, attori, nodi di cose e broker locali con il mondo esterno.

Questo Instructable è istruzioni per le istruzioni; indicizza tutti i diversi progetti e indica dove si trovano gli articoli e le risorse per ciascun progetto.

CARATTERISTICHE E VISIONE Attualmente gli Slave (sensori e attori) sono autonomi e si basano su messaggi I2C basati su convenzioni per leggere proprietà o agire sui comandi. Il Master preleva i metadati e le proprietà dagli slave e li invia a un broker MQTT. Avvia anche un server web e serve file JSON che possono essere modificati per configurare il master e personalizzare i metadati/proprietà che alla fine vengono consumati da Crouton. I singoli sensori/attori vengono letti/comandati tramite Crouton senza che il master abbia alcuna conoscenza preliminare di ciò che fanno gli slave.

Uno degli obiettivi di ASSIMILATE IOT NETWORK è personalizzare AssimilateCrouton in modo che gli editor di mashup serviti dai server web IOT NODE (vedi hub seguenti), vengano aggiunti come componenti web che daranno il controllo completo di ciò che fa la cosa, cioè il master non è programmato, gli schiavi hanno set di funzionalità di base ma la dashboard di Crostino incorpora tutte le regole di business necessarie per eseguire la cosa!

La forcella Crouton è vista come un'opzione per il controllo/configurazione decentralizzata delle cose. In sostanza, qualsiasi combinazione client/GUI MQTT può amministrare le tue cose, poiché ogni funzione (sensori e attori) è esposta come endpoint MQTT.

CROSTINO

Crostino. https://crouton.mybluemix.net/ Crouton è una dashboard che ti consente di visualizzare e controllare i tuoi dispositivi IOT con una configurazione minima. In sostanza, è la dashboard più semplice da configurare per qualsiasi appassionato di hardware IOT utilizzando solo MQTT e JSON.

Gli ASSIMILATE SLAVES (sensori e attori) hanno metadati e proprietà incorporati che il master usa per costruire il pacchetto json deviceInfo che Crouton usa per costruire il dashboard. L'intermediario tra ASSIMILATE NODES e Crouton è un broker MQTT compatibile con i websockets: Mosquito viene utilizzato per la demo.

Quando ASSIMILATE MASTER (vedi hub seguenti) richiede le proprietà, formatta i valori di risposta nel formato richiesto per gli aggiornamenti di Crostino.

Passaggio 1: ASSIMILAZIONE HUB SENSORE: COMPONENTI WEB ICOS10 CORS

ASSIMILAZIONE HUB SENSORE: COMPONENTI WEB ICOS10 CORS
ASSIMILAZIONE HUB SENSORE: COMPONENTI WEB ICOS10 CORS

Sul dispositivo, sono ancora supportate tutte le funzionalità del server web con autenticazione e hosting in SPIFFS, ma è stata prestata particolare attenzione al supporto CORS (Cross Origin Resource Sharing) per Polymer WebComponents (Crouton utilizza Polymer 1.4.0).

RISORSEInstructable, Repository

Passaggio 2: ASSIMILAZIONE HUB SENSORE: PERSONALIZZAZIONE WEBSEREVER ICOS10

ASSIMILA SENSOR HUB: PERSONALIZZAZIONE ICOS10 WEBSEREVER
ASSIMILA SENSOR HUB: PERSONALIZZAZIONE ICOS10 WEBSEREVER

Gli slave ASSIMILA SENSOR/ACTOR incorporano i metadati utilizzati per le visualizzazioni di definizione in Crouton. Questa build aggiunge un server web al Master ESP8266, serve alcuni file di configurazione che possono essere modificati dall'utente, quindi utilizza quei file per ridefinire le visualizzazioni. Quindi i nomi delle schede dashboard e la maggior parte delle proprietà configurabili possono essere modificati. Questo era necessario ad es. il DHT11 pubblica le proprietà di Temperatura e Umidità: se un sito ha più nodi con sensori DHT11 separati non si possono chiamare tutti Temperatura (Garage Temp., Yard Temp…). La restrizione della lunghezza dei metadati impostata dal Bus I2C (16 caratteri) non esiste ed è possibile applicare valori più ricchi (fino a 64 caratteri).

L'autenticazione di base facoltativa è configurabile per la pagina Web di modifica, nonché un elenco di esclusione dall'autenticazione per altre risorse. Su una scheda figlia esistente è stato sviluppato anche un interruttore low-side che spegne gli slave quando necessario. Come nota tecnica, prima di iniziare questa build l'impronta di memoria era del 70% a causa di un grafico di oggetti metadati globali. L'ultima libreria AssimilateBus ha subito modifiche sostanziali che disaccoppiano la variabile globale in file JSON più piccoli salvati su SPIFFS. Ciò ha riportato l'impronta a ~50%, che è più sicura per tutta l'analisi/costruzione JSON. La libreria AssimilateBusSlave rimane la stessa (ASSIM_VERSION 2) durante queste modifiche.

RISORSE

Insegnabile, Repository

Passaggio 3: ASSIMILAZIONE HUB SENSORE: NODO DI RESET CROUTON ICOS10

ASSIMILAZIONE HUB SENSORE: ICOS10 CROUTON RESET NODE
ASSIMILAZIONE HUB SENSORE: ICOS10 CROUTON RESET NODE

Questo è il predecessore della build di Customization Webserver. Ha ancora l'integrazione con Crostino.

Questa build invia il deviceInfo richiesto da Crouton al broker MQTT, per eseguire il bootstrap dei dashboard automatici. L'ASSIM_VERSION deve essere 2 per gli AssimilateBusSlave (attori e sensori). I precedenti HOUSING HEADERS sono stati leggermente modificati, con il binario D0 che sostituisce il binario D6 inutilizzato. È stata aggiunta una nuova scheda figlia che consente il ripristino dell'hardware, il risveglio in determinate condizioni e in futuro verrà utilizzata per l'interruttore di alimentazione lato basso (per il controllo dell'alimentazione degli slave).

RISORSE

Insegnabile, Repository

Passaggio 4: ASSIMILAZIONE HUB SENSORE: ICOS10 3V3 MQTT NODE

ASSIMILAZIONE HUB SENSORE: ICOS10 3V3 MQTT NODE
ASSIMILAZIONE HUB SENSORE: ICOS10 3V3 MQTT NODE

Questo è il primo di una serie di combinazioni MCU/Funzione negli ASSIMILATE SENSOR HUBS: i master che raccolgono i dump dei dati dagli slave I2C ASSIMILATE SENSORS.

Questa build utilizza un Wemos D1 Mini, per pubblicare tutti i dati scaricati da ASSIMILATE SENSORS su un server MQTT. Fornisce un bus 3V3 I2C ai sensori. Viene ancora fornito un binario 5V ma non c'è un convertitore di livello logico per l'I2C 5V e potrebbe non funzionare come desiderato. Questo verrà fornito in una futura sostituzione della scheda figlia con set di funzionalità per quella presentata qui.

RISORSEInstructable, Repository

Passaggio 5: ASSIMILAZIONE HUB SENSORE: ASSEMBLAGGIO ICOS10 GENERIC SHELL (IDC)

ASSIMILARE HUB SENSORE: ICOS10 GENERIC SHELL (IDC) ASSEMBLY
ASSIMILARE HUB SENSORE: ICOS10 GENERIC SHELL (IDC) ASSEMBLY

Questa è una versione migliorata (robustezza del circuito) di ASSIMILATE SENSOR HUB: ICOS10 GENERIC SHELL (HOOKUP WIRE) Assembly. Si monta più velocemente e ha un circuito di qualità superiore, ma costa di più (~ $ 10 in più se supporta 10 sensori). La caratteristica principale è che ora è molto modulare: pannelli e cavi possono essere sostituiti/personalizzati senza la necessità di dissaldare/saldatura.

RISORSE Parti istruibili, 3D

Passaggio 6: IOT123 - ASSIMILAZIONE HUB SENSORE: MONTAGGIO DELL'INVOLUCRO GENERICO ICOS10 (CAVO DI COLLEGAMENTO)

IOT123 - ASSIMILAZIONE HUB SENSORE: ASSEMBLAGGIO GENERICO ICOS10 (CAVO DI COLLEGAMENTO)
IOT123 - ASSIMILAZIONE HUB SENSORE: ASSEMBLAGGIO GENERICO ICOS10 (CAVO DI COLLEGAMENTO)

Questo è l'assemblaggio Shell originale. Usa quello IDC sopra.

RISORSE Parti istruibili, 3D

Passaggio 7: I2C MAX9812 BRICK

I2C MAX9812 MATTONE
I2C MAX9812 MATTONE
I2C MAX9812 MATTONE
I2C MAX9812 MATTONE

Questo è il circuito che viene utilizzato dal seguente SERSORE ASSIMILA.

Questo I2C MAX9812 BRICK scarica 3 proprietà di rilevamento del suono:

  • audMin (0-1023) - valore più basso all'interno della finestra di campionamento di 50 ms (20Hz)
  • audMax (0-1023) - valore più alto all'interno della finestra di campionamento di 50 ms (20Hz)
  • audDiff (0-50) - un valore derivato dalla differenza di aMin e aMax

RISORSE

Insegnabile, Repository

Passaggio 8: ASSIMILAZIONE SENSORE: MAX9812

SENSORE ASSIMILA: MAX9812
SENSORE ASSIMILA: MAX9812
SENSORE ASSIMILA: MAX9812
SENSORE ASSIMILA: MAX9812

Questa build è basata sul BRICK I2C MAX9812.

Se hai bisogno di un guadagno regolabile, ti consiglio di sostituire questo sensore con il MAX4466.

Questo SENSORE ASSIMILA scarica 3 proprietà:

  1. audMin (0-1023) - valore più basso all'interno della finestra di campionamento di 50 ms (20Hz)
  2. audMax (0-1023) - valore più alto all'interno della finestra di campionamento di 50 ms (20Hz)
  3. audDiff (0-50) - un valore derivato dalla differenza di aMin e aMax

RISORSE

Instructable, Repository, Parti 3D

Passaggio 9: MATTONE DEL BATTITO DEL CUORE I2C

MATTONE DEL BATTITO DEL CUORE I2C
MATTONE DEL BATTITO DEL CUORE I2C
MATTONE DEL BATTITO DEL CUORE I2C
MATTONE DEL BATTITO DEL CUORE I2C

Questo è il circuito che viene utilizzato dal seguente SERSOR ASSIMILA.

Questo I2C HEARTBEAT BRICK indica se lo slave ATTINY è vivo, anche il traffico I2C, e ha una proprietà:

STATO ("VIVO")

RISORSE

Insegnabile, Repository

Step 10: ASSIMILA ATTORE: HEARTBEAT

ATTORE ASSIMILA: HEARTBEAT
ATTORE ASSIMILA: HEARTBEAT
ATTORE ASSIMILA: HEARTBEAT
ATTORE ASSIMILA: HEARTBEAT

Questa build è basata sull'I2C HEARTBEAT BRICK.

Questo ATTORE ASSIMILA ha una proprietà:

STATO ("VIVO")

PB1 (filo bianco, LED blu) indica la salute di ATTINY.

PB3 (filo giallo, LED verde) si alterna con le richieste I2C dal master.

PB4 (filo arancione, LED rosso) si alterna con la ricezione I2C dal master.

RISORSE

Instructable, Repository, Parti 3D

Passaggio 11: MATTONI RELÈ I2C 2CH

MATTONI RELÈ I2C 2CH
MATTONI RELÈ I2C 2CH
MATTONI RELÈ I2C 2CH
MATTONI RELÈ I2C 2CH

Questo è il circuito non adatto come ASSIMILA ATTORE standard. Potrebbe essere più adatto sulle rotaie PCB I2C.

Questo BRICK RELAY I2C 2CH estende le funzionalità del BRICK I2C KY019 e ha due proprietà di lettura/scrittura:

  • RELÈ 2CH[0] (vero/falso).
  • RELÈ 2CH[1] (vero/falso).

RISORSE

Insegnabile, Repository

Passaggio 12: MATTONE I2C KY019

I2C KY019 MATTONE
I2C KY019 MATTONE
I2C KY019 MATTONE
I2C KY019 MATTONE

Questo è il circuito che viene utilizzato dal seguente ATTORE ASSIMILA.

Questo I2C KY019 BRICK è il primo degli ATTORI e ha una proprietà di lettura/scrittura:

Cambio (vero/falso)

RISORSE

Insegnabile, Repository

Fase 13: ASSIMILA ATTORE: KY019

ASSIMILA ATTORE: KY019
ASSIMILA ATTORE: KY019
ASSIMILA ATTORE: KY019
ASSIMILA ATTORE: KY019

Questa build è basata sul BRICK I2C KY019.

Se hai bisogno di 2 canali, ti consiglio di sostituire questo attore con il 2CH RELAY BRICK.

Questo ASSIMILA ATTORI e ha una proprietà di lettura/scrittura:

Cambio (vero/falso)

RISORSE

Instructable, Repository, Parti 3D

Passaggio 14: MATTONE I2C TEMT6000

I2C TEMT6000 MATTONE
I2C TEMT6000 MATTONE
I2C TEMT6000 MATTONE
I2C TEMT6000 MATTONE

Questo è il circuito che viene utilizzato dal seguente ATTORE ASSIMILA.

Questo I2C TEMT6000 BRICK scarica 3 proprietà:

  • Illuminazione ambiente (lux)
  • Illuminazione ambiente (unità Foot Candel)
  • Irradiazione ambientale (Watt per metro quadrato).

RISORSE

Insegnabile, Repository

Passaggio 15: ASSIMILAZIONE SENSORE: TEMT6000

SENSORE ASSIMILA: TEMT6000
SENSORE ASSIMILA: TEMT6000
SENSORE ASSIMILA: TEMT6000
SENSORE ASSIMILA: TEMT6000

Questa build è basata sul BRICK I2C TEMT6000.

Questo SENSORE ASSIMILA scarica 3 proprietà:

  • Illuminazione ambiente (lux)
  • Illuminazione ambientale (unità Foot Candel)
  • Irradiazione ambientale (Watt per metro quadrato).

RISORSE

Instructable, Repository, Parti 3D

Passaggio 16: I2C MQ2 BRICK

I2C MQ2 MATTONE
I2C MQ2 MATTONE
I2C MQ2 MATTONE
I2C MQ2 MATTONE

Questo è il circuito che viene utilizzato dal seguente ATTORE ASSIMILA.

Questo I2C MQ2 BRICK scarica 3 proprietà:

  • GPL (parti per milione)
  • CO (PPM)
  • FUMO (PPM).

RISORSE

Insegnabile, Repository

Passaggio 17: ASSIMILAZIONE SENSORE: MQ2

SENSORE ASSIMILA: MQ2
SENSORE ASSIMILA: MQ2
SENSORE ASSIMILA: MQ2
SENSORE ASSIMILA: MQ2

Questa build è basata sul BRICK I2C MQ2.

Questo SENSORE ASSIMILA scarica 3 proprietà:

  • GPL (parti per milione)
  • CO (PPM)
  • FUMO (PPM).

RISORSE

Instructable, Repository, Parti 3D

Passaggio 18: MATTONE I2C DHT11

I2C DHT11 MATTONE
I2C DHT11 MATTONE
I2C DHT11 MATTONE
I2C DHT11 MATTONE

Questo è il circuito che viene utilizzato dal seguente ATTORE ASSIMILA.

Questo I2C DHT11 BRICK scarica 5 proprietà:

  • Umidità (%)
  • Temperatura (C)
  • Temperatura (F)
  • Temperatura (K)
  • Punto di rugiada (C).

RISORSE

Insegnabile, Repository

Passaggio 19: ASSIMILAZIONE SENSORE: DHT11

SENSORE ASSIMILA: DHT11
SENSORE ASSIMILA: DHT11
SENSORE ASSIMILA: DHT11
SENSORE ASSIMILA: DHT11

Questa build è basata sul BRICK I2C MQ2.

Questo SENSORE ASSIMILA scarica 5 proprietà:

  • Umidità (%)
  • Temperatura (C)
  • Temperatura (F)
  • Temperatura (K)
  • Punto di rugiada (C).

RISORSE

Instructable, Repository, Parti 3D

Passaggio 20: SLITTE PCB I2C

SLITTE PCB I2C
SLITTE PCB I2C

Laddove non sono necessari involucri durevoli, ASSIMILATE IOT NETWORK SENSORS e ACTORS possono essere impilati in modo più efficiente e con meno risorse e sforzi, direttamente su binari minimalisti. È possibile utilizzare i cilindri di rivestimento (come mostrato in questa build) o collegare direttamente i mattoni sottostanti.

RISORSEInstructable

Passo 21: SLAVE DI PROTOTIPAZIONE DI MATTONI I2C

I2C BRICK PROTOTIPAZIONE SLAVE
I2C BRICK PROTOTIPAZIONE SLAVE
I2C BRICK PROTOTIPAZIONE SLAVE
I2C BRICK PROTOTIPAZIONE SLAVE

Durante lo sviluppo dell'ultimo ASSIMILATE ACTOR (KY-019 RELAY), è stata creata una scheda di sviluppo generica per risparmiarmi un po' di lavoro extra alla mia scrivania.

Ha i pinout standard dell'I2C IOT123 BRICK, ma consente connessioni personalizzate al sensore dall'ATTINY85.

L'ATTINY85 è rimovibile tramite la presa DIL. Le linee I2C sono cablate. Tutto il resto è collegabile tramite breakout. Funziona molto bene con l'I2C BRICK MASTER JIG.

RISORSEInstructable

Passaggio 22: JIG MASTER I2C BRICK

I2C BRICK MASTER JIG
I2C BRICK MASTER JIG

Durante lo sviluppo di ASSIMILATE SENSORS e ACTORS, tengo a portata di mano un UNO per inviare comandi I2C ad hoc ai prototipi in fase di sviluppo.

Uno dei vantaggi di I2C BRICKS è la piedinatura standardizzata. Piuttosto che usare ogni volta i fili della breadboard (vedi i Fritzings), viene utilizzato un robusto scudo lo-tech.

RISORSEInstructable

Fase 23: TESTER PER CAVI IDC (6 FILI)

TESTER CAVO IDC (6 FILI)
TESTER CAVO IDC (6 FILI)

Nello sviluppo dell'ICOS10 ASSIMILATE SENSOR HUB, avevo bisogno di verificare i cavi che stavo creando. La verifica consisteva nel verificare la continuità tra le prese e l'isolamento tra i fili. Il progetto che ho inventato utilizzava DIP switch per passare dai test di continuità a quelli di isolamento. Poiché mi aspetto di avere una scheda diversa per ogni test (i DIP Switch non sono costruiti per un uso costante), i due circuiti possono essere cablati senza la necessità di DIP Switch, RISORSEInstructable

Passaggio 24: TESTER DEL CIRCUITO DEL PANNELLO ICOS

TESTER PER CIRCUITI DA PANNELLO ICOS
TESTER PER CIRCUITI DA PANNELLO ICOS
TESTER PER CIRCUITI DA PANNELLO ICOS
TESTER PER CIRCUITI DA PANNELLO ICOS

Nello sviluppo dell'ICOS10 ASSIMILATE SENSOR HUB, ho dovuto verificare i circuiti del pannello così come sono stati realizzati. Inoltre, poiché i pin venivano saldati sulle intestazioni 3P, volevo inserire un pin maschio 3P per fermare qualsiasi deformazione durante la saldatura. Un altro elemento chiave di questo progetto: avevo già sviluppato un tester di circuito per i cavi IDC a 6 fili.

RISORSEInstructable

Passaggio 25: JIG DI PROGRAMMAZIONE A BORDO ATTINY85

DIMA DI PROGRAMMAZIONE DI BORDO ATTINY85
DIMA DI PROGRAMMAZIONE DI BORDO ATTINY85

Sui modelli BRICK, ho menzionato che i fori passanti adiacenti all'ATTINY85 sono stati lasciati inutilizzati, per abilitare un programmatore di pin pogo mentre il DIP8 è saldato al PCB. Questo è quel programmatore di pogo pin. Questo è davvero solo un cavo adattatore dalla presa DIP8 DIL di un programmatore esistente alla maschera pogo di spaziatura dei fori 6 x 4 da utilizzare sul PCB.

RISORSEInstructable

Passaggio 26: VIDEO

Consigliato: