Съдържание:

IOT123 - ЦЕНТЪР ЗА АСИМИЛИРАН СЕНЗОР: ICOS10 УЕБСЕРВИЗИРАНЕ НА ЛИСТА: 11 стъпки
IOT123 - ЦЕНТЪР ЗА АСИМИЛИРАН СЕНЗОР: ICOS10 УЕБСЕРВИЗИРАНЕ НА ЛИСТА: 11 стъпки

Видео: IOT123 - ЦЕНТЪР ЗА АСИМИЛИРАН СЕНЗОР: ICOS10 УЕБСЕРВИЗИРАНЕ НА ЛИСТА: 11 стъпки

Видео: IOT123 - ЦЕНТЪР ЗА АСИМИЛИРАН СЕНЗОР: ICOS10 УЕБСЕРВИЗИРАНЕ НА ЛИСТА: 11 стъпки
Видео: [DevFest Nantes 2019] Building a Complex Application with Web Components and LitElement 2024, Юли
Anonim
IOT123 - ЦЕНТЪР ЗА АСИМИЛИРАН СЕНЗОР: ICOS10 КОМПОЗИЦИОНЕН Уебсайт
IOT123 - ЦЕНТЪР ЗА АСИМИЛИРАН СЕНЗОР: ICOS10 КОМПОЗИЦИОНЕН Уебсайт
IOT123 - ЦЕНТЪР ЗА АСИМИЛИРАН СЕНЗОР: ICOS10 КОМПОЗИЦИОНЕН ВЕБСЕРВЕР
IOT123 - ЦЕНТЪР ЗА АСИМИЛИРАН СЕНЗОР: ICOS10 КОМПОЗИЦИОНЕН ВЕБСЕРВЕР
IOT123 - ЦЕНТЪР ЗА АСИМИЛИРАН СЕНЗОР: ICOS10 КОМПОЗИЦИОНЕН ВЕБСЕРВЕР
IOT123 - ЦЕНТЪР ЗА АСИМИЛИРАН СЕНЗОР: ICOS10 КОМПОЗИЦИОНЕН ВЕБСЕРВЕР

Подчинените устройства на ASSIMILATE SENSOR/ACTOR Slaed вграждат метаданни, които се използват за определяне на визуализации в Crouton. Тази компилация добавя уеб сървър към ESP8266 Master, обслужва някои конфигурационни файлове, които могат да бъдат променени от потребителя, след което използва тези файлове за предефиниране на визуализациите. Така че имената на картите на таблото и повечето конфигурируеми свойства могат да бъдат променени. Това беше необходимо напр. DHT11 публикува свойства за температура и влажност: ако сайтът има няколко възли с отделни DHT11 сензори, всички те не могат да се нарекат температура (гаражна температура, температура на двора …). Ограничението на дължината на метаданните, зададено от I2C шината (16 символа), не съществува и могат да се прилагат по -богати стойности (до 64 знака).

Незадължителното основно удостоверяване може да се конфигурира за уеб страницата за редактиране, както и списък за изключване от удостоверяване за други ресурси.

Превключвател от ниска страна, който изключва подчинените устройства, когато е необходимо, също е разработен на съществуваща дъщерна платка.

Като техническа бележка, преди започване на тази компилация отпечатъкът на паметта беше 70% поради глобална графика на обекти с метаданни. Най -новата библиотека на AssimilateBus претърпя промени, които отделят глобалната променлива от по -малки JSON файлове, запазени в SPIFFS. Това върна отпечатъка обратно на ~ 50%, което е по -безопасно за целия JSON анализ/изграждане. Библиотеката AssimilateBusSlave остава същата (ASSIM_VERSION 2) по време на тези промени.

ОСОБЕНОСТИ И ВИЗИЯ

В момента подчинените (сензори и актьори) са самостоятелни и разчитат на I2C съобщения, базирани на конвенции, за да четат свойства или да действат по команди. Капитанът взема метаданните и свойствата от подчинени устройства и ги изпраща на брокер на MQTT. Той също така стартира уеб сървър и обслужва JSON файлове, които могат да бъдат редактирани, за да се конфигурира главният и да се персонализират метаданните/свойствата, които в крайна сметка се консумират от Crouton. Отделните сензори/актьори се четат/командват чрез Crouton, без капитанът да има предишни познания за това какво правят робите.

