IOT123 - HUB ASSIMILOVANÉHO SENZORU: WEBOVÝ WEB ŘADY PŘIZPŮSOBENÍ ICOS10: 11 kroků
IOT123 - HUB ASSIMILOVANÉHO SENZORU: WEBOVÝ WEB ŘADY PŘIZPŮSOBENÍ ICOS10: 11 kroků
Anonim
IOT123 - HUB ASSIMILÁTNÍHO SENZORU: WEBOVÝ WEBOVÝ PŘÍPRAVEK ICOS10
IOT123 - HUB ASSIMILÁTNÍHO SENZORU: WEBOVÝ WEBOVÝ PŘÍPRAVEK ICOS10
IOT123 - HUB ASSIMILOVANÉHO SENZORU: WEBOVÝ WEBOVÝ REGISTRACI ICOS10
IOT123 - HUB ASSIMILOVANÉHO SENZORU: WEBOVÝ WEBOVÝ REGISTRACI ICOS10
IOT123 - HUB ASSIMILÁTNÍHO SENZORU: WEBOVÝ WEBOVÝ PŘÍPRAVEK ICOS10
IOT123 - HUB ASSIMILÁTNÍHO SENZORU: WEBOVÝ WEBOVÝ PŘÍPRAVEK ICOS10

ASSIMILATE SENSOR/ACTOR Slaves vloží metadata, která se používají k definování vizualizací v Croutonu. Toto sestavení přidává do ESP8266 Master webový server, slouží některým konfiguračním souborům, které může uživatel upravit, a poté tyto soubory používá k předefinování vizualizací. Názvy karet řídicího panelu a většinu konfigurovatelných vlastností lze tedy změnit. To bylo nutné např. DHT11 vydává vlastnosti Teplota a Vlhkost: pokud má web několik uzlů se samostatnými senzory DHT11, nelze je všechny nazvat Teplota (Teplota garáže, Teplota dvora…). Omezení délky metadat stanovené sběrnicí I2C (16 znaků) neexistuje a lze použít bohatší hodnoty (až 64 znaků).

Volitelné základní ověřování je konfigurovatelné pro webovou stránku pro úpravy a také seznam vyloučení z ověřování pro jiné zdroje.

Na existující dceřiné desce byl také vyvinut nízkopodlažní spínač, který v případě potřeby vypíná slave.

Jako technická poznámka, před zahájením tohoto sestavení byla stopa paměti 70% kvůli globálnímu grafu objektu metadat. Nejnovější knihovna AssimilateBus má zásadní změny, které oddělují globální proměnnou na menší soubory JSON uložené do SPIFFS. Tím se stopa vrátila na ~ 50%, což je bezpečnější pro všechny analýzy/budovy JSON. Knihovna AssimilateBusSlave zůstává během těchto změn stejná (ASSIM_VERSION 2).

VLASTNOSTI A VIDĚNÍ

V současné době jsou otroci (senzory a herci) samostatní a při čtení vlastností nebo působení na příkazy se spoléhají na zprávy založené na konvencích I2C. Master vyzvedne metadata a vlastnosti od podřízených a odešle je makléři MQTT. Spustí také webový server a slouží souborům JSON, které lze upravovat pro konfiguraci předlohy a přizpůsobení metadat/vlastností, které nakonec spotřebuje Crouton. Jednotlivá čidla/herci jsou čtena/ovládána přes Crouton, aniž by pán měl předchozí znalosti o tom, co otroci dělají.

Jedním z cílů ASSIMILATE IOT NETWORK je přizpůsobit Crouton tak, aby jako webové komponenty byly přidány mashup editory obsluhované z webových serverů IOT NODE (jako je toto build), které poskytnou úplnou kontrolu nad tím, co ta věc dělá, tj. Master není naprogramován, otroci mají základní sady funkcí, ale palubní deska Crouton obsahuje všechna obchodní pravidla potřebná ke spuštění věci!

Vidlice Crouton je vnímána jako možnost decentralizovaného ovládání/konfigurace věcí. V podstatě jakákoli kombinace MQTT klient/GUI může spravovat vaše věci, protože každá funkce (senzory a herci) jsou vystaveny jako koncové body MQTT.

Krok 1: Crouton

Crouton
Crouton
Crouton
Crouton

Crouton. https://crouton.mybluemix.net/ Crouton je řídicí panel, který vám umožňuje vizualizovat a ovládat vaše IOT zařízení s minimálním nastavením. V zásadě jde o nejjednodušší řídicí panel, který lze nastavit pro všechny hardwarové nadšence IOT využívající pouze MQTT a JSON.

ASSIMILATE SLAVES (senzory a herci) mají vložená metadata a vlastnosti, které master používá k sestavení paketu deviceInfo json, který Crouton používá k sestavení řídicího panelu. Zprostředkovatel mezi ASSIMILATE NODES a Crouton je broker MQTT, který je přátelský k websocketům: pro ukázku se používá Mosquito.

Protože ASSIMILATE MASTER (toto sestavení) požaduje vlastnosti, formátuje hodnoty odpovědí v požadovaném formátu pro aktualizace Crouton.

Krok 2: Webový server / editor

Webový server / editor
Webový server / editor
Webový server / editor
Webový server / editor

Když se spouští Master (tato sestava), spustí se integrovaný webový server. IP adresa je vyvedena do sériové konzoly; nakonec to bude zveřejněno na palubní desce Crouton.

Když přejdete na uvedenou adresu URL, načte se ACE EDITOR:

Ace je editor kódu, který lze vložit napsaný v JavaScriptu. Odpovídá funkcím a výkonu nativních editorů, jako jsou Sublime, Vim a TextMate.

Ace je oblíbený u integrovaných webových serverů a poskytuje dobré rozhraní pro úpravy a ukládání souborů JSON.

Kliknutím na název souboru vlevo se načte soubor ze SPIFFS na ESP8266 a načte obsah pro úpravy vpravo. Soubor lze uložit z horního panelu nástrojů.

Chcete -li nahrát soubor:

  1. Vyberte soubor z místního systému souborů.
  2. Do textového pole vložte cestu ke složce (je -li to nutné).
  3. Klikněte na Nahrát.
  4. Obnovte stránku.

Krok 3: Přizpůsobení zařízení

Přizpůsobení zařízení
Přizpůsobení zařízení

Konfigurace zařízení (ESP8266) se provádí prostřednictvím souboru device.json.

Některé z těchto položek (wifi_ssid, wifi_key) bude nutné upravit před odesláním dat do SPIFFS (ESP8266 Sketch Data Upload).

Přejděte na kořenový server webového serveru (zobrazený na výstupu konzoly jako

ÚPRAVA

V ACE EDITOR vyberte config/device.json.

Záznamy jsou:

  • www_auth_username: autorizační uživatelské jméno pro soubory webového serveru (prázdné pro neautorizaci).
  • www_auth_password: autorizační heslo pro soubory webového serveru (pokud je definováno uživatelské jméno).
  • www_auth_exclude_files: seznam cest se soubory oddělený středníkem oddělený od kontroly autorizace (pokud je definováno uživatelské jméno).
  • sensor_interval: milisekundy mezi publikováním dat do MQTT Broker.
  • ntp_server_name: název časového serveru, který se má použít.
  • time_zone: časový posun v hodinách pro váš místní čas.
  • wifi_ssid: SSID vašeho místního přístupového bodu.
  • wifi_key: klíč, který se má použít pro SSID.
  • mqtt_broker: adresa makléře MQTT.
  • mqtt_username: uživatelské jméno, které se má použít pro brokera MQTT (prázdné, není potřeba žádný účet).
  • mqtt_password: heslo k použití z uživatelského jména MQTT.
  • mqtt_port: port brokera MQTT.
  • mqtt_device_name: název, který se má použít pro témata MQTT a identifikaci Crouton.
  • mqtt_device_description: popis zařízení zobrazený v programu Crouton.
  • viz_color: barva pro identifikaci karet zařízení v Crouton (ve vidlicovém provedení)

Krok 4: Přizpůsobení vlastnosti

Přizpůsobení majetku
Přizpůsobení majetku
Přizpůsobení majetku
Přizpůsobení majetku
Přizpůsobení majetku
Přizpůsobení majetku

Každý ze Slaves má nvc strukturní pole definované v souboru definice.h:

// --------------------------------------- ZVEŘEJNĚNÉ VLASTNOSTI

nvc rekvizity [2] = {{"Vlhkost", "", true}, {"Teplota", "", nepravda}}; // --------------------------------------- KONEC ZVEŘEJNĚNÝCH VLASTNOSTÍ

Každý ze záznamů má index, přičemž první je 0 (nula).

Přizpůsobení názvu vlastnosti se provádí prostřednictvím souboru user_props.json.

Přejděte na kořenový server webového serveru (zobrazený na výstupu konzoly jako

ÚPRAVA

V ACE EDITOR vyberte config/user_props.json (nebo jej nahrajte).

Struktura je:

Prvním klíčem je adresa podřízeného zařízení v souboru definice.h identifikovaná:

#define ADDRESS_SLAVE XX

  • Další úrovní klíčů je Index vlastnictví.
  • Hodnota tohoto klíče je název vlastnosti, který se má použít v Croutonu místo názvu vlastnosti definovaného v souboru definic.

Krok 5: Přizpůsobení metadat

Přizpůsobení metadat
Přizpůsobení metadat
Přizpůsobení metadat
Přizpůsobení metadat
Přizpůsobení metadat
Přizpůsobení metadat
Přizpůsobení metadat
Přizpůsobení metadat

Vzhledem k množství možných přizpůsobení má každý slave vlastní soubor pro úpravu metadat. Soubory mají být ve formátu user_metas_.json.

Adresa slave se nachází v souboru definitions.h ve skicách ATTINY85:

#define ADDRESS_SLAVE XX

Metadata jsou definována ve stejném souboru takto:

const static char viz1 PROGMEM = "VIZ_CARD_TYPE";

const static char viz2 PROGMEM = "2: chart-donut"; const static char viz3 PROGMEM = "1";

První řádek je název položky metadat.

Druhý řádek je hodnota. Obecně má příponu indexu vlastností.

Třetí řádek je příznak pokračování. 1 - pokračování, 0 - konec metadat (VCC_MV).

Přejděte na kořenový server webového serveru (zobrazený na výstupu konzoly jako

ÚPRAVA

V ACE EDITOR vyberte config/user_metas_SLAVE_ADDRESS.json (nebo nahrajte jeden). Struktura je:

  • Pole párů název/hodnota.
  • Název je název položky metadat, kterou chcete změnit.
  • Hodnota je změna. Je zkontrolována náhrada přípony indexu.

Krok 6: Materiály a nástroje

Materiály a nástroje
Materiály a nástroje
Materiály a nástroje
Materiály a nástroje
Materiály a nástroje
Materiály a nástroje

Kusovník materiálů ICOS10 (IDC)

  1. D1M BLOCK Pin Jig (1)
  2. Základna a kryt D1M BLOCK (1)
  3. Wemos D1 Mini (1)
  4. Mini protoboardový štít Wemos D1 (1)
  5. Zásuvky 40P (8P, 8P, 9P, 9P)
  6. Zástrčka 90 ° (3P, 3P, 3P, 2P, 1P, 2P)
  7. 1 "oboustranný protoboard (2)
  8. 2N7000 NFET (1)
  9. 6kolíkový krytý zástrčka IDC (1)
  10. Propojovací vodič (~ 10)
  11. 0,5 mm pocínovaný drát (~ 4)
  12. Samořezné šrouby s hlavou 4G x 15 mm (2)
  13. Šrouby se zápustnou hlavou 4G x 6 mm (~ 20)
  14. Pájka a železo (1)

Krok 7: Příprava MCU

Image
Image
Příprava MCU
Příprava MCU

V této sestavě používáme Wemos D1 Mini. Pokud jste již dříve vytvořili D1M WIFI BLOCK, můžete jej použít pro modulární hardwarovou komponentu. Pokud tomu tak není, postupujte podle následující části.

PÁJENÍ HLAVNÍCH PINŮ NA MCU (pomocí PIN JIG) Pokud nemůžete PIN JIG vytisknout, postupujte podle pokynů a improvizujte: výška (offset) PIN JIG je 6,5 mm.

  1. Vytiskněte/získejte PIN JIG z této stránky.
  2. Zaveďte kolíky záhlaví skrz spodní část desky (TX vpravo-vlevo) a do pájecího přípravku.
  3. Zatlačte kolíky dolů na tvrdý rovný povrch.
  4. Pevně zatlačte desku dolů na přípravek.
  5. Pájejte 4 rohové kolíky.
  6. V případě potřeby desku/kolíky znovu zahřejte a znovu umístěte (deska nebo kolíky nejsou zarovnané nebo kolmé).
  7. Pájejte zbytek kolíků.

NABÍDKA FIRMWARU

Úložiště kódů najdete zde (snímek).

ZIP knihovny najdete zde (snímek).

Pokyny pro „Import ZIP knihovny“zde.

Jakmile je knihovna nainstalována, můžete otevřít příklad „mqtt_crouton_esp8266_customization_webserver“.

Pokyny k nastavení Arduina pro Wemos D1 Mini zde.

Závislosti: ArduinoJson, TimeLib, PubSubClient, NeoTimer (viz přílohy, pokud dojde k přerušení změn v úložištích).

NAHRÁT DO RYCHLOSTI

Jakmile je kód načten do Arduino IDE, otevřete device.json ve složce data/config:

  1. Upravte hodnotu wifi_ssid pomocí WiFi SSID.
  2. Upravte hodnotu wifi_key pomocí WiFi klíče.
  3. Upravte hodnotu mqtt_device_name pomocí preferované identifikace zařízení (není nutné připojení).
  4. Upravte hodnotu mqtt_device_description pomocí preferovaného popisu zařízení (v Croutonu).
  5. Uložit device.json.
  6. Nahrajte datové soubory na SPIFFS.

Krok 8: Příprava pouzdra MCU

Image
Image
Příprava bydlení MCU
Příprava bydlení MCU
Příprava bydlení MCU
Příprava bydlení MCU

Pouzdro MCU odhaluje záhlaví pro D1 Mini, které lze připojit, a záhlaví pro dceřiné desky, které komunikují s obvodem Socket (senzory a herci).

SKŘÍŇOVÉ HLAVICE Toto je založeno na D1 Mini Protoboard a rozděluje tyto kolíky:

  1. Piny pro připojení D1M WIFI BLOCK/D1 Mini.
  2. Přímé odpojení 2 řad kontaktů z D1M WIFI BLOCK/D1 Mini. Ty jsou k dispozici pouze pro pohodlí při prototypování. Očekává se, že dceřiné desky zablokují veškerý přístup k těmto záhlavím.
  3. 4 Vylomení konkrétních kolíků použitých dceřinými deskami.

Přidání kontaktů D1M do HLAVNÍ SKŘÍNĚ:

  1. Podívejte se na video PÁJEC S POUŽITÍM ZÁSUVKY.
  2. Protáhněte kolíky záhlaví spodní částí desky (TX vlevo nahoře na horní straně).
  3. Zaveďte přípravek přes plastový záhlaví a vyrovnejte oba povrchy.
  4. Otočte přípravek a sestavu a pevně přitlačte záhlaví na tvrdý rovný povrch.
  5. Pevně zatlačte desku dolů na přípravek.
  6. Pájejte 4 rohové kolíky pomocí minimální pájky (pouze dočasné zarovnání kolíků).
  7. V případě potřeby desku/kolíky znovu zahřejte a znovu umístěte (deska nebo kolíky nejsou zarovnané nebo kolmé).
  8. Pájejte zbytek kolíků.
  9. Odstraňte přípravek.
  10. Odřízněte špendlíky nad pájkami.

Přidání Breakouts z Daughter-board:

  1. Odřízněte 4 hlavičky 9P female.
  2. Nahoře vložte 9P záhlaví podle obrázku a dole pájejte.

Chcete -li přidat přímé přestávky:

  1. Odřízněte 2 hlavičky 8P female.
  2. Nahoře vložte 8P záhlaví podle obrázku a dole pájejte.

Chcete -li připojit záhlaví, ve spodní části s kolíkem TX orientovaným nahoru:

  1. Trasujte a pájejte z pinu RST přes 4 piny.
  2. Stopa a pájení z pinu A0 přes 4 piny.
  3. Trasujte a pájejte z pinu D1 přes 4 piny.
  4. Trasujte a pájejte z pinu D2 přes 4 piny.
  5. Trasujte a pájejte od pinu D0 dolů po 2 řadách a přes 4 piny.
  6. Stopa a pájení z pinu D7 přes 4 piny.
  7. Trasujte a pájejte z pinu GND přes 4 piny.
  8. Trasujte a pájejte z 5V pinu přes 4 piny.
  9. Trasujte a pájejte od pinu 3V3 dolů o 45 ° přes 4 piny.

MONTÁŽ FIXTURY

SKŘÍŇKA SKŘÍNĚ je připevněna k pouzdru MCU a je připojena k ZÁKLADNÍ DESCE.

  1. Dlouhou stranou HLAVNÍCH SKŘÍŇEK ukazujte na otvor, vložte D1M KONTAKTY do otvorů v SKŘÍNĚ MCU a zatlačte dolů.
  2. Při upevňování vložte MCU na KONTAKTY MCU, abyste zajistili správné zarovnání.
  3. Umístěte HEADER FRAME přes horní část montážních úchytů a připevněte 2 šrouby 4G x 16 mm.
  4. Umístěte sestavená zařízení otvorem směřujícím ke kratší straně a připevněte šrouby 4G x 6 mm.

Krok 9: Sestavení dceřiné desky Slaves Low-side Switch/RESET

Budování vedlejší desky přepínačů/RESETů Slave
Budování vedlejší desky přepínačů/RESETů Slave
Budování dceřiné desky Slaves Low-side Switch/RESET
Budování dceřiné desky Slaves Low-side Switch/RESET
Budování vedlejší desky přepínačů/RESETů Slave
Budování vedlejší desky přepínačů/RESETů Slave

Toto je vylepšení poslední sestavy vyvinuté dceřiné desky REST. Tím se přidá nízkopodlažní přepínač, který spojuje podřízené jednotky se zemí. Pokud je hlavní reset, podřízené zařízení také a inicializace šířící metadata začne znovu.

SHROMÁŽDĚNÍ

  1. Na vnitřní stranu vložte 9P 90 ° zástrčku (1), 1P 90 ° zástrčku (2), 2N7000 (3) a na vnější straně vypájejte.
  2. Na vnitřní straně obkreslete žlutý vodič od ŽLUTÉ1 do ŽLUTÉ2 a pájejte.
  3. Na vnitřní straně sledujte holý vodič od SILVER1 do SILVER2 a pájejte.
  4. Na vnitřní straně obnažte holý drát od SILVER3 do SILVER4 a pájejte.

Krok 10: Sestavení hlavních součástí

Sestavení hlavních součástí
Sestavení hlavních součástí
Sestavení hlavních součástí
Sestavení hlavních součástí
Sestavení hlavních součástí
Sestavení hlavních součástí
Sestavení hlavních součástí
Sestavení hlavních součástí
  1. Zajistěte, aby byla jednotka SHELL postavena a testován obvod (kabel a zásuvky).
  2. Vyměňte 2P zástrčku samce na 3V3 I2C DAUGHTER-BOARD za 2P 90º 1P zástrčku.
  3. Vložte DAUGHTER-BOARD 3V3 I2C s kolíkem 3V3 na roztrhaném konci záhlaví (viz obrázek).
  4. Vložte DOLNÍ SPÍNAČ/RESETOVACÍ DESKU, drátem dovnitř (viz obrázek).
  5. Sledujte stopu Dupontu mezi 90º 1P konektorem Male na RESET DAUGHTER-BOARD k 3V3 I2C DAUGHTER-BOARD.
  6. Vložte zásuvku IDC z KABELU SHELL do IDC záhlaví na 3V3 I2C DAUGHTER-BOARD.
  7. Opatrně vložte DAUGHTEROVÉ DESKY/SKŘÍNĚ mezi kabely v OBALU a zarovnejte otvory v základně.
  8. Pomocí šroubů 4G x 6 mm připevněte ZÁKLADNÍ MONTÁŽ ke SKŘÍNI.
  9. Připojte všechny asimilované snímače, které jste vytvořili.

Krok 11: Další kroky

Image
Image
Další kroky
Další kroky
Další kroky
Další kroky
  1. Namiřte svůj prohlížeč na
  2. Zajistěte, aby makléř byl test.mosquitto.org.
  3. Klikněte na Připojit.
  4. Zadejte název zařízení jako mqtt_device_name do souboru /config/device.json.
  5. Klikněte na Přidat zařízení.
  6. Klikněte na Automatické připojení.
  7. Zapněte ICOS10 (5V MicroUSB).
  8. Ověřte pomocí ovládacího panelu Crouton.