Розумний модуль керування виходом із збереженням конфігурації на внутрішню флеш-пам’ять

249299

Розумний модуль керування виходом із збереженням конфігурації на внутрішню флеш-пам’ять, дозволяє реалізувати збереження та відновлення конфігурації і стану виходу керування виконавчим механізмом у разі раптового  знеструмлення / відновлення живлення, або через зависання і перезавантаження головного контролера.

Продукт, після запуску у середовищі Lua, працює як повноцінний модуль зі своїми публічними методами, що інтегровано до системного оточення і котрі можливо викликати з рівня мови Lua у потрібний момент. У модулі реалізовано завантаження getconfig() і збереження setconfig() конфігурації керування виходом контролера, а також встановлення setstate() потрібного стану на цьому виході.

Очистити
Артикул: Невідомо Категорії: , Позначок: , , , , , , ,

Опис

Програмний модуль керування виходом розроблявся і тестувався для роботи з

  • Прошивкою NodeMCU custom build by frightanic.com branch: master
  • build created on 2019-01-08
  • powered by Lua 5.1.4 on SDK 2.2.1(6ab97e9)
  • Для роботи модуля, прошивка NodeMCU має містити обов’язкові модулі FILE та GPIO
  • Задача керування виконавчим механізмом (ВМ), вимагає впровадження такого ВМ та підключення на обраний розробником порт NodeMCU
  • Але жодного додаткового обладнання не вимагається для тестування модуля на порту D4 (має вбудований світлодіод у якості ВМ)

Розумний модуль керування виходом із збереженням конфігурації на внутрішню флеш-пам’ять, дозволяє реалізувати збереження та відновлення конфігурації і стану виходу керування виконавчим механізмом у разі раптового  знеструмлення / відновлення живлення, або через зависання і перезавантаження головного контролера.

Продукт, після запуску у середовищі Lua, «фоново» працює як повноцінний модуль зі своїми публічними методами, що зареєстровано у системному оточенні і котрі можливо викликати з рівня мови Lua. У модулі реалізовано завантаження і збереження конфігурації керування виходом контролера, а також встановлення потрібного стану на цьому виході.

Реєстрація модуля у системному оточенні:

outsmart = require('outsmart')

Примітка 1. Так викликати можливо як вихідний *.lua код, так і компільований *.lc.

Примітка 2. Рекомендуємо виконувати виклик модуля з файлу початкового завантаження init.lua.

Публічні методи модуля:

outsmart.getconfig() – завантаження конфігурації з cfg-файлу у внутрішній флеш пам’яті 
outsmart.setconfig() – оновлення та збереження конфігурації до cfg-файлу 
outsmart.setstate() – зміна стану виходу з опціональною можливістю збереження нового стану у конфіг

Розробник може за допомогою API, котрий надає модуль, реалізувати власний алгоритм керування обраним виходом мікроконтролера NodeMCU із збереженням:

  • логіки керування (на вибір: active low  чи active high);
  • встановленого алгоритму поведінки виходу:
    1. увімкнути;
    2. вимкнути;
    3. повторити останній відомий стан;
    4. інвертувати останній відомий стан на протилежний;
    5. нічого не робити;
  • останнього збереженого стану виходу керування;
  • часу оновлення конфігурації;
  • порту GPIO (тобто D-індекс), яким керуємо;

у енергонезалежну пам’ять (флеш).  

Цей продукт, завдяки своїм публічним методам, дозволяє легко інтегрувати себе у проект розробника. Модуль згодиться для керування будь-якими виконавчими механізмами, а особливо тими, що вимагають дотримання процедури їх запуску та перезапуску, наприклад, під час знеструмлення і повторного старту згодом. Розробникові достатньо лише викликати наявні методи, а модуль автоматично буде зберігати (чи не зберігати) у конфігурацію зміну стану виходу, якщо того потребує більш широка задача Розробника.

Для кого цей продукт

Кожен наш програмний продукт розроблено із застосуванням безмежного розмаїття можливостей простих і доступних контролерів, сенсорів та інших електронних компонентів, які можна знайти у будь-якому магазині. Головна наша мета – надати прості і недорогі інструменти швидкого вирішення задуманих проектів.

Наш програмний продукт стане у пригоді, якщо Ви проектуєте пристрій де знадобиться робота з підпорядкованими виконавчими механізмами з дискретним входом керування (тобто пристрій можливо увімкнути / вимкнути). Зокрема, це можуть бути різноманітні нагрівачі, котли опалення, насоси, лампи освітлення, тощо. 

Хоча наш продукт є лише елементом повномасштабного проекту з керування, але він буде корисним і зручним до застосування інструментом, що повністю реалізує задачу встановлення та відновлення стану порту керування.

 В той же час, ми не забираємо у Розробника можливості решту свого проекту зробити самотужки – побудувати найвідповідальнішу частину, котра приймає рішення про вмикання чи вимикання ВМ.

Ми будемо раді, якщо нашими продуктами скористаються:

  • Діти та їх батьки;
  • Учні та їх вчителі;
  • Студенти та їх лабораторні роботи;
  • Новачки у технологіях Інтернету речей;
  • Лаборанти та їх експерименти;
  • Аматори-електронщики-не-програмісти;
  • Аматори-програмісти-не-електронщики;
  • Професійні інженери та їх поважні замовники;

Можливості сучасних обчислювальних систем настільки потужні і всеосяжні, що дані програмні компоненти однаково добре згодяться як для домашньої автоматизації і факультативного навчання, так і комерційного впровадження, або швидкого розгортання окремих сегментів комерційних систем та виконання їх пілотних випробовувань.

Необхідні навички та інструменти

Всі програмні продукти на нашому сайті розраховано на користувачів, які вже вміють самостійно підключати, прошивати та програмувати контролер ESP8266 з прошивкою NodeMCU і мовою програмування Lua.

Таким чином, застосування даного комерційного-придбаного програмного модуля Клієнтом полягає у тому, щоб:

  • завантажити (download) lua-код у середовище розробника на комп’ютер,
  • ознайомитися з кодом і супутніми матеріалами пакету постачання,
  • адаптувати код за необхідності під свої задачі,
  • вивантажити (upload) програмний код у контролер та запустити на виконання;
  • після тестування придбаного коду, користувач може інтегрувати його до своїх власних програмних розробок.

Проте, Ви можете ознайомитися з інструкцією на нашому сайті, як швидко почати програмувати на Lua з контролером NodeMCU/ESP8266 за цим посиланням: “Як швидко почати працювати з контролером”.

Додаткова інформація

Інтерфейсна шина

GPIO

Рівень складності

Складний

Передача даних назовні

Немає

Тип виконання

Модуль з повним API

Локальний Web-сервер

Немає

Журналювання

Немає

Енергоспоживання

Звичайне

Композиція скриптів

Один скрипт

Статистична обробка даних

Немає

Перевірена версія прошивки

2.2.1-master_20181207

Отримання точного часу

Немає

Інтерфейс користувача

Немає

Виробники апаратного забезпечення

Немає

Необхідні модулі прошивки

file модуль, gpio модуль

Мінімальна сумісна версія прошивки

1.5.4.1-master_20161201