Inhoudsopgave:

IOT123 - ASSIMILEER IOT-NETWERK - Ajarnpa
IOT123 - ASSIMILEER IOT-NETWERK - Ajarnpa

Video: IOT123 - ASSIMILEER IOT-NETWERK - Ajarnpa

Video: IOT123 - ASSIMILEER IOT-NETWERK - Ajarnpa
Video: IOT123 - ICOS10: STRUCTURE 2024, Juli-
Anonim
IOT123 - ASSIMILEER IOT-NETWERK
IOT123 - ASSIMILEER IOT-NETWERK

Het ASSIMILATE IOT NETWORK is een set protocollen die een gemakkelijke integratie van sensoren, actoren, thing nodes en lokale brokers met de buitenwereld mogelijk maken.

Dit Instructable is instructies voor de instructies; het indexeert alle verschillende projecten en wijst naar waar de artikelen en bronnen voor elk project zijn.

FUNCTIES EN VISIE Momenteel zijn de slaven (sensoren en acteurs) op zichzelf staand en vertrouwen ze op op conventies gebaseerde I2C-berichten om eigenschappen te lezen of op commando's te reageren. De Master haalt de metadata en eigenschappen van slaves op en stuurt deze naar een MQTT-makelaar. Het start ook een webserver en serveert JSON-bestanden die kunnen worden bewerkt om de master te configureren en de metadata/eigenschappen aan te passen die uiteindelijk door Crouton worden gebruikt. De afzonderlijke sensoren/actoren worden via Crouton uitgelezen/aangestuurd zonder dat de master enige voorkennis heeft van wat de slaves doen.

Een van de doelen van het ASSIMILATE IOT NETWORK is om AssimilateCrouton aan te passen zodat mashup-editors die worden bediend vanaf de IOT NODE-webservers (zie volgende hubs), worden toegevoegd als webcomponenten die volledige controle geven over wat het ding doet, dwz de master is niet geprogrammeerd, de slaves hebben basisfuncties, maar het Crouton-dashboard bevat alle bedrijfsregels die nodig zijn om het ding te laten werken!

De Crouton-vork wordt gezien als een optie voor decentrale besturing/configuratie van dingen. In wezen kan elke MQTT-client/GUI-combinatie uw zaken beheren, aangezien elke functie (sensoren en actoren) wordt blootgesteld als MQTT-eindpunten.

CROUTON

Crouton. https://crouton.mybluemix.net/ Crouton is een dashboard waarmee u uw IOT-apparaten kunt visualiseren en bedienen met minimale instellingen. In wezen is het het gemakkelijkste dashboard om in te stellen voor elke IOT-hardwareliefhebber die alleen MQTT en JSON gebruikt.

De ASSIMILATE SLAVES (sensoren en acteurs) hebben ingesloten metadata en eigenschappen die de master gebruikt om het deviceInfo json-pakket op te bouwen dat Crouton gebruikt om het dashboard te bouwen. De tussenpersoon tussen ASSIMILATE NODES en Crouton is een MQTT-makelaar die websocketsvriendelijk is: Mosquito wordt gebruikt voor de demo.

Omdat de ASSIMILATE MASTER (zie volgende hubs) eigenschappen opvraagt, worden de responswaarden in de vereiste indeling voor Crouton-updates opgemaakt.

Stap 1: ASSIMILEER SENSORHUB: ICOS10 CORS WEBCOMPONENTEN

ASSIMILEER SENSOR HUB: ICOS10 CORS WEBCOMPONENTEN
ASSIMILEER SENSOR HUB: ICOS10 CORS WEBCOMPONENTEN

Op het apparaat worden alle webserverfuncties met authenticatie en hosting in SPIFFS nog steeds ondersteund, maar er is speciale aandacht besteed aan CORS (Cross Origin Resource Sharing)-ondersteuning voor Polymer WebComponents (Crouton gebruikt Polymer 1.4.0).

BRONNENInstructable, Repository

Stap 2: ASSIMILEER SENSOR HUB: ICOS10 AANPASSING WEBSEREVER

ASSIMILEER SENSOR HUB: ICOS10 AANPASSING WEBSEREVER
ASSIMILEER SENSOR HUB: ICOS10 AANPASSING WEBSEREVER

