Inhaltsverzeichnis:
- Schritt 1: ASSIMILIEREN SENSOR HUB: ICOS10 CORS WEBCOMPONENTS
- Schritt 2: SENSOR HUB ASSIMILIEREN: ICOS10 ANPASSUNGSWEBSERVER
- Schritt 3: SENSOR HUB ASSIMILIEREN: ICOS10 CROUTON RESET NODE
- Schritt 4: ASSIMILIEREN SENSOR HUB: ICOS10 3V3 MQTT NODE
- Schritt 5: SENSOR HUB ASSIMILIEREN: ICOS10 GENERIC SHELL (IDC) MONTAGE
- Schritt 6: IOT123 - ASSIMILATE SENSOR HUB: ICOS10 GENERIC SHELL (HOOKUP WIRE) MONTAGE
- Schritt 7: I2C MAX9812 BRICK
- Schritt 8: SENSOR ASSIMILIEREN: MAX9812
- Schritt 9: I2C HEARTBEAT BRICK
- Schritt 10: SCHAUSPIELER ASSIMILIEREN: HEARTBEAT
- Schritt 11: I2C 2CH RELAY BRICK
- Schritt 12: I2C KY019 BRICK
- Schritt 13: SCHAUSPIELER ASSIMILIEREN: KY019
- Schritt 14: I2C TEMT6000 BRICK
- Schritt 15: SENSOR ASSIMILIEREN: TEMT6000
- Schritt 16: I2C MQ2 BRICK
- Schritt 17: SENSOR ASSIMILIEREN: MQ2
- Schritt 18: I2C DHT11 BRICK
- Schritt 19: SENSOR ASSIMILIEREN: DHT11
- Schritt 20: I2C-Leiterplattenschienen
- Schritt 21: I2C BRICK PROTOTYPING SLAVE
- Schritt 22: I2C BRICK MASTER JIG
- Schritt 23: IDC-KABELTESTER (6 DRAHT)
- Schritt 24: ICOS PANEL CIRCUIT TESTER
- Schritt 25: ATTINY85 ONBOARD PROGRAMMIERJIG
- Schritt 26: VIDEOS
Video: IOT123 - IOT-NETZWERK ASSIMILIEREN - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:19
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
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
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
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
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
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
Dies ist die ursprüngliche Shell-Baugruppe. Verwenden Sie den oben genannten IDC.
RESSOURCENAnweisbare 3D-Teile
Schritt 7: 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
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:
- 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, 3D-Teile
Schritt 9: 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
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
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
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
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
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
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
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
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
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
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
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
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
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)
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
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
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:
IOT123 - SENSORNABEN ZUSAMMENSETZEN: ICOS10 GENERIC SHELL (ANSCHLUSSKABEL) Montage: 4 Schritte
IOT123 - ASSIMILATE SENSOR HUB: ICOS10 GENERIC SHELL (HOOKUP WIRE) Montage: UPDATE Wir empfehlen die Verwendung der IDC-Schaltung (nicht HOOKUP) für mehr Zuverlässigkeit. Diese HOOKUP-Baugruppe ist für nicht geschäftskritischen Betrieb geeignet, wenn Sie Zeit haben, den Stromkreis zu überprüfen. Ich fand einige Drähte (obere Schicht der Paneele: rot/gelb) nicht lang genug