Една от целите на ASSIMILATE IOT NETWORK е да персонализира Crouton така, че редакторите за смесване, обслужвани от уеб сървърите на IOT NODE (като тази компилация), да се добавят като уеб компоненти, които ще дадат пълен контрол върху това, което прави нещо, т.е. master не е програмиран, подчинените имат основни набори от функции, но таблото за управление на Crouton вгражда всички бизнес правила, необходими за изпълнението на това нещо!

Вилицата Crouton се разглежда като опция за децентрализиран контрол/конфигуриране на нещата. По същество всяка MQTT клиент/GUI комбинация може да администрира вашите неща, тъй като всяка функция (сензори и актьори) е изложена като крайна точка на MQTT.

Стъпка 1: Крутон

Крутон
Крутон
Крутон
Крутон

Крутон. https://crouton.mybluemix.net/ Crouton е табло, което ви позволява да визуализирате и контролирате вашите IOT устройства с минимална настройка. По същество това е най -лесното табло за настройка за всеки ентусиаст на хардуера на IOT, използващ само MQTT и JSON.

ASSIMILATE SLAVES (сензори и актьори) имат вградени метаданни и свойства, които капитанът използва за изграждане на пакета deviceInfo json, който Crouton използва за изграждане на таблото за управление. Посредникът между ASSIMILATE NODES и Crouton е MQTT брокер, който е удобен за websockets: Mosquito се използва за демонстрацията.

Тъй като ASSIMILATE MASTER (тази компилация) изисква свойства, той форматира стойностите на отговора в необходимия формат за актуализации на Crouton.

Стъпка 2: Уеб сървърът / редакторът

Уеб сървърът / редакторът
Уеб сървърът / редакторът
Уеб сървърът / редакторът
Уеб сървърът / редакторът

Тъй като Master зарежда (тази компилация) се стартира вграден уеб сървър. IP адресът се извежда към серийната конзола; в крайна сметка това ще бъде публикувано на таблото за управление на Crouton.

Когато прегледате посочения URL адрес, ACE EDITOR ще се зареди:

Ace е вграден редактор на код, написан на JavaScript. Той съответства на характеристиките и производителността на родните редактори като Sublime, Vim и TextMate.

Ace е популярен сред вградените уеб сървъри и дава добър интерфейс за редактиране и запазване на JSON файловете.

Щракването върху име на файл вляво ще прочете файла от SPIFFS на ESP8266 и ще зареди съдържанието за редактиране отдясно. Файлът може да бъде запазен от горната лента с инструменти.

За да качите файл:

  1. Изберете Файл от вашата локална файлова система.
  2. Вмъкнете пътя на папката (ако е необходимо) в текстовото поле.
  3. Щракнете върху Качване.
  4. Опреснете страницата.

Стъпка 3: Персонализиране на устройството

Персонализиране на устройството
Персонализиране на устройството

Конфигурацията на устройството (ESP8266) се осъществява чрез файла device.json.

Някои от тези записи (wifi_ssid, wifi_key) ще трябва да бъдат променени, преди да качите данните в SPIFFS (ESP8266 Sketch Data Upload).

Отидете до корена на уеб сървъра (показан в изхода на конзолата като

РЕДАКТИРАНЕ

В ACE EDITOR изберете config/device.json.

Записите са:

  • www_auth_username: потребителско име за оторизация за файлове на уеб сървър (празно за неупълномощаване).
  • www_auth_password: парола за оторизация за файлове на уеб сървър (ако е определено потребителско име).
  • www_auth_exclude_files: списък с файлове с разделител и запетая с пътища за изключване от проверките за оторизация (ако е определено потребителско име).
  • sensor_interval: милисекундите между публикуването на данни в MQTT Broker.
  • ntp_server_name: името на сървъра за време, който да се използва.
  • time_zone: изместването в часове за вашето местно време.
  • wifi_ssid: SSID на вашата локална точка за достъп.
  • wifi_key: ключът, който да използвате за SSID.
  • mqtt_broker: адресът на брокера на MQTT.
  • mqtt_username: потребителското име, което да се използва за брокера на MQTT (празно, без да е необходим акаунт).
  • mqtt_password: паролата за използване от потребителското име на MQTT.
  • mqtt_port: портът за брокер на MQTT.
  • mqtt_device_name: името, което да се използва за MQTT теми и идентификация на Crouton.
  • mqtt_device_description: описанието на устройството, показано в Crouton.
  • viz_color: цветът за идентифициране на картите на устройството в Crouton (в раздвоената версия)

Стъпка 4: Персонализиране на имота

Персонализиране на имоти
Персонализиране на имоти
Персонализиране на имоти
Персонализиране на имоти
Персонализиране на имоти
Персонализиране на имоти

Всеки от подчинените устройства има nvc структурен масив, дефиниран във файла definitions.h:

// --------------------------------------- ПУБЛИКУВАНИ ИМОТИ

nvc reps [2] = {{"Влажност", "", вярно}, {"Температура", "", невярно}}; // --------------------------------------- КРАЙ ПУБЛИКУВАНИ СВОЙСТВА

Всеки от записите има индекс, като първият е 0 (нула).

Персонализирането на името на свойството се извършва чрез файла user_props.json.

Отидете до корена на уеб сървъра (показан в изхода на конзолата като

РЕДАКТИРАНЕ

В ACE EDITOR изберете config/user_props.json (или качете такъв).

Структурата е:

Първият ключ е адресът на подчинения във файла definitions.h, както е идентифицирано от:

#define ADDRESS_SLAVE XX

  • Следващото ниво на ключове е индексът на имота.
  • Стойността на този ключ е Името на свойството, което да се използва в Crouton вместо името на свойството, определено във файла с дефиниции.

Стъпка 5: Персонализиране на метаданни

Персонализиране на метаданни
Персонализиране на метаданни
Персонализиране на метаданни
Персонализиране на метаданни
Персонализиране на метаданни
Персонализиране на метаданни
Персонализиране на метаданни
Персонализиране на метаданни

Поради размера на възможните персонализации, всеки подчинен има свой собствен файл за модификация на метаданни. Файловете трябва да бъдат във формат user_metas_.json.

Подчиненият адрес се намира във файла definitions.h в скиците на ATTINY85:

#define ADDRESS_SLAVE XX

Метаданните са дефинирани в същия файл по следния начин:

const static char viz1 PROGMEM = "VIZ_CARD_TYPE";

const static char viz2 PROGMEM = "2: диаграма-поничка"; const static char viz3 PROGMEM = "1";

Първият ред е името на елемента с метаданни.

Вторият ред е стойността. Обикновено има суфикс на индекс на свойство.

Третият ред е знамето за продължение. 1 - продължаване, 0 - край на метаданните (VCC_MV).

Отидете до корена на уеб сървъра (показан в изхода на конзолата като

РЕДАКТИРАНЕ

В ACE EDITOR изберете config/user_metas_SLAVE_ADDRESS.json (или качете такъв). Структурата е:

  • Масив от двойки име/стойност.
  • Име е името на елемента с метаданни, който трябва да се промени.
  • Стойността е промяната. Индексният суфикс се проверява за замяна.

Стъпка 6: Материали и инструменти

Материали и инструменти
Материали и инструменти
Материали и инструменти
Материали и инструменти
Материали и инструменти
Материали и инструменти

ICOS10 (IDC) Shell Bill of Materials

  1. D1M БЛОК ПИН Джиг (1)
  2. D1M BLOCK основа и корпус (1)
  3. Wemos D1 Mini (1)
  4. Wemos D1 Mini Protoboard щит (1)
  5. 40P женски заглавки (8P, 8P, 9P, 9P)
  6. Мъжка заглавка 90º (3P, 3P, 3P, 2P, 1P, 2P)
  7. 1 "Двустранна протоборд (2)
  8. 2N7000 NFET (1)
  9. 6 -пинов обвит IDC мъжки заглавие (1)
  10. Свързващ проводник (~ 10)
  11. Канелена тел 0,5 мм (~ 4)
  12. 4G x 15 мм самонарезни винтове с бутонна глава (2)
  13. Самонарезни винтове 4G x 6 мм (~ 20)
  14. Припой и желязо (1)

Стъпка 7: Подготовка на MCU

Image
Image
Подготовка на MCU
Подготовка на MCU

В тази конструкция използваме Wemos D1 Mini. Ако преди това сте изградили D1M WIFI БЛОК, можете да го използвате за модулния хардуерен компонент. Ако не, като минимум следвайте следващия раздел.

СПЕЙКА НА ПИНОВЕТЕ НА ГЛАВАТА НА MCU (с помощта на PIN JIG) Ако не можете да отпечатате PIN JIG, просто следвайте инструкциите и импровизирайте: височината (отместването) на PIN JIG е 6.5 mm.

  1. Отпечатайте/получете PIN JIG от тази страница.
  2. Прокарайте щифтовете на заглавната част през дъното на дъската (TX дясно-ляво) и в приспособлението за запояване.
  3. Натиснете щифтовете надолу върху твърда равна повърхност.
  4. Натиснете плътно дъската върху приспособлението.
  5. Запоявайте 4 -те ъглови щифта.
  6. Повторно затоплене и преместване на дъската/щифтовете, ако е необходимо (дъската или щифтовете не са подравнени или отвеси).
  7. Запояйте останалите щифтове.

ИЗТЕГЛЯНЕ НА ФИРМУ

Хранилището на кодовете може да се намери тук (моментна снимка).

ZIP файл на библиотеката можете да намерите тук (моментна снимка).

Инструкции за „Импортиране на ZIP библиотека“тук.

След като библиотеката е инсталирана, можете да отворите примера "mqtt_crouton_esp8266_customization_webserver".

Инструкции за настройка на Arduino за Wemos D1 Mini тук.

Зависимости: ArduinoJson, TimeLib, PubSubClient, NeoTimer (вижте прикачените файлове, ако нарушавате промените в хранилищата).

КАЗВАНЕ В SPIFFS

След като кодът е зареден в Arduino IDE, отворете device.json в папката data/config:

  1. Променете стойността на wifi_ssid с вашия WiFi SSID.
  2. Променете стойността на wifi_key с вашия WiFi ключ.
  3. Променете стойността на mqtt_device_name с предпочитаната от вас идентификация на устройството (не е необходимо присъединяване).
  4. Променете стойността на mqtt_device_description с предпочитаното от вас Описание на устройството (в Crouton).
  5. Запазете device.json.
  6. Качете файловете с данни в SPIFFS.

Стъпка 8: Подготовка на жилището на MCU

Image
Image
Подготовка на жилището на MCU
Подготовка на жилището на MCU
Подготовка на жилището на MCU
Подготовка на жилището на MCU

Корпусът на MCU разкрива заглавки за D1 Mini, към които да се включва, и заглавия за дъщерни дъски, които комуникират с гнездото (сензори и актьори).

КЪЩНИ ХОДИТЕ Това се основава на D1 Mini Protoboard и прекъсва тези щифтове:

  1. Пинове за свързване към D1M WIFI BLOCK/D1 Mini.
  2. Директни пробиви на 2 реда контакти от D1M WIFI BLOCK/D1 Mini. Те са достъпни само за удобство при прототипиране. Очаква се дъщерните дъски да блокират целия достъп до тези заглавки.
  3. 4 Пробиви на специфичните щифтове, използвани от дъщерните дъски.

За да добавите контактите D1M към ХИДЕРА НА КЪЩАТА:

  1. Гледайте видеоклипа на ПРОДАЖБАТА, ИЗПОЛЗВАЩИ ГРАНИЦАТА.
  2. Прокарайте щифтовете на заглавката през долната част на дъската (TX горе вляво от горната страна).
  3. Поставете джиг върху пластмасовата глава и изравнете двете повърхности.
  4. Обърнете джига и монтажа и здраво натиснете хедера върху твърда равна повърхност.
  5. Натиснете плътно дъската върху приспособлението.
  6. Запоявайте 4 -те ъглови щифта, като използвате минимално спойка (само временно подравняване на щифтовете).
  7. Повторно затоплене и преместване на дъската/щифтовете, ако е необходимо (дъската или щифтовете не са подравнени или отвеси).
  8. Запояйте останалите щифтове.
  9. Извадете джига.
  10. Отрежете щифтовете над спойките.

За да добавите пробиви на дъщерната дъска:

  1. Изрежете 4 от женски заглавки 9P.
  2. Отгоре поставете 9P заглавките, както е показано, и отлейте отдолу.

За да добавите директните пробиви:

  1. Изрежете 2 женски заглавки 8P.
  2. Отгоре поставете 8P заглавките, както е показано, и отлейте отдолу.

За да свържете заглавките, отдолу с TX щифт, ориентиран нагоре:

  1. Проследяване и запояване от RST щифт през 4 пина.
  2. Проследяване и запояване от щифта A0 през 4 пина.
  3. Проследяване и запояване от D1 щифт на 4 пина.
  4. Проследяване и запояване от D2 щифта през 4 пина.
  5. Проследяване и запояване от D0 щифт надолу 2 реда и през 4 пина.
  6. Проследяване и запояване от щифта D7 през 4 пина.
  7. Проследяване и запояване от щифта GND през 4 пина.
  8. Проследяване и запояване от 5V щифт на 4 пина.
  9. Проследяване и запояване от 3V3 щифт надолу 45 ° през 4 пина.

МОНТАЖ НА ФИКСУРА

ХОДИТЕ НА КЪЩАТА са прикрепени към MCU HOUSING и това е прикрепено към БАЗОВАТА ПЛОЧА.

  1. С дългата страна на ХИДЕРИТЕ НА КЪЩАТА насочени към отвора, поставете D1M CONTACTS в отворите в MCU HOUSING и натиснете надолу.
  2. Поставете MCU върху MCU CONTACTS по време на поставянето, за да осигурите правилното подравняване.
  3. Поставете РАМКАТА НА ГОЛОВАТА върху горната част на сглобяемите тела и я прикрепете с 2 винта 4G x 16 мм.
  4. Поставете сглобените тела с отвора, насочен към късата страна и прикрепете с винтовете 4G x 6 мм.

Стъпка 9: Изграждане на Slaves Switch от ниска страна/RESET дъщерна дъска

Изграждане на Slaves Switch от ниска страна/RESET дъщерна дъска
Изграждане на Slaves Switch от ниска страна/RESET дъщерна дъска
Изграждане на Slaves Switch от ниска страна/RESET дъщерна дъска
Изграждане на Slaves Switch от ниска страна/RESET дъщерна дъска
Изграждане на Slaves Switch от ниска страна/RESET дъщерна дъска
Изграждане на Slaves Switch от ниска страна/RESET дъщерна дъска

Това е подобрение на дъщерната дъска REST, разработена при последната компилация. Това добавя превключвател от долната страна, който свързва подчинените към GROUND. Ако главният се нулира, подчинените устройства също ще започнат и инициализацията, разпространяваща метаданните, ще започне отново.

МОНТАЖ

  1. От вътрешната страна поставете 9P 90 ° мъжки хедери (1), 1P 90 ° мъжки хедър (2), 2N7000 (3) и спойнете от външната страна.
  2. От вътрешната страна проследете жълт проводник от ЖЪЛТО1 до ЖЪЛТО2 и запойте.
  3. От вътрешната страна проследете гола жица от СРЕБЪР1 до СРЕБЪР2 и запойте.
  4. От вътрешната страна проследете гола жица от SILVER3 до SILVER4 и запояйте.

Стъпка 10: Сглобяване на основните компоненти

Сглобяване на основните компоненти
Сглобяване на основните компоненти
Сглобяване на основните компоненти
Сглобяване на основните компоненти
Сглобяване на основните компоненти
Сглобяване на основните компоненти
Сглобяване на основните компоненти
Сглобяване на основните компоненти
  1. Уверете се, че SHELL е изграден и веригата е тествана (кабел и контакти).
  2. Разменете 2P мъжки хедър на 3V3 I2C дъщерна дъска с 2P 90º 1P мъжки хедър.
  3. Поставете 3V3 I2C ДЪЩЕРЕНА ДЪСКА, с щифта 3V3 на дръпнатия край на заглавките (вижте снимката).
  4. Поставете ДЪЩЕСТВЕНАТА ДЪСКА НА НИСКОСТОРОННИЯ ПЕРЕКЛЮЧАТЕЛ/ВЪЗСТАНОВЯВАНЕ, с проводника отвътре (вижте снимката).
  5. Проследете проводник на Dupont между 90º 1P мъжки хедър на RESET DAUGHTER-BOARD към 3V3 I2C DAUGHTER-BOARD.
  6. Поставете IDC гнездото от SHELL CABLE в IDC Header на 3V3 I2C DAUGHTER-BOARD.
  7. Внимателно поставете ДЪСКОВИТЕ ДЪСКИ/КУТИНА между кабелите в ШЕЛА и подравнете основните отвори.
  8. Закрепете ОСНОВНАТА МОНТАЖ към ШЕЛКАТА с винтовете 4G x 6 мм.
  9. Прикрепете всички асимилиращи сензори, които сте направили.

Стъпка 11: Следващи стъпки

Image
Image
Следващи стъпки
Следващи стъпки
Следващи стъпки
Следващи стъпки
  1. Насочете браузъра си към
  2. Уверете се, че брокерът е test.mosquitto.org.
  3. Щракнете върху Свързване.
  4. Въведете името на устройството като mqtt_device_name във файла /config/device.json.
  5. Щракнете върху Добавяне на устройство.
  6. Щракнете върху Автоматично свързване.
  7. Включете вашия ICOS10 (5V MicroUSB).
  8. Проверете чрез таблото за управление Crouton.

Препоръчано: