Съдържание:
- Стъпка 1: CROUTON
- Стъпка 2: АСИМИЛИРАНЕ НА КРУТОНА
- Стъпка 3: МОНТАЖ НА УСТРОЙСТВОТО
- Стъпка 4: ФЕРМУ
- Стъпка 5: КАРТА ЗА УСТРОЙСТВО
- Стъпка 6: КАРТА ЗА УСИЛЕНИЕ
- Стъпка 7: Персонализиране на ENDPOINT
- Стъпка 8: ВИДЕО
Видео: IOT123 - ХИБ ЗА АСИМИЛИРАН СЕНЗОР: ICOS10 CORS УЕБКОМПОНЕНТИ: 8 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-31 10:17
Подчинените устройства на ASSIMILATE SENSOR/ACTOR Slaed вграждат метаданни, които се използват за определяне на визуализации в Crouton. Тази конструкция е малко по -различна от предишните; няма промени в хардуера. Фърмуерът вече поддържа хостинг персонализирани (по -богати) редактори, които могат да бъдат интегрирани в най -новата версия на AssimilateCrouton. Повече внимание ще бъде отделено на обяснението на фърмуера и таблото за управление на MQTT в тази статия.
Едно от предимствата на обслужването на WebComponents от устройството, което те контролират, е, че по -усъвършенстваният контрол на устройството е ограничен до мрежата, към която устройството е свързано: вашата WiFi точка за достъп. Въпреки че след като използвате MQTT сървър с удостоверяване, има прилика на защита, в публичните мрежи, ако накрая напуснете браузъра си (уебсайт AssimilateCrouton), някой може да се включи и да контролира вашите устройства за автоматизация. Тази функция CORS WebComponent позволява публично да се показват само показания (температура, нива на осветеност, влага), а командните функции (включване/изключване, планиране) са достъпни само от мрежата на устройството.
На устройството всички функции на уеб сървъра с удостоверяване и хостинг в SPIFFS все още се поддържат, но специален акцент е направен върху поддръжката на CORS (Cross Origin Resource Sharing) за Polymer WebComponents (Crouton използва Polymer 1.4.0).
В AssimilateCrouton (вилицата на Crouton, използвана за Assimilate IOT Network) промените включват
- поддръжка за карта на устройство (assim-device), която освен всичко друго показва и скрива, за потребител, отделни карти за устройство
- info свойство на всички карти, което показва наздравица с полезна контекстуална информация за карта
- поддръжка за уеб компоненти CORS, в този случай хоствани на уеб сървъра на устройството (ESP8266).
Стъпка 1: CROUTON
Crouton е табло, което ви позволява да визуализирате и контролирате вашите IOT устройства с минимална настройка. По същество това е най -лесното табло за настройка за всеки ентусиаст на хардуера на IOT, използващ само MQTT и JSON.
ASSIMILATE SLAVES (сензори и актьори) имат вградени метаданни и свойства, които капитанът използва за изграждане на пакета deviceInfo json, който Crouton използва за изграждане на таблото за управление. Посредникът между ASSIMILATE NODES и Crouton е MQTT брокер, който е удобен за websockets: Mosquito се използва за демонстрацията.
Тъй като ASSIMILATE MASTER иска свойства, той форматира стойностите на отговора в необходимия формат за актуализации на Crouton. Вилицата AssimilateCrouton добавя някои функции, които ви позволяват да децентрализирате бизнес правилата, които управляват вашето устройство, т.е. устройството IOT не се нуждае от никакви вградени бизнес правила, а само конвейер за MQTT/I2C комуникация с по -интелигентните (контролирани от ATTINY) подчинени актьори и сензори.
Стъпка 2: АСИМИЛИРАНЕ НА КРУТОНА
ПРОМЕНИ НА КРУТОНА
Промените от раздвоената версия включват:
- ако крайна точка има определено свойство на път, WebComponent за картата ще направи HTMLImport за CORS ресурс (уеб сървърът на ESP8266 в тази компилация).
- всички ресурси нагоре по веригата от (зависимости на) CORS WebComponent се препращат така, сякаш се обслужват от уебсайта на Crouton; когато не успеят да заредят манипулатор на изключения, пренарежда пътищата и се зарежда, ако от уебсайта.
- горе вдясно се показва текущо местно време, полезно за проверка по график.
ПОЛИМЕРНИ ЗАВИСИМОСТИ И КОРИ
Листовете на дърво на зависимост от полимер могат да бъдат хоствани в CORS. Тъй като кореновите зависимости могат да се използват няколко пъти в приложение, те не могат да бъдат препращани от 2 местоположения (уебсайта и устройството), тъй като зареждащият модул на полимерни модули ги третира като 2 отделни ресурса и множество грешки при регистрацията бързо се сблъскват с приложение.
Поради тази причина WebComponent за карта (HTML файл в 1.4.0) и свързаният CSS файл са единствените файлове, хоствани на устройството. Другите зависимости са посочени така, сякаш WebComponent се хоства в папката "html" на уебсайта на създаване, което улеснява разработването на WebComponents от тази папка до готовност за качване в SPIFFS на ESP8266. AssimilateCrouton ще разработи как да получи правилните файлове.
РАЗПЛАЩАНЕ
Създателят на edfungus на оригиналния Crouton написа източника в Pug/Less и имаше NPM/Grunt инструментариум. Изведох Pug/Less като HTML/css и просто редактирах/разпространих рендерираните файлове. Това прекъсна веригата от инструменти NPM/Grunt. Поправянето на това е обхванато в раздела БЪДЕЩЕ.
Можете да тествате таблото за управление локално във вашето DEV поле:
- От командния ред в основната папка
- npm старт
- Lite сървърът се стартира за https:// localhost: 10001
Разполагане на статичен уеб сървър:
- копирайте всички папки с изключение на node_modules
- копирайте index.html (и евентуално web.config)
БЪДЕЩЕ
Една от основните цели е надграждане до Polymer3 и работа от Polymer CLI. Добавянето на усъвършенствани редактори и рамка за разработчиците на IOT да разработят свои собствени е висок приоритет. В крайна сметка усъвършенствана автоматизирана система ще се управлява изцяло от отделни клиенти на MQTT като AssimilateCrouton.
Пример за пакета deviceInfo, използван за AssimilateCrouton:
{ |
"информация за устройството": { |
"endpoint": { |
"CC_device": { |
"device_name": "ash_mezz_A3", |
"card-type": "assim-device", |
"ssid": "Corelines_2", |
"ip_addr": "192.168.8.104", |
"крайни точки": [ |
{ |
"title": "Grow Lights", |
"card-type": "crouton-simple-toggle", |
"endpoint": "switch" |
}, |
{ |
"title": "Лампи за плантатори", |
"card-type": "crouton-assim-weekview", |
"endpoint": "CC_switch" |
} |
] |
}, |
"CC_switch": { |
"card-type": "assim-weekview", |
"info": "Включете или изключете светлините в 15 -минутни времеви интервали", |
"path": "https://192.168.8.104/cors", |
"title": "Лампи за плантатори", |
"interval_mins": 15, |
"стойности": { |
"стойност": "" |
} |
}, |
"превключвател": { |
"title": "Grow Lights", |
"card-type": "crouton-simple-toggle", |
"info": "Включване или изключване на светлините ad hoc", |
"етикети": { |
"false": "OFF", |
"true": "ON" |
}, |
"икони": { |
"false": "sun-o", |
"true": "sun-o" |
}, |
"стойности": { |
"стойност": 0 |
} |
} |
}, |
"status": "добро", |
"name": "ash_mezz_A3", |
"description": "Офис в Ашмор, Мецанин, Зона А2", |
"color": "#4D90FE" |
} |
} |
вижте rawdeviceInfo.json, хоствано с ❤ от GitHub
Стъпка 3: МОНТАЖ НА УСТРОЙСТВОТО
Тъй като няма промени в хардуера, ето връзките към съответната информация:
- Монтаж на корпуса
- Материали и инструменти
- Подготовка на MCU
- Подготовка на жилището на MCU
- Изграждане на Slaves Switch от ниска страна/RESET дъщерна дъска
- Сглобяване на основните компоненти
Стъпка 4: ФЕРМУ
ОСНОВНИ ПРОМЕНИ ТАЗИ СГРАДА
За да може приложението AssimilateCrouton да може да използва CORS ресурси от устройството, заглавките на отговорите трябваше да бъдат конфигурирани по определен начин. Това беше внедрено в тази версия на фърмуера (static_server.ino => server_file_read ()).
Също така основната графика на зависимостта за Polymer трябва да е от един произход. Използвана е стратегия за добавяне на манипулатор на onerror (corsLinkOnError) към SPIFFS CORS файловете за презареждане на ресурсите от уебсайта AssimilateCrouton, когато те не са намерени на устройството.
Към файловата система SPIFFS са добавени 2 нови конвенции за персонализиране на крайните точки, създадени в deviceInfo - които AssimilateCrouton използва за създаване на карти на таблото за управление:
- /config/user_card_base.json Определение на крайна точка с променящи се първоначално променливи:,,. Обикновено това е мястото, където ще бъде добавена картата за устройство за асимилация. Това не комуникира обратно с устройството.
- /config/user_card_#.json Определение на крайна точка с първоначално разменени променливи по време на изпълнение:,,. Обикновено това е мястото, където богатите редактори, като например карта за асим-седмичен преглед, ще бъдат добавени, свързани към I2C подчинения (актьор/сензор), който се отнася до #.
СКИЧ/БИБЛИОТЕКИ
На този етап проектът е опакован като пример за библиотеката AssimilateBus Arduino. Това е основно, за да направи всички необходими файлове лесен достъп от Arduino IDE. Основните кодови артефакти са:
- mqtt_crouton_esp8266_cors_webcomponents.ino - основната входна точка.
- assimilate_bus.h/assimilate_bus.cpp - библиотеката, която обработва I2C комуникацията с подчинения сензор/актьори
- VizJson.h/VizJson.cpp - библиотеката, която форматира/изгражда всеки JSON, публикуван чрез MQTT
- config.h/config.cpp - библиотеката, която чете/кутии/записва конфигурационни файлове на SPIFFS
- static_i2c_callbacks.ino - обратните обаждания на I2C за получено свойство и цикълът от подчинени заявки са пълни static_mqtt.ino - функциите MQTT
- static_server.ino - функциите на уеб сървъра
- static_utility.ino - помощни функции
Статичните INO функции бяха използвани (вместо библиотеки) по различни причини, но главно, за да могат функциите Webserver и MQTT да играят добре заедно.
РЕСУРСИТЕ НА SPIFFS
Подробни обяснения за файловете SPIFFS можете да намерите тук.
- favicon.ico - ресурс, използван от Ace Editor
-
config
- device.json - конфигурацията за устройството (Wifi, MQTT …)
- slave_metas _#. json - генериран по време на изпълнение за всеки номер на подчинен адрес (#)
- user_card _#. json - персонализирана крайна точка за интегриране в deviceInfo за всеки номер на подчинен адрес (#)
- user_card_base.json - персонализирана крайна точка, която да бъде интегрирана в deviceInfo за устройството
- user_meta _#. json - персонализираните метаданни заменят този на подчинените за всеки номер на адрес на подчинен (#)
- user_props.json - персонализирани имена на свойства, които да отменят тези в метаданните на подчинените устройства
-
корс
- card -webcomponent.css - таблица със стилове за различни персонализирани карти
- card -webcomponent.html - уебкомпонент за различни персонализирани карти
-
редактор
- assimilate -logo-p.webp" />
- edit.htm.gz - gzip на HTML на Ace Editor
- edit.htm.src - оригинален HTML на Ace Editor
- favicon -32x32-p.webp" />
ИЗТЕГЛЯНЕ НА ФИРМУ
- Хранилището на кодовете може да се намери тук (моментна снимка).
- ZIP файл на библиотеката можете да намерите тук (моментна снимка).
- Инструкции за „Импортиране на ZIP библиотека“тук.
- След като библиотеката е инсталирана, можете да отворите примера „mqtt_crouton_esp8266_cors_webcomponents“.
- Инструкции за настройка на Arduino за Wemos D1 Mini тук.
- Зависимости: ArduinoJson, TimeLib, PubSubClient, NeoTimer (вижте прикачените файлове, ако нарушавате промените в хранилищата).
КАЗВАНЕ В SPIFFS
След като кодът е зареден в Arduino IDE, отворете device.json в папката data/config:
- Променете стойността на wifi_ssid с вашия WiFi SSID.
- Променете стойността на wifi_key с вашия WiFi ключ.
- Променете стойността на mqtt_device_name с предпочитаната от вас идентификация на устройството (не е необходимо присъединяване).
- Променете стойността на mqtt_device_description с предпочитаното от вас Описание на устройството (в Crouton).
- Запазете device.json.
- Качете файловете с данни в SPIFFS.
Основната входна точка за примера на AssimilateBus:
/* |
* |
*ОЧАКВАТ се ПРАВИЛА ЗА БИЗНЕСА ЗА УСТРОЙСТВОТО ДА БЪДАТ КОНТРОЛИРАНИ ЧРЕЗ MQTT - НЕ СЕ ПЕЧАТ В ТОЗИ ФИРМУ |
* |
* Освен настройка и цикъл в този файл |
* важните движещи се части са |
* on_bus_received и on_bus_complete в static_i2c_callbacks.ino |
* и |
* mqtt_publish и mqtt_callback в static_mqtt.ino |
* |
*/ |
#include "types.h" |
#включва "VizJson.h" |
#include "assimilate_bus.h" |
#include "debug.h" |
#include "config.h" |
#включва |
#включва // задайте MQTT_MAX_PACKET_SIZE на ~ 3000 (или вашите нужди за deviceInfo json) |
#включва |
#включва |
#включва |
#включва |
#включва |
// --------------------------------- ДЕКЛАРАЦИИ НА ПАМЕТТА |
// ------------------------------------------------ - определя |
#defineDBG_OUTPUT_FLAG2 // 0, 1, 2 МИНИМУМ, ИЗПУСКАНЕ, ПЪЛНО |
#define_mqtt_pub_topic "изходящи" // КОНВЕНЦИИ НА КРООН |
#define_mqtt_sub_topic "входяща поща" |
// ------------------------------------------------ - обекти от клас |
Debug _debug (DBG_OUTPUT_FLAG); |
AssimilateBus _assimilate_bus; |
VizJson _viz_json; |
Config _config_data; |
WiFiClient _esp_client; |
PubSubClient _client (_esp_client); |
WiFiUDP Udp; |
ESP8266WebServer _сервър (80); |
Neotimer _timer_property_request = Neotimer (5000); |
// ------------------------------------------------ - структури на данни / променлива |
RuntimeDeviceData _runtime_device_data; |
PropertyDto _dto_props [50]; // max 10 slave x max 5 свойства |
// ------------------------------------------------ - контрол на потока |
volatilebool _sent_device_info = невярно; |
байт _dto_props_index = 0; |
bool _fatal_error = false; |
// --------------------------------- ДЕКЛАРАЦИИ НА ОБХВАТ НА ФУНКЦИЯ |
// ------------------------------------------------ - static_i2c_callbacks.ino |
voidon_bus_received (байт slave_address, байт prop_index, роля на роля, име на char [16], char стойност [16]); |
voidon_bus_complete (); |
// ------------------------------------------------ - static_mqtt.ino |
voidmqtt_callback (char* тема, байт* полезен товар, дължина без знак); |
voidmqtt_loop (); |
int8_tmqtt_get_topic_index (char* тема); |
voidmqtt_init (constchar* wifi_ssid, constchar* wifi_password, constchar* mqtt_broker, int mqtt_port); |
voidmqtt_create_subscriptions (); |
voidmqtt_publish (char *root_topic, char *deviceName, char *крайна точка, constchar *полезен товар); |
boolmqtt_ensure_connect (); |
voidmqtt_subscribe (char *root_topic, char *deviceName, char *крайна точка); |
voidi2c_set_and_get (адрес на байт, код на байт, constchar *параметър); |
// ------------------------------------------------ - static_server.ino |
Низ server_content_type_get (Име на низ на файл); |
boolserver_path_in_auth_exclusion (String път); |
boolserver_auth_read (Пътна линия); |
boolserver_file_read (Пътя на низ); |
voidserver_file_upload (); |
voidserver_file_delete (); |
voidserver_file_create (); |
voidserver_file_list (); |
voidserver_init (); |
voidtime_services_init (char *ntp_server_name, байт time_zone); |
time_tget_ntp_time (); |
voidsend_ntp_packet (IP адрес и адрес); |
char *time_stamp_get (); |
// ------------------------------------------------ - static_utility.ino |
Низ spiffs_file_list_build (String път); |
voidreport_deserialize_error (); |
voidreport_spiffs_error (); |
boolcheck_fatal_error (); |
boolget_json_card_type (байт slave_address, байт prop_index, char *card_type); |
boolget_struct_card_type (байт slave_address, байт prop_index, char *card_type); |
boolget_json_is_series (байт slave_address, байт prop_index); |
voidstr_replace (char *src, constchar *oldchars, char *newchars); |
байт get_prop_dto_idx (байт slave_address, байт prop_index); |
// --------------------------------- ОСНОВНО |
voidsetup () { |
DBG_OUTPUT_PORT.begin (115200); |
SetupDeviceData device_data; |
Serial.println (); Serial.println (); // марж за боклук на конзолата |
забавяне (5000); |
if (DBG_OUTPUT_FLAG == 2) DBG_OUTPUT_PORT.setDebugOutput (вярно); |
_debug.out_fla (F ("настройка"), вярно, 2); |
// получаваме необходимата конфигурация |
if (SPIFFS.begin ()) { |
_debug.out_str (spiffs_file_list_build ("/"), вярно, 2); |
if (! _config_data.get_device_data (device_data, _runtime_device_data)) { |
report_deserialize_error (); |
връщане; |
} |
} else { |
report_spiffs_error (); |
връщане; |
} |
// използваме стойността на таймера, зададена в device.json |
_timer_property_request.set (device_data.sensor_interval); |
mqtt_init (device_data.wifi_ssid, device_data.wifi_key, device_data.mqtt_broker, device_data.mqtt_port); |
time_services_init (device_data.ntp_server_name, device_data.time_zone); |
server_init (); |
// стартира събирането на метаданни |
_assimilate_bus.get_metadata (); |
_assimilate_bus.print_metadata_details (); |
mqtt_ensure_connect (); |
// се нуждае от свойство (имена) на сензора, за да завърши събирането на метаданни |
_assimilate_bus.get_properties (on_bus_received, on_bus_complete); |
_timer_property_request.reset (); // може да изчезне забележимо време до този момент, така че започнете отново |
} |
voidloop () { |
if (! check_fatal_error ()) връщане; |
mqtt_loop (); |
_server.handleClient (); |
if (_timer_property_request.repeat ()) { |
_assimilate_bus.get_properties (on_bus_received, on_bus_complete); |
} |
} |
вижте rawmqtt_crouton_esp8266_cors_webcomponents.ino хоствано с ❤ от GitHub
Стъпка 5: КАРТА ЗА УСТРОЙСТВО
Картата на устройството (тип карта: assim-device) се хоства на уебсайта и не е необходимо да се обслужва от устройството (CORS).
Неговата страница по подразбиране изброява:
- Темите за MQTT за четене и писане на устройството
- Точката за достъп, към която е свързано устройството
- Връзка към редактора на файлове SPIFFS, хостван на устройството с помощта на ACE EDITOR
- Икона на око, която разкрива страницата Показване/скриване на картата.
Страницата за показване/скриване на картата изброява:
- Всяка карта като отделен елемент
- Удебелен син шрифт при показване
- Черен нормален шрифт, когато е скрит
- Икона, изобразяваща вида на картата.
Картата може да бъде скрита, като щракнете върху бутона за скриване на картите или щракнете върху елемент със сив удебелен шрифт в списъка. Картите могат да бъдат показани, като щракнете върху елемент с нормален черен шрифт в списъка.
Слабо свързани с тази функция са информационните тостове. Ако някоя от крайните точки в deviceInfo има зададено свойство за информация, до бутона за скриване на картата ще се покаже бутон с информация. При щракване контекстната информация, определена в крайната точка, ще бъде „препечена“към прозореца.
Ако картата на устройството не е дефинирана, бутоните за скриване няма да се показват на картите. Това е така, защото веднъж скрити, няма начин да ги покажете отново.
Вижте ENDPOINT CUSTOMISATION за подробности как може да се добави картата на устройството за асимиране чрез SPIFFS файловете на ESP8266.
AssimilateCrouton WebComponent
ПОКАЖЕТЕ СКРИВАНЕ НА ИКОНАТА |
ФОРМУЛА ЗА УСТРОЙСТВО |
div> |
ПОКАЖЕТЕ СКРИВАНЕ НА СПИСЪКА |
шаблон> |
paper-listbox> |
div> |
crouton-card> |
шаблон> |
dom-module> |
вижте rawassim-device.html хоствано с ❤ от GitHub
Стъпка 6: КАРТА ЗА УСИЛЕНИЕ
Картата за седмичен преглед (тип карта: assim-weekview) се хоства на устройството (папка cors). Той се инжектира в пакета deviceInfo, публикуван за AssimilateCrouton, чрез добавяне на файл config/user_card _#. Json към SPIFFS (в този случай user_card_9.json).
ПРЕГЛЕД
Делничните дни са представени като списъци с времеви интервали. Детайлността на времевия интервал е зададена със свойството "interval_mins" в config/user_card _#. Json. Трябва да е част от час или кратно на час, напр. 10, 15, 20, 30, 60, 120, 360. Щракването върху времеви интервал гарантира, че за съответното устройство през това време се командва включено състояние. Ако времевият интервал е сега, команда се изпраща (публикува) незабавно за устройството. Обикновено състоянието се проверява/публикува всяка минута. Селекциите се записват в LocalStorage, така че часовете ще бъдат презаредени с опресняване на браузъра.
СЛУЧАИ НА УПОТРЕБА
В сегашното си състояние седмичният преглед е подходящ за устройства, които могат да използват превключвател за превключване, за да визуализират състоянието си, т.е. те са или включени или изключени и след като са настроени, остават в това състояние. Светлините, вентилаторите и бойлерите са добри кандидати.
ОГРАНИЧЕНИЯ/ОГРАНИЧЕНИЯ
- Interval_mins трябва да бъде една от стойностите, споменати по -горе
- Прегледът на седмицата не поддържа моментни действия, които също са насрочени, като например включване на крана за кратко (5 секунди) два пъти на ден.
БЪДЕЩЕ
- Очаква се моментните действия да бъдат подкрепени.
- Обмисля се синхронизирано съхранение между устройства, за избор на график.
Стъпка 7: Персонализиране на ENDPOINT
Както бе споменато във FIRMWARE, към файловата система SPIFFS са добавени 2 нови конвенции за персонализиране на крайните точки. JSON файловете са фрагменти, които се добавят към свойството endpoints в deviceInfo пакета, публикуван в брокера MQTT, който става дефиниция на таблото.
Ключовете на крайните точки се генерират във фърмуера:
- CC_device (Персонализирана карта) за user_card_base.json
- CC_SLAVE_ENDPOINT NAME за user_card _#. Json (# е подчинен адрес)
Както бе споменато по -горе, има променливи, които се заменят със стойности по време на изпълнение:
- mqtt_device_name
- wifi_ssid
- local_ip
user_card_base.json
Пример:
user_card _#. json
Пример:
Стъпка 8: ВИДЕО
Препоръчано:
Сензор за движение на водата Сензор за движение с помощта на Arduino и соленоиден клапан - Направи си сам: 6 стъпки
Сензор за вода Сензор за движение с помощта на Arduino и соленоиден клапан - Направи си сам: В този проект ще ви покажа как да изградите кран за вода с сензор за движение с помощта на електромагнитен клапан. Този проект може да ви помогне да преобразувате съществуващия си ръчен кран за вода в кран, който може да се контролира въз основа на откриване на движение. Използване на интерфейса на IR сензора
IOT123 - ЦЕНТЪР ЗА АСИМИЛИРАН СЕНЗОР: ICOS10 GENERIC SHELL (HOOKUP WIRE) Монтаж: 4 стъпки
IOT123 - ЦЕНТЪР ЗА АСИМИЛИРАН СЕНЗОР: ICOS10 ГЕНЕРИЧНА ШЕЛКА (КОНТАКТНА ЖИЛА) Монтаж: АКТУАЛИЗАЦИЯ Препоръчваме ви да използвате IDC веригата (не HOOKUP) за по -голяма надеждност. Този монтаж на HOOKUP е подходящ за операция без критична мисия, ако имате време да проверите веригата. Открих, че някои проводници (горен слой от панели: червено/жълто) не са достатъчно дълги
IOT123 - ЦЕНТЪР ЗА АСИМИЛИРАН СЕНЗОР: ICOS10 ГЕНЕРИЧНА ШЕЛКА (IDC) МОНТАЖ: 6 стъпки
IOT123 - ЦЕНТЪР ЗА АСИМИЛАЦИОНЕН СЕНЗОР: СБОР ICOS10 GENERIC SHELL (IDC): ЗАБЕЛЕЖКА Това е подобрена (стабилност на веригата) версия на хъба за ASSIMILATE SENSOR HUB: ICOS10 GENERIC SHELL (HOOKUP WIRE). Той се сглобява по -бързо и има по -висококачествена верига, но струва повече (~ $ 10 допълнително, ако поддържа 10 сензора). Основното фе
IOT123 - ЦЕНТЪР НА АСИМИЛАЦИОНЕН СЕНЗОР: ICOS10 КРУТОННА УСТАНОВКА НА УЗЛ: 6 стъпки
IOT123 - ЦЕНТЪР НА АСИМИЛАЦИОНЕН СЕНЗОР: ICOS10 КРУТОНЕН РЕЗУЛТУРЕН УЗЛ: Крутон. http://crouton.mybluemix.net/ Crouton е табло, което ви позволява да визуализирате и контролирате вашите IOT устройства с минимална настройка. По същество това е най -лесното табло за настройка за всеки IOT хардуер ентусиаст, използващ само MQTT и JSON
IOT123 - ЦЕНТЪР ЗА АСИМИЛИРАН СЕНЗОР: ICOS10 УЕБСЕРВИЗИРАНЕ НА ЛИСТА: 11 стъпки
IOT123 - ЦЕНТЪР ЗА АСИМИЛИРАН СЕНЗОР: ICOS10 КОМПЛЕКСИРАН УЕБСЕРВЕР: АСИМИЛИРУВАЩИТЕ СЕНЗОРИ/АКТОРни подчинени вграждат метаданни, които се използват за определяне на визуализации в Crouton. Тази компилация добавя уеб сървър към ESP8266 Master, обслужва някои конфигурационни файлове, които могат да бъдат променени от потребителя, след което използва тези файлове, за да дефинира отново