De ASSIMILATE SENSOR/ACTOR Slaves bevatten metadata die worden gebruikt voor het definiëren van visualisaties in Crouton. Deze build voegt een webserver toe aan de ESP8266 Master, serveert enkele configuratiebestanden die door de gebruiker kunnen worden gewijzigd en gebruikt die bestanden vervolgens om de visualisaties opnieuw te definiëren. Dus de namen van de dashboardkaarten en de meeste configureerbare eigenschappen kunnen worden gewijzigd. Dit was nodig b.v. de DHT11 publiceert temperatuur- en vochtigheidseigenschappen: als een site meerdere knooppunten heeft met afzonderlijke DHT11-sensoren, kunnen ze niet allemaal Temperatuur worden genoemd (Garage Temp., Yard Temp…). De beperking van de lengte van de metadata die is ingesteld door de I2C-bus (16 tekens) bestaat niet en rijkere waarden kunnen worden toegepast (tot 64 tekens).

Optionele basisverificatie kan worden geconfigureerd voor de bewerkingswebpagina, evenals een uitsluitingslijst van verificatie voor andere bronnen. Op een bestaand dochterbord is ook een low-side schakelaar ontwikkeld die de slaves uitschakelt wanneer dat nodig is. Als een technische opmerking, voordat met deze build werd begonnen, was de geheugenvoetafdruk 70% vanwege een globale metadata-objectgrafiek. De nieuwste AssimilateBus-bibliotheek heeft baanbrekende wijzigingen ondergaan die de globale variabele ontkoppelen in kleinere JSON-bestanden die zijn opgeslagen in SPIFFS. Dit heeft de footprint teruggebracht tot ~50%, wat veiliger is voor alle JSON-parsing/building. De AssimilateBusSlave-bibliotheek blijft tijdens deze wijzigingen hetzelfde (ASSIM_VERSION 2).

BRONNEN

Instructable, Repository

Stap 3: ASSIMILEER SENSOR HUB: ICOS10 CROUTON RESET NODE

ASSIMILEER SENSOR HUB: ICOS10 CROUTON RESET NODE
ASSIMILEER SENSOR HUB: ICOS10 CROUTON RESET NODE

Dit is de voorloper van de Customization Webserver build. Het heeft nog steeds Crouton-integratie.

Deze build stuurt de deviceInfo die Crouton nodig heeft naar de MQTT-broker om automatische dashboards op te starten. De ASSIM_VERSION moet 2 zijn voor de AssimilateBusSlaves (acteurs en sensoren). De vorige HOUSING HEADERS zijn enigszins aangepast, waarbij de D0-rail de ongebruikte D6-rail vervangt. Er is een nieuw dochterbord toegevoegd dat hardware-resets mogelijk maakt, onder bepaalde omstandigheden wakker wordt en in de toekomst zal worden gebruikt voor de low-side power-schakelaar (voor vermogensregeling van de slaves).

BRONNEN

Instructable, Repository

Stap 4: ASSIMILEER SENSOR HUB: ICOS10 3V3 MQTT NODE

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

Dit is de eerste in verschillende MCU/Feature-combinaties in de ASSIMILATE SENSOR HUBS: de masters die de datadumps verzamelen van de I2C ASSIMILATE SENSORS-slaves.

Deze build maakt gebruik van een Wemos D1 Mini om alle gegevens te publiceren die van de ASSIMILATE SENSORS naar een MQTT-server zijn gedumpt. Het levert een 3V3 I2C-bus aan de sensoren. Er wordt nog steeds een 5V-rail meegeleverd, maar er is geen logische niveau-omzetter voor de 5V I2C en het kan zijn dat deze niet naar wens functioneert. Dit zal worden geleverd in een toekomstige vervanging van het dochterbord met functies voor degene die hier wordt gepresenteerd.

BRONNENInstructable, Repository

Stap 5: ASSIMILEER SENSORHUB: ICOS10 GENERIC SHELL (IDC) ASSEMBLAGE

ASSIMILEER SENSOR HUB: ICOS10 ALGEMENE SHELL (IDC) ASSEMBLAGE
ASSIMILEER SENSOR HUB: ICOS10 ALGEMENE SHELL (IDC) ASSEMBLAGE

Dit is een verbeterde (circuit robuustheid) versie van de ASSIMILATE SENSOR HUB: ICOS10 GENERIC SHELL (HOOKUP WIRE) Assembly. Het assembleert sneller en heeft een circuit van hogere kwaliteit, maar kost meer (~ $ 10 extra als het 10 sensoren ondersteunt). Het belangrijkste kenmerk is dat het nu erg modulair is: panelen en kabels kunnen worden vervangen/aangepast zonder de-solderen/solderen.

BRONNENInstructable, 3D-onderdelen

Stap 6: IOT123 - ASSIMILEER SENSOR HUB: ICOS10 GENERIC SHELL (AANSLUITDRAAD) MONTAGE

IOT123 - ASSIMILEREN SENSOR HUB: ICOS10 ALGEMENE SHELL (AANSLUITDRAAD) ASSEMBLAGE
IOT123 - ASSIMILEREN SENSOR HUB: ICOS10 ALGEMENE SHELL (AANSLUITDRAAD) ASSEMBLAGE

Dit is de originele Shell-assemblage. Gebruik de IDC hierboven.

BRONNENInstructable, 3D-onderdelen

Stap 7: I2C MAX9812 BAKSTEEN

I2C MAX9812 BAKSTEEN
I2C MAX9812 BAKSTEEN
I2C MAX9812 BAKSTEEN
I2C MAX9812 BAKSTEEN

Dit is het circuit dat wordt gebruikt door de volgende ASSIMILATE SERSOR.

Deze I2C MAX9812 BRICK dumpt 3 geluidsgevoelige eigenschappen:

  • audMin (0-1023) - laagste waarde binnen het 50ms (20Hz) voorbeeldvenster
  • audMax (0-1023) - hoogste waarde binnen het 50 ms (20 Hz) voorbeeldvenster
  • audDiff (0-50) - een waarde afgeleid van het verschil tussen aMin en aMax

BRONNEN

Instructable, Repository

Stap 8: ASSIMILEER SENSOR: MAX9812

ASSIMILAAT SENSOR: MAX9812
ASSIMILAAT SENSOR: MAX9812
ASSIMILAAT SENSOR: MAX9812
ASSIMILAAT SENSOR: MAX9812

Deze build is gebaseerd op de I2C MAX9812 BRICK.

Als je instelbare versterking nodig hebt, raad ik aan om deze sensor te vervangen door de MAX4466.

Deze ASSIMILATE SENSOR dumpt 3 eigenschappen:

  1. audMin (0-1023) - laagste waarde binnen het 50ms (20Hz) voorbeeldvenster
  2. audMax (0-1023) - hoogste waarde binnen het 50 ms (20 Hz) voorbeeldvenster
  3. audDiff (0-50) - een waarde afgeleid van het verschil tussen aMin en aMax

BRONNEN

Instructable, Repository, 3D-onderdelen

Stap 9: I2C HEARTBEAT BRICK

I2C HARTSLAG BAKSTEEN
I2C HARTSLAG BAKSTEEN
I2C HARTSLAG BAKSTEEN
I2C HARTSLAG BAKSTEEN

Dit is het circuit dat wordt gebruikt door de volgende ASSIMILATE SERSOR.

Deze I2C HEARTBEAT BRICK geeft aan of de ATTINY-slave in leven is, ook het I2C-verkeer, en één eigenschap heeft:

STATUS ("LEVEND")

BRONNEN

Instructable, Repository

Stap 10: ASSIMILEER ACTEUR: HEARTBEAT

ASSIMILEER ACTEUR: HARTSLAG
ASSIMILEER ACTEUR: HARTSLAG
ASSIMILEER ACTEUR: HARTSLAG
ASSIMILEER ACTEUR: HARTSLAG

Deze build is gebaseerd op de I2C HEARTBEAT BRICK.

Deze ASSIMILATE ACTOR heeft één eigenschap:

STATUS ("LEVEND")

PB1 (witte draad, blauwe LED) geeft de gezondheid van ATTINY aan.

PB3 (gele draad, groene LED) schakelt met I2C-verzoeken van de master.

PB4 (oranje draad, rode LED) schakelt met I2C-ontvangst van de master.

BRONNEN

Instructable, Repository, 3D-onderdelen

Stap 11: I2C 2CH RELAIS BAKSTEEN

I2C 2CH RELAIS BAKSTEEN
I2C 2CH RELAIS BAKSTEEN
I2C 2CH RELAIS BAKSTEEN
I2C 2CH RELAIS BAKSTEEN

Dit is de schakeling die niet geschikt is als standaard ASSIMILAIRE ACTOR. Het is misschien beter geschikt voor de I2C PCB-rails.

Deze I2C 2CH RELAY BRICK breidt de functionaliteit van de I2C KY019 BRICK uit en heeft twee lees-/schrijfeigenschappen:

  • 2CH RELAIS[0] (waar/onwaar).
  • 2CH RELAIS [1] (waar/onwaar).

BRONNEN

Instructable, Repository

Stap 12: I2C KY019 BAKSTEEN

I2C KY019 BAKSTEEN
I2C KY019 BAKSTEEN
I2C KY019 BAKSTEEN
I2C KY019 BAKSTEEN

Dit is het circuit dat wordt gebruikt door de volgende ASSIMILATE ACTOR.

Deze I2C KY019 BRICK is de eerste van de ACTOREN en heeft één lees-/schrijfeigenschap:

Wissel (waar/onwaar)

BRONNEN

Instructable, Repository

Stap 13: ASSIMILEER ACTEUR: KY019

ASSIMILAEREN ACTOR: KY019
ASSIMILAEREN ACTOR: KY019
ASSIMILAIRE ACTEUR: KY019
ASSIMILAIRE ACTEUR: KY019

Deze build is gebaseerd op de I2C KY019 BRICK.

Als je 2 kanalen nodig hebt, raad ik aan om deze acteur om te ruilen voor de 2CH RELAY BRICK.

Dit ASSIMILEER ACTOREN, en heeft één lees-/schrijfeigenschap:

Wisselen (waar/onwaar)

BRONNEN

Instructable, Repository, 3D-onderdelen

Stap 14: I2C TEMT6000 BAKSTEEN

I2C TEMT6000 BAKSTEEN
I2C TEMT6000 BAKSTEEN
I2C TEMT6000 BAKSTEEN
I2C TEMT6000 BAKSTEEN

Dit is het circuit dat wordt gebruikt door de volgende ASSIMILATE ACTOR.

Deze I2C TEMT6000 BRICK dumpt 3 eigendommen:

  • Omgevingsverlichting (Lux)
  • Omgevingsverlichting (Foot Candel-units)
  • Omgevingsstraling (Watt per vierkante meter).

BRONNEN

Instructable, Repository

Stap 15: ASSIMILEER SENSOR: TEMT6000

ASSIMILAEREN SENSOR: TEMT6000
ASSIMILAEREN SENSOR: TEMT6000
ASSIMILATEN SENSOR: TEMT6000
ASSIMILATEN SENSOR: TEMT6000

Deze build is gebaseerd op de I2C TEMT6000 BRICK.

Deze ASSIMILATE SENSOR dumpt 3 eigenschappen:

  • Omgevingsverlichting (Lux)
  • Omgevingsverlichting (Foot Candel-units)
  • Omgevingsstraling (Watt per vierkante meter).

BRONNEN

Instructable, Repository, 3D-onderdelen

Stap 16: I2C MQ2 BAKSTEEN

I2C MQ2 BAKSTEEN
I2C MQ2 BAKSTEEN
I2C MQ2 BAKSTEEN
I2C MQ2 BAKSTEEN

Dit is het circuit dat wordt gebruikt door de volgende ASSIMILATE ACTOR.

Deze I2C MQ2 BRICK dumpt 3 eigenschappen:

  • LPG (onderdelen per miljoen)
  • CO (PPM)
  • ROOK (ppm).

BRONNEN

Instructable, Repository

Stap 17: ASSIMILEER SENSOR: MQ2

ASSIMILAAT SENSOR: MQ2
ASSIMILAAT SENSOR: MQ2
ASSIMILAAT SENSOR: MQ2
ASSIMILAAT SENSOR: MQ2

Deze build is gebaseerd op de I2C MQ2 BRICK.

Deze ASSIMILATE SENSOR dumpt 3 eigenschappen:

  • LPG (onderdelen per miljoen)
  • CO (PPM)
  • ROOK (ppm).

BRONNEN

Instructable, Repository, 3D-onderdelen

Stap 18: I2C DHT11 BAKSTEEN

I2C DHT11 BAKSTEEN
I2C DHT11 BAKSTEEN
I2C DHT11 BAKSTEEN
I2C DHT11 BAKSTEEN

Dit is het circuit dat wordt gebruikt door de volgende ASSIMILATE ACTOR.

Deze I2C DHT11 BRICK dumpt 5 eigenschappen:

  • Vochtigheid (%)
  • Temperatuur (C)
  • Temperatuur (F)
  • Temperatuur (K)
  • Dauwpunt (C).

BRONNEN

Instructable, Repository

Stap 19: ASSIMILEER SENSOR: DHT11

ASSIMILAAT SENSOR: DHT11
ASSIMILAAT SENSOR: DHT11
ASSIMILAAT SENSOR: DHT11
ASSIMILAAT SENSOR: DHT11

Deze build is gebaseerd op de I2C MQ2 BRICK.

Deze ASSIMILATE SENSOR dumpt 5 eigenschappen:

  • Vochtigheid (%)
  • Temperatuur (C)
  • Temperatuur (F)
  • Temperatuur (K)
  • Dauwpunt (C).

BRONNEN

Instructable, Repository, 3D-onderdelen

Stap 20: I2C PCB-RAILS

I2C PCB-RAILS
I2C PCB-RAILS

Waar duurzame behuizingen niet nodig zijn, kunnen de ASSIMILATE IOT NETWORK SENSORS en ACTORS efficiënter en met minder middelen en moeite rechtstreeks op minimalistische rails worden gestapeld. De omhullende cilinders kunnen worden gebruikt (zoals weergegeven in deze build) of de onderliggende stenen kunnen direct worden aangesloten.

BRONNENInstructable

Stap 21: I2C BRICK PROTOTYPING SLAVE

I2C BAKSTEEN PROTOTYPING SLAVE
I2C BAKSTEEN PROTOTYPING SLAVE
I2C BAKSTEEN PROTOTYPING SLAVE
I2C BAKSTEEN PROTOTYPING SLAVE

Tijdens het ontwikkelen van de nieuwste ASSIMILATE ACTOR (KY-019 RELAY), werd een generiek ontwikkelbord bij elkaar gegooid om me wat extra werk aan mijn bureau te besparen.

Het heeft de standaard pinouts van de I2C IOT123 BRICK, maar maakt aangepaste verbindingen met de sensor van de ATTINY85 mogelijk.

De ATTINY85 is verwijderbaar via de DIL Socket. De I2C-lijnen zijn bedraad. Al het andere is breakout-aansluitbaar. Het werkt heel goed met de I2C BRICK MASTER JIG.

BRONNENInstructable

Stap 22: I2C BRICK MASTER JIG

I2C BAKSTEEN MASTER JIG
I2C BAKSTEEN MASTER JIG

Tijdens het ontwikkelen van de ASSIMILATE SENSOREN en ACTOREN, houd ik een UNO bij de hand om adhoc I2C-commando's te sturen naar de prototypes die worden ontwikkeld.

Een van de voordelen van de I2C BRICKS zijn de gestandaardiseerde pinouts. In plaats van elke keer breadboard-draden te gebruiken (zie de Fritzings), wordt een stevig lo-tech schild gebruikt.

BRONNENInstructable

Stap 23: IDC-KABELTESTER (6 DRAADS)

IDC-KABELTESTER (6 DRAADS)
IDC-KABELTESTER (6 DRAADS)

Bij het ontwikkelen van de ICOS10 ASSIMILATE SENSOR HUB moest ik de kabels verifiëren die ik aan het maken was. De verificatie was om de continuïteit tussen de stopcontacten en de isolatie tussen de draden te controleren. Het ontwerp dat ik bedacht, gebruikte DIP-schakelaars om te wisselen tussen continuïteits- en isolatietests. Omdat ik verwacht voor elke test een ander bord te hebben (de DIP-switches zijn niet gebouwd voor constant gebruik), kunnen de twee circuits worden bedraad zonder dat er DIP-switches nodig zijn, BRONNENInstructable

Stap 24: ICOS PANEEL CIRCUIT TESTER

ICOS PANEEL CIRCUIT TESTER
ICOS PANEEL CIRCUIT TESTER
ICOS PANEEL CIRCUIT TESTER
ICOS PANEEL CIRCUIT TESTER

Bij het ontwikkelen van de ICOS10 ASSIMILATE SENSOR HUB moest ik de paneelcircuits verifiëren zoals ze waren gemaakt. Ook omdat de pinnen op de 3P-headers werden gesoldeerd, wilde ik dat er een 3P mannelijke pinnen in werden gestoken om vervorming tijdens het solderen te stoppen. Ook de sleutel tot dit ontwerp: ik had al een circuittester ontwikkeld voor de 6-aderige IDC-kabels.

BRONNENInstructable

Stap 25: ATTINY85 ONBOARD PROGRAMMEERJIG

ATTINY85 BOORD PROGRAMMEERJIG
ATTINY85 BOORD PROGRAMMEERJIG

Op de BRICK-ontwerpen heb ik vermeld dat de doorgaande gaten naast de ATTINY85 ongebruikt zijn gelaten, om een pogo-pin-programmeur mogelijk te maken terwijl de DIP8 op de PCB wordt gesoldeerd. Dit is die pogo-pin-programmeur. Dit is eigenlijk gewoon een adapterkabel van de DIP8 DIL-socket van een bestaande programmeur naar de pogo-mal met 6 x 4 gaten die op de PCB moet worden gebruikt.

BRONNENInstructable

Stap 26: VIDEO'S

Aanbevolen: