Inhaltsverzeichnis:

IOT123 - IOT-NETZWERK ASSIMILIEREN - Gunook
IOT123 - IOT-NETZWERK ASSIMILIEREN - Gunook

Video: IOT123 - IOT-NETZWERK ASSIMILIEREN - Gunook

Video: IOT123 - IOT-NETZWERK ASSIMILIEREN - Gunook
Video: All Life Is Electromagnetic! 2024, Juli
Anonim
IOT123 - IOT-NETZWERK ASSIMILIEREN
IOT123 - IOT-NETZWERK ASSIMILIEREN

Das ASSIMILATE IOT NETWORK ist eine Reihe von Protokollen, die eine einfache Integration von Sensoren, Aktoren, Ding-Nodes und lokalen Brokern mit der Außenwelt ermöglichen.

Dieses Instructable ist Anweisungen für die Anweisungen; es indiziert alle verschiedenen Projekte und zeigt, wo sich die Artikel und Ressourcen für jedes Projekt befinden.

FUNKTIONEN UND SICHT Gegenwärtig sind die Slaves (Sensoren und Aktoren) in sich geschlossen und verlassen sich auf konventionsbasierte I2C-Nachrichten, um Eigenschaften zu lesen oder auf Befehle zu reagieren. Der Master holt die Metadaten und Eigenschaften von Slaves ab und sendet sie an einen MQTT-Broker. Es startet auch einen Webserver und stellt JSON-Dateien bereit, die bearbeitet werden können, um den Master zu konfigurieren und die Metadaten/Eigenschaften anzupassen, die schließlich von Crouton verwendet werden. Die einzelnen Sensoren/Aktoren werden über Crouton gelesen/kommandiert, ohne dass der Master vorher wissen muss, was die Slaves tun.

Eines der Ziele des ASSIMILATE IOT NETWORK besteht darin, AssimilateCrouton so anzupassen, dass Mashup-Editoren, die von den IOT NODE-Webservern (siehe folgende Hubs) bedient werden, als Webkomponenten hinzugefügt werden, die die vollständige Kontrolle über das Ding geben, dh der Master ist nicht programmiert. die Slaves verfügen über grundlegende Funktionen, aber das Crouton-Dashboard bettet alle Geschäftsregeln ein, die zum Ausführen des Dings erforderlich sind!

Die Crouton-Gabel wird als Option zur dezentralen Steuerung/Konfiguration von Dingen gesehen. Im Wesentlichen kann jede MQTT-Client/GUI-Kombination Ihre Dinge verwalten, da jede Funktion (Sensoren und Aktoren) als MQTT-Endpunkte bereitgestellt wird.

CROUTON

Crouton. https://crouton.mybluemix.net/ Crouton ist ein Dashboard, mit dem Sie Ihre IOT-Geräte mit minimalem Setup visualisieren und steuern können. Im Wesentlichen ist es das am einfachsten einzurichtende Dashboard für jeden IOT-Hardware-Enthusiasten, der nur MQTT und JSON verwendet.

Die ASSIMILATE SLAVES (Sensoren und Aktoren) verfügen über eingebettete Metadaten und Eigenschaften, die der Master verwendet, um das Json-Paket deviceInfo aufzubauen, das Crouton zum Erstellen des Dashboards verwendet. Der Vermittler zwischen ASSIMILATE NODES und Crouton ist ein websockets-freundlicher MQTT-Broker: Mosquito wird für die Demo verwendet.

Da der ASSIMILATE MASTER (siehe folgende Hubs) Eigenschaften anfordert, formatiert er die Antwortwerte im erforderlichen Format für Crouton-Updates.

Schritt 1: ASSIMILIEREN SENSOR HUB: ICOS10 CORS WEBCOMPONENTS

ASSIMILIEREN SENSOR HUB: ICOS10 CORS WEBKOMPONENTEN
ASSIMILIEREN SENSOR HUB: ICOS10 CORS WEBKOMPONENTEN

Auf dem Gerät werden weiterhin alle Webserver-Funktionen mit Authentifizierung und Hosting in SPIFFS unterstützt, aber besonderer Fokus wurde auf die CORS-Unterstützung (Cross Origin Resource Sharing) für Polymer WebComponents gelegt (Crouton verwendet Polymer 1.4.0).

RESSOURCENInstructable, Repository

Schritt 2: SENSOR HUB ASSIMILIEREN: ICOS10 ANPASSUNGSWEBSERVER

SENSOR HUB ASSIMILIEREN: ICOS10 ANPASSUNGSWEBSEREVER
SENSOR HUB ASSIMILIEREN: ICOS10 ANPASSUNGSWEBSEREVER

Die ASSIMILATE SENSOR/ACTOR Slaves betten Metadaten ein, die für die Definition von Visualisierungen in Crouton verwendet werden. Dieser Build fügt dem ESP8266-Master einen Webserver hinzu, stellt einige Konfigurationsdateien bereit, die vom Benutzer geändert werden können, und verwendet diese Dateien dann, um die Visualisierungen neu zu definieren. So können die Namen der Dashboard-Karten und die meisten der konfigurierbaren Eigenschaften geändert werden. Dies war z. B. das DHT11 veröffentlicht Temperatur- und Feuchtigkeitseigenschaften: Wenn ein Standort mehrere Knoten mit separaten DHT11-Sensoren hat, können sie nicht alle als Temperatur bezeichnet werden (Garage Temp., Yard Temp…). Die vom I2C-Bus festgelegte Beschränkung der Metadatenlänge (16 Zeichen) existiert nicht und es können umfangreichere Werte angewendet werden (bis zu 64 Zeichen).

Die optionale Basisauthentifizierung ist für die Bearbeitungswebseite sowie eine Ausschlussliste von der Authentifizierung für andere Ressourcen konfigurierbar. Auf einer bestehenden Tochterplatine wurde auch ein Low-Side-Switch entwickelt, der die Slaves bei Bedarf abschaltet. Als technischer Hinweis: Vor Beginn dieses Builds betrug der Speicherbedarf aufgrund eines globalen Metadatenobjektdiagramms 70 %. Die neueste AssimilateBus-Bibliothek weist grundlegende Änderungen auf, die die globale Variable in kleinere JSON-Dateien entkoppeln, die in SPIFFS gespeichert werden. Dies hat den Footprint auf ~50% zurückgebracht, was für das gesamte JSON-Parsing/Building sicherer ist. Die AssimilateBusSlave-Bibliothek bleibt während dieser Änderungen gleich (ASSIM_VERSION 2).

RESSOURCEN

Instructable, Repository

Schritt 3: SENSOR HUB ASSIMILIEREN: ICOS10 CROUTON RESET NODE

ASSIMILIEREN SENSOR HUB: ICOS10 CROUTON RESET NODE
ASSIMILIEREN SENSOR HUB: ICOS10 CROUTON RESET NODE

Dies ist der Vorgänger des Customization Webserver Builds. Es hat immer noch die Crouton-Integration.

Dieser Build sendet die von Crouton benötigten deviceInfo an den MQTT-Broker, um automatische Dashboards zu booten. Die ASSIM_VERSION muss für die AssimilateBusSlaves (Aktoren und Sensoren) 2 sein. Die vorherigen GEHÄUSEHEADER wurden leicht modifiziert, wobei die D0-Schiene die ungenutzte D6-Schiene ersetzt. Ein neues Daughterboard wurde hinzugefügt, das Hardware-Resets, das Aufwecken unter bestimmten Bedingungen ermöglicht und in Zukunft für den Low-Side-Power-Switch (zur Leistungssteuerung der Slaves) verwendet wird.

RESSOURCEN

Instructable, Repository

Schritt 4: ASSIMILIEREN SENSOR HUB: ICOS10 3V3 MQTT NODE

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

Dies ist die erste einer Vielzahl von MCU/Feature-Kombinationen in den ASSIMILATE SENSOR HUBS: die Master, die die Datendumps von den I2C ASSIMILATE SENSORS Slaves sammeln.

Dieser Build verwendet einen Wemos D1 Mini, um alle von den ASSIMILATE SENSORS ausgegebenen Daten auf einem MQTT-Server zu veröffentlichen. Es versorgt die Sensoren mit einem 3V3-I2C-Bus. Eine 5V-Schiene wird weiterhin geliefert, aber es gibt keinen Logikpegelwandler für den 5V-I2C und er funktioniert möglicherweise nicht wie gewünscht. Dies wird in einem zukünftigen Ersatz für das hier vorgestellte Daughterboard mit Funktionsumfang geliefert.

RESSOURCENInstructable, Repository

Schritt 5: SENSOR HUB ASSIMILIEREN: ICOS10 GENERIC SHELL (IDC) MONTAGE

ASSIMILIEREN SENSOR HUB: ICOS10 GENERIC SHELL (IDC) MONTAGE
ASSIMILIEREN SENSOR HUB: ICOS10 GENERIC SHELL (IDC) MONTAGE

Dies ist eine verbesserte (Schaltungsrobustheit) Version des ASSIMILATE SENSOR HUB: ICOS10 GENERIC SHELL (HOOKUP WIRE) Assembly. Es lässt sich schneller zusammenbauen und hat eine hochwertigere Schaltung, kostet aber mehr (~ 10 US-Dollar extra, wenn 10 Sensoren unterstützt werden). Das Hauptmerkmal ist, dass es jetzt sehr modular ist: Panels und Kabel können ausgetauscht / angepasst werden, ohne dass sie entlötet / gelötet werden müssen.

RESSOURCENAnweisbare 3D-Teile

Schritt 6: IOT123 - ASSIMILATE SENSOR HUB: ICOS10 GENERIC SHELL (HOOKUP WIRE) MONTAGE

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

Dies ist die ursprüngliche Shell-Baugruppe. Verwenden Sie den oben genannten IDC.

RESSOURCENAnweisbare 3D-Teile

Schritt 7: I2C MAX9812 BRICK

I2C MAX9812 BRICK
I2C MAX9812 BRICK
I2C MAX9812 BRICK
I2C MAX9812 BRICK

Dies ist die Schaltung, die vom folgenden ASSIMILATE SERSOR verwendet wird.

Dieser I2C MAX9812 BRICK bietet 3 Schallsensoreigenschaften:

  • audMin (0-1023) - niedrigster Wert innerhalb des 50ms (20Hz) Sample-Fensters
  • audMax (0-1023) - höchster Wert innerhalb des 50ms (20Hz) Sample-Fensters
  • audDiff (0-50) - ein aus der Differenz von aMin und aMax abgeleiteter Wert

RESSOURCEN

Instructable, Repository

Schritt 8: SENSOR ASSIMILIEREN: MAX9812

SENSOR ANPASSEN: MAX9812
SENSOR ANPASSEN: MAX9812
SENSOR ANPASSEN: MAX9812
SENSOR ANPASSEN: MAX9812

Dieser Build basiert auf dem I2C MAX9812 BRICK.

Wenn Sie eine einstellbare Verstärkung benötigen, empfehle ich, diesen Sensor gegen den MAX4466 auszutauschen.

Dieser ASSIMILATE SENSOR gibt 3 Eigenschaften aus:

  1. audMin (0-1023) - niedrigster Wert innerhalb des 50ms (20Hz) Sample-Fensters
  2. audMax (0-1023) - höchster Wert innerhalb des 50ms (20Hz) Sample-Fensters
  3. audDiff (0-50) - ein aus der Differenz von aMin und aMax abgeleiteter Wert

RESSOURCEN

Instructable, Repository, 3D-Teile

Schritt 9: I2C HEARTBEAT BRICK

I2C HEARTBEAT BRICK
I2C HEARTBEAT BRICK
I2C HEARTBEAT BRICK
I2C HEARTBEAT BRICK

Dies ist die Schaltung, die vom folgenden ASSIMILATE SERSOR verwendet wird.

Dieser I2C HEARTBEAT BRICK zeigt an, ob der ATTINY-Slave aktiv ist, auch den I2C-Verkehr und hat eine Eigenschaft:

ZUSTAND ("LEBEND")

RESSOURCEN

Instructable, Repository

Schritt 10: SCHAUSPIELER ASSIMILIEREN: HEARTBEAT

SCHAUSPIELER ASSIMILIEREN: HEARTBEAT
SCHAUSPIELER ASSIMILIEREN: HEARTBEAT
SCHAUSPIELER ASSIMILIEREN: HEARTBEAT
SCHAUSPIELER ASSIMILIEREN: HEARTBEAT

Dieser Build basiert auf dem I2C HEARTBEAT BRICK.

Dieser ASSIMILATE ACTOR hat eine Eigenschaft:

ZUSTAND ("LEBEND")

PB1 (weißes Kabel, blaue LED) zeigt den Zustand von ATTINY an.

PB3 (gelber Draht, grüne LED) toggelt mit I2C-Anfragen vom Master.

PB4 (orangefarbenes Kabel, rote LED) schaltet mit I2C-Empfang vom Master um.

RESSOURCEN

Instructable, Repository, 3D-Teile

Schritt 11: I2C 2CH RELAY BRICK

I2C 2CH RELAISZIEGEL
I2C 2CH RELAISZIEGEL
I2C 2CH RELAISZIEGEL
I2C 2CH RELAISZIEGEL

Dies ist die Schaltung ist nicht als Standard ASSIMILATE ACTOR geeignet. Es ist möglicherweise besser für die I2C-Leiterplattenschienen geeignet.

Dieser I2C 2CH RELAY BRICK erweitert die Funktionalität des I2C KY019 BRICK und verfügt über zwei Lese-/Schreibeigenschaften:

  • 2CH RELAIS[0] (wahr/falsch).
  • 2CH RELAIS[1] (wahr/falsch).

RESSOURCEN

Instructable, Repository

Schritt 12: I2C KY019 BRICK

I2C KY019 ZIEGEL
I2C KY019 ZIEGEL
I2C KY019 ZIEGEL
I2C KY019 ZIEGEL

Dies ist die Schaltung, die von dem folgenden ASSIMILATE ACTOR verwendet wird.

Dieser I2C KY019 BRICK ist der erste der ACTORS und hat eine Lese-/Schreibeigenschaft:

Wechseln (wahr/falsch)

RESSOURCEN

Instructable, Repository

Schritt 13: SCHAUSPIELER ASSIMILIEREN: KY019

SCHAUSPIELER ASSIMILIEREN: KY019
SCHAUSPIELER ASSIMILIEREN: KY019
SCHAUSPIELER ASSIMILIEREN: KY019
SCHAUSPIELER ASSIMILIEREN: KY019

Dieser Build basiert auf dem I2C KY019 BRICK.

Wenn Sie 2 Kanäle benötigen, empfehle ich, diesen Aktor gegen den 2CH RELAY BRICK auszutauschen.

Diese ASSIMILATE ACTORS und hat eine Lese-/Schreibeigenschaft:

Wechseln (wahr/falsch)

RESSOURCEN

Instructable, Repository, 3D-Teile

Schritt 14: I2C TEMT6000 BRICK

I2C TEMT6000 BRICK
I2C TEMT6000 BRICK
I2C TEMT6000 BRICK
I2C TEMT6000 BRICK

Dies ist die Schaltung, die von dem folgenden ASSIMILATE ACTOR verwendet wird.

Dieser I2C TEMT6000 BRICK gibt 3 Eigenschaften ab:

  • Umgebungsbeleuchtung (Lux)
  • Umgebungsbeleuchtung (Fuß-Candel-Einheiten)
  • Umgebungsstrahlung (Watt pro Quadratmeter).

RESSOURCEN

Instructable, Repository

Schritt 15: SENSOR ASSIMILIEREN: TEMT6000

SENSOR ANPASSEN: TEMT6000
SENSOR ANPASSEN: TEMT6000
SENSOR ANPASSEN: TEMT6000
SENSOR ANPASSEN: TEMT6000

Dieser Build basiert auf dem I2C TEMT6000 BRICK.

Dieser ASSIMILATE SENSOR gibt 3 Eigenschaften aus:

  • Umgebungsbeleuchtung (Lux)
  • Umgebungsbeleuchtung (Fuß-Candel-Einheiten)
  • Umgebungsstrahlung (Watt pro Quadratmeter).

RESSOURCEN

Instructable, Repository, 3D-Teile

Schritt 16: I2C MQ2 BRICK

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

Dies ist die Schaltung, die von dem folgenden ASSIMILATE ACTOR verwendet wird.

Dieser I2C MQ2 BRICK dumpt 3 Eigenschaften:

  • Flüssiggas (Teile pro Million)
  • CO (PPM)
  • RAUCH (PPM).

RESSOURCEN

Instructable, Repository

Schritt 17: SENSOR ASSIMILIEREN: MQ2

SENSOR ANPASSEN: MQ2
SENSOR ANPASSEN: MQ2
SENSOR ANPASSEN: MQ2
SENSOR ANPASSEN: MQ2

Dieser Build basiert auf dem I2C MQ2 BRICK.

Dieser ASSIMILATE SENSOR gibt 3 Eigenschaften aus:

  • Flüssiggas (Teile pro Million)
  • CO (PPM)
  • RAUCH (PPM).

RESSOURCEN

Instructable, Repository, 3D-Teile

Schritt 18: I2C DHT11 BRICK

I2C DHT11 BRICK
I2C DHT11 BRICK
I2C DHT11 BRICK
I2C DHT11 BRICK

Dies ist die Schaltung, die von dem folgenden ASSIMILATE ACTOR verwendet wird.

Dieser I2C DHT11 BRICK gibt 5 Eigenschaften aus:

  • Feuchtigkeit (%)
  • Temperatur (C)
  • Temperatur (F)
  • Temperatur (K)
  • Taupunkt (C).

RESSOURCEN

Instructable, Repository

Schritt 19: SENSOR ASSIMILIEREN: DHT11

SENSOR ANPASSEN: DHT11
SENSOR ANPASSEN: DHT11
SENSOR ANPASSEN: DHT11
SENSOR ANPASSEN: DHT11

Dieser Build basiert auf dem I2C MQ2 BRICK.

Dieser ASSIMILATE SENSOR gibt 5 Eigenschaften aus:

  • Feuchtigkeit (%)
  • Temperatur (C)
  • Temperatur (F)
  • Temperatur (K)
  • Taupunkt (C).

RESSOURCEN

Instructable, Repository, 3D-Teile

Schritt 20: I2C-Leiterplattenschienen

I2C-Leiterplattenschienen
I2C-Leiterplattenschienen

Wo langlebige Gehäuse nicht benötigt werden, können die ASSIMILATE IOT NETWORK SENSORS und ACTORS effizienter und mit weniger Ressourcen und Aufwand direkt auf minimalistische Schienen gestapelt werden. Die umhüllenden Zylinder können verwendet werden (wie in diesem Build gezeigt) oder die darunter liegenden Steine können direkt eingesteckt werden.

RESSOURCENAnweisbar

Schritt 21: I2C BRICK PROTOTYPING SLAVE

I2C BRICK PROTOTYPING SLAVE
I2C BRICK PROTOTYPING SLAVE
I2C BRICK PROTOTYPING SLAVE
I2C BRICK PROTOTYPING SLAVE

Bei der Entwicklung des neuesten ASSIMILATE ACTOR (KY-019 RELAY) wurde ein generisches Entwicklerboard zusammengestellt, um mir zusätzliche Arbeit an meinem Schreibtisch zu ersparen.

Es hat die Standard-Pinbelegungen des I2C IOT123 BRICK, ermöglicht aber benutzerdefinierte Verbindungen zum Sensor vom ATTINY85.

Der ATTINY85 ist über den DIL-Sockel abnehmbar. Die I2C-Leitungen sind fest verdrahtet. Alles andere ist Breakout-anschließbar. Es funktioniert sehr gut mit dem I2C BRICK MASTER JIG.

RESSOURCENAnweisbar

Schritt 22: I2C BRICK MASTER JIG

I2C BRICK MASTER JIG
I2C BRICK MASTER JIG

Während der Entwicklung der ASSIMILATE SENSORS und ACTORS halte ich eine UNO bereit, um adhoc I2C-Befehle an die zu entwickelnden Prototypen zu senden.

Einer der Vorteile der I2C BRICKS ist die standardisierte Pinbelegung. Anstatt jedes Mal Breadboard-Drähte zu verwenden (siehe die Fritzings), wird ein robuster Lo-Tech-Schild verwendet.

RESSOURCENAnweisbar

Schritt 23: IDC-KABELTESTER (6 DRAHT)

IDC-KABELTESTER (6 DRAHT)
IDC-KABELTESTER (6 DRAHT)

Bei der Entwicklung des ICOS10 ASSIMILATE SENSOR HUB musste ich die von mir erstellten Kabel überprüfen. Die Überprüfung bestand darin, den Durchgang zwischen den Buchsen und die Isolierung zwischen den Drähten zu überprüfen. Das Design, das ich mit gebrauchten DIP-Schaltern entworfen habe, um zwischen Durchgangs- und Isolationstests zu wechseln. Da ich erwarte, für jeden Test eine andere Platine zu haben (die DIP-Schalter sind nicht für den Dauergebrauch gebaut), können die beiden Schaltkreise ohne DIP-Schalter fest verdrahtet werden.

RESSOURCENAnweisbar

Schritt 24: ICOS PANEL CIRCUIT TESTER

ICOS SCHALTKREISTESTER
ICOS SCHALTKREISTESTER
ICOS SCHALTKREISTESTER
ICOS SCHALTKREISTESTER

Bei der Entwicklung des ICOS10 ASSIMILATE SENSOR HUB musste ich die Panel-Schaltungen so überprüfen, wie sie hergestellt wurden. Da die Stifte auf die 3P-Stiftleisten gelötet wurden, wollte ich auch, dass ein 3P-Stecker in sie eingesetzt wird, um jede Verformung während des Lötens zu stoppen. Ebenfalls ausschlaggebend für dieses Design: Ich hatte bereits einen Schaltungstester für die 6-adrigen IDC-Kabel entwickelt.

RESSOURCENAnweisbar

Schritt 25: ATTINY85 ONBOARD PROGRAMMIERJIG

ATTINY85 ONBOARD-PROGRAMMIERJIG
ATTINY85 ONBOARD-PROGRAMMIERJIG

Bei den BRICK-Designs habe ich erwähnt, dass die Durchgangslöcher neben dem ATTINY85 ungenutzt gelassen wurden, um einen Pogo-Pin-Programmierer zu ermöglichen, während der DIP8 an die Platine gelötet ist. Dies ist dieser Pogo-Pin-Programmierer. Dies ist wirklich nur ein Adapterkabel von der DIP8-DIL-Buchse eines vorhandenen Programmierers zu der 6 x 4 Lochabstand-Pogo-Schablone zur Verwendung auf der Leiterplatte.

RESSOURCENAnweisbar

Schritt 26: VIDEOS

Empfohlen: