di ESP32 ESP8266 ESPUI flprog блоки для управления сервоприводом HC-06HC-SR501 KEYPAD MAX6675 MOC3061 SCADA singl.wav UART Датчик давления и температуры БЛОК ДЛЯ РАБОТЫ С МОДУЛЕМ SIM800L GSM_NEW 0.6b ЭТО ГЛАВНЫЙ БЛОК ДЛЯ SIM800L Блок (в сочетании с HTML+JS кодом) позволяет обнаруживать свои есп в локальной сети.  С помощью брау Блок Русифицированная изменяемая "бегущая строка" для светодиодных матриц 8х8 с чипом MAX7 Блок для 8-и разрядного 7-и сегментного дисплея на 2-х сдвиговых регистрах 74НС595 с 16-разрядным (8 Блок для En_AP - включает автоматическое включение точки доступа в случае отсутствия подключения в р Блок для ESP8266 MCP23017 - Расширитель портов 16 бит I2C Блок для GPS-Block v0.5 NEO-6M Блок для Выбор тестовых параметров Блок для Расширение GPIO с помощью MCP23017 Блок для автомобильного бортового компьютера Блок для бегущая строка адресной светодиодной ленты Блок для вывода даты и времени Data Time Блок предназначен для совместного использования с блоками M Блок для датчик температуры и влажности HDC1080 на шине I2C Блок для детектирования попадания текущего времени в указанный временной интервал Блок для дисплея ST7920 TM1637D6 LCD12864 SSD1306 Блок для записи и чтения ЕЕПРОМ Блок для инициализирует указанный цифровой порт высоким сигналом при включении контроллера Блок для модуль MAX6675 + модуль датчика термопары типа K Блок для настройки радиомодуль HC-12 433Mhz на SI4463 c UART интерфейсом. Блок для относительная влажность Блок для передачи mail почты ESP8266 ESP32 Блок для снятия показаний с трансформатора переменного тока Блок для таймер обратного отсчёта Блок для установки соединения с программой Virtuino Блок служит для создания бегущей строки Блоки разные (прочее блоки) включенных последовательно отсчёт в секундах

СОЗДАНИЕ GOOGLE-ТАБЛИЦЫ

Запись данные с ESP8266 в Google-таблицы

Создайте электронную таблицу Google на вашем Google-Диске и назовите её например DataCollector («Сборщик Данных»). Переименуйте текущий (или активный) лист (sheet) на Summary («Общее») и добавьте второй лист, назовите его DataLogger («Регистратор Данных»). Из адресной строки таблицы скопируйте символы, находящиеся между символами «d/» и «/edit» и сохраните их где-нибудь. Это уникальный ключ совместного использования вашей электронной таблицы, который позже понадобится для скрипта на языке Google Apps Script.

 
Внимание! Имя электронной таблицы Google не играет большой роли, так как в скрипте Google Apps Script мы будем использовать ключ совместного использования таблицы, который всегда уникален. В то же время имена листов (Summary и DataLogger) должны совпадать с теми, которые вы используете в скрипте Google Apps Script (об этом написано ниже).
СКРИПТ НА ЯЗЫКЕ GOOGLE APPS SCRIPT
Для создания скрипта Google Apps Script в приложении, Google-Таблицы выберите пункт меню «Apps Script» заходим в вкладку «Apps Script» далее нажимаем на плюс рядом с надписью «Файлы +» выбераем вкладку скрипт. В окне кода вставьте нижеприведённый код. Код или скрипт можно сохранить под любым именем. 

 

Далее входим во вкладку "начать развертывание" далее

 

"Новое развертывание" Веб-приложение Запуск от имени выбираете "свой аккаунт" У кого есть доступ "Все"

  

Далее Идентификатор развертывания вставляем в ссылку адресной строки ---Your-Google-Sheet-ID--Goes-Here---

https://script.google.com/macros/s/---Your-Google-Sheet-ID--Goes-Here---/exec?tag=test&value=-1

// 0) Заходим в Google-Таблицы, Инструменты > Редактор скриптов...
// 1) Вставляем туда этот код
// 2) Сохраняем и именуем уникальным названием
// 3) Задаем в меню способ запуска в режиме "doGet"
// 4) При первом запуске скрипт попросит вас дать ему права на редактирование таблицы
// 5) В главном меню > Развернуть как веб-приложение...
//    Каждый раз, когда заново разворачиваете скрипт, выбирайте последнюю версию
//    Выставляем права: "Me (your email address)"
//    ВАЖНО: выберите "Anyone, even anonymous" в меню "Кто может редактировать этот скрипт"

// Сохраняем опубликованный URL для использования в дальнейшем.
// https://script.google.com/macros/s/---Ваш-Script-ID--здесь---/exec
// https://script.google.com/macros/s/---Ваш-Script-ID--здесь---/exec?tag=test&value=-1

// Эта Функция будет вызвана один раз при первом исполнении
function doGet(e){
  Logger.log("--- doGet ---");

 var tag = "",
     value = "";

  try {

    // Дебаггинг
    if (e == null){e={}; e.parameters = {tag:"test",value:"-1"};}

    tag = e.parameters.tag;
    value = e.parameters.value;

    // Сохраняем данные в таблицу
    save_data(tag, value);

    return ContentService.createTextOutput("Wrote:n  tag: " + tag + "n  value: " + value);

  } catch(error) { 
    Logger.log(error);    
    return ContentService.createTextOutput("oops...." + error.message 
                                            + "n" + new Date() 
                                            + "ntag: " + tag +
                                            + "nvalue: " + value);
  }  
}

// Функция для сохранения данных в таблицу
function save_data(tag, value){
  Logger.log("--- save_data ---"); 

  try {
    var dateTime = new Date();

    // Вставьте URL из Google-таблицы , начиная с https thru /edit
    // Например: https://docs.google.com/..../edit 
    var ss = SpreadsheetApp.openByUrl("https://docs.google.com/spreadsheets/d/---Ваш-Google-Sheet-ID--Goes-Here---/edit");
    var summarySheet = ss.getSheetByName("Summary");
    var dataLoggerSheet = ss.getSheetByName("DataLogger");

    // Получаем информацию о последней отредактированной строке в таблице
    var row = dataLoggerSheet.getLastRow() + 1;

    // Заполняем данными
    dataLoggerSheet.getRange("A" + row).setValue(row -1); // ID
    dataLoggerSheet.getRange("B" + row).setValue(dateTime); // dateTime
    dataLoggerSheet.getRange("C" + row).setValue(tag); // tag
    dataLoggerSheet.getRange("D" + row).setValue(value); // value

    // Обновляем таблицу summary
    summarySheet.getRange("B1").setValue(dateTime); // Last modified date
    // summarySheet.getRange("B2").setValue(row - 1); // Count 
  }

  catch(error) {
    Logger.log(JSON.stringify(error));
  }

  Logger.log("--- save_data end---"); 
}



Внимание! Имена листов в вышеприведённом скрипте должны совпадать с именами листов электронной таблицы, в которые мы собираемся записывать данные.
1) var summarySheet = ss.getSheetByName("Summary");
2) var dataLoggerSheet = ss.getSheetByName("DataLogger");

Аналогичным образом необходимо изменить в скрипте ключ совместного использования электронной таблицы (изменить строку «—Your-Google-Sheet-ID–Goes-Here—») на ваш (который вы скопировали ранее из адреса электронной таблицы).
var ss = SpreadsheetApp.openByUrl("https://docs.google.com/spreadsheets/d/---Your-Google-Sheet-ID--Goes-Here---/edit");
Это запрос с браузера при переходе по нему в таблицу будут записываться данные в первую таблицу слово test а во вторую значение -1
https://script.google.com/macros/s/–Your Google Script ID–/exec?tag=test&value=-1
Символы между символами «s/» и «/exec?» — это идентификатор вашего скрипта GScriptID.
В процессе публикации Google выдаст запросы на разрешение с вашей стороны, вам необходимо предоставить это разрешение.
Блок для SPIFFS для проигрывания WAV и MP3 файлов
Для проигрывания музыки формата WAV из файловой системы ESP8266 без использования дополнительных плат.
Прошивка ESP8266.
Загрузка файлов в файловую систему ESP8266.
ESP8266FS – это инструмент, интегрируемый в IDE Arduino. Он добавляет новый пункт в меню Инструменты (Tools), который предназначен для загрузки данных скетча в файловую систему ESP8266, находящуюся на flash-памяти.
Загрузите инструмент,  по этой ссылке https://github.com/esp8266/arduino-esp8266fs-plugin/releases/download/0.3.0/ESP8266FS-0.3.0.zip
В папке скетчей IDE Arduino создайте папку «tools», если она еще не создана
Распакуйте скачанный инструмент в папку «tools». В результате путь будет выглядеть примерно так: <дом_папка>/Arduino/tools/ESP8266FS/tool/esp8266fs.jar
Перезапустите IDE Arduino
Откройте скетч скомпилированный из FLProg. Он   находится здесь: C:\Users\User\AppData\Local\Temp\flprog\pr5 - скомпилированный скетч (pr5) из FLProg.
Откройте папку этого скетча. Для этого кликните по Скетч > Показать папку скетча (Sketch > Show Sketch Folder)
Создайте папку «data» и прочие файлы, которые хотите сохранить в файловую систему.
Кликните в IDE Arduino по Инструменты > ESP8266 Sketch Data Upload (Tools > ESP8266 Sketch Data Upload). Это должно начать загрузку файлов в файловую систему ESP8266. Когда загрузка будет завершена, статусная панель IDE Arduino покажет сообщение «SPIFFS Image Uploaded», что значит «образ SPIFFS загружен». Загрузка идет долго.
 
   Папку «data» я создаю так: Кликаю в IDE Arduino по Инструменты > ESP8266 Sketch Data Upload (Tools > ESP8266 Sketch Data Upload) и создается папка , а IDE Arduino пишет ошибку загрузки. В эту папку помещаю файлы МП3. Затем снова кликаю ESP8266 Sketch Data Upload.
Затем загрузите сам скетч как обычно.
Затем загрузите сам скетч как обычно.
Звуковые примеры  https://ccrma.stanford.edu/~jos/pasp/Sound_Examples.html
Там есть ссылка , как генерировать самому.
Выход звука GND и RX.
Входы:
En_pl - включение блока.
start_pl - запуск проигрывания. Подавать импульсный сигнал.
mp3_file - название MP3 файла, писать обязательно косой чертой впереди (/pno-cs.mp3).
 
Блок для FTP SPIFFS ESP8266
Главный блок ставится первым. Остальные блоки работают вместе с ним.
 Cleaning - при высоком уровне на входе происходит очистка файла от записей.
 Filename - присваиваемое имя файла, впереди имени обязательно косая черточка / (например, /myfile.txt)
Создание файла или открытие существующего для записи.
 Входы:
En_write - Запуск
 Cleaning - при высоком уровне на входе происходит очистка файла от записей.
 Filename - присваиваемое имя файла, впереди имени обязательно косая черточка / (например, /myfile.txt)
 Text_string - текстовая строка
 date - число, по умолчанию int, можете поменять в блоке на другую, например, float.
Параметры:
 - аргумент mode – это строка, указывающая режим доступа.
 Допустимые значения для аргумента mode: r, w, a, r+, w+ и a+. 
Режим «r». Открывает текстовый файл для чтения. Указатель ставится в начало файла.
Режим «r+». Открывает текстовый файл для чтения и записи. Указатель ставится в начало файла.
Режим «w». Усекает файл до нулевого размера или создает текстовый файл для записи. Указатель ставится в начало файла.
Режим «w+». Открывает текстовый файл для записи или чтения. Если файла не существует, он создается. В противном случае он усекается. Указатель ставится в начало файла.
Режим «a». Открывает файл для дополнения (записи в конец файла). Если файла не существует, он создается. Указатель ставится в конец файла.
Режим «a+». Открывает файл для чтения и дополнения (записи в конец файла). Если файл не существует, он создается. При чтении начальная позиция файла – в начале, но дополнение всегда выполняется в конце файла.
Чтение выбранного файла из файовой системы.
filename - название читаемого файла. Впереди названия обязательно должна быть косая черточка / (например, /myfile.txt)
 out_read - выход прочитанных данных с файла
Параметры:
 - аргумент mode – это строка, указывающая режим доступа.
 Допустимые значения для аргумента mode: r, w, a, r+, w+ и a+. 
Режим «r». Открывает текстовый файл для чтения. Указатель ставится в начало файла.
Режим «r+». Открывает текстовый файл для чтения и записи. Указатель ставится в начало файла.
Режим «w». Усекает файл до нулевого размера или создает текстовый файл для записи. Указатель ставится в начало файла.
Режим «w+». Открывает текстовый файл для записи или чтения. Если файла не существует, он создается. В противном случае он усекается. Указатель ставится в начало файла.
Режим «a». Открывает файл для дополнения (записи в конец файла). Если файла не существует, он создается. Указатель ставится в конец файла.
Режим «a+». Открывает файл для чтения и дополнения (записи в конец файла). Если файл не существует, он создается. При чтении начальная позиция файла – в начале, но дополнение всегда выполняется в конце файла.

 

Блок преобразует данные с датчика MPC9700 в градусы. Блок для передача данных по UART
Блок преобразует данные с датчика MPC9700 в градусы (Цельсия*10)
Питание датчика 5v, опорное напряжение контроллера 5v.
Автор: Boroda
 
Блок формирует посылку из четырех INT + контрольная сумма LRC для отправки в UART.
Автор: Boroda
Блок формирует посылку из восьми INT + контрольная сумма LRC для отправки в UART.
Автор: Boroda
Блок запоминания 8 аварий с кнопкой "Сброс" и "Тест сигнализации"

  

Данный блок нужен для корректной работы штатного в FLProg 
обновления прошивки по WiFi (OTA) при активированной защите от зависания.
Блок добавлять только в том случае, если данная защита активирована!
При инициализации OTA к установленному времени защиты добавляет 3 минуты.
Блок для работы OTA. Делался из примера BasicOTA. Имеет задержку для корректной отработки wifi модуля, говорят 15мс достаточно чтобы не рухнул wifi.
Блок удаленного обновления для ESP8266
Обновление прошивки через браузер, по умолчанию адрес: IP_адрес_ESP32:8080 (пример 192.168.1.120:8080)
Заливать прошивку нужно в формате .bin, как сделать bin файл:
Нажмите в FLProg "Компилировать проект" -> в arduino ide зайти в Скетч->Экспорт бинарного файла, после компиляции зайти в Скетч->Показать папку скетча, в папке будет лежать файл с расширением .bin

 

Блок для OLED ssd1306 ESP8266rus karens4

Применять соместно с главным блоком и блоком OLED display. Отдельно не работает. 
Шрифты:
Кириллица:
ArialRus_Plain_10
ArialRus_Plain_14
ArialRus_Plain_16
ArialRus_Plain_24
ArialRus_Italic_10
ArialRus_Italic_16
ArialRus_Italic_24
DialogRus_Italic_10,
ArialRus_Italic_14,
ArialRus_Italic_26
kar_robot_16
kar_robot_24
--------------------------------------------------------------------------------------------------
text_alignment - положение текста на экране по горизонтали:
TEXT_ALIGN_LEFT,
TEXT_ALIGN_CENTER,
TEXT_ALIGN_RIGHT
-------------------------------------------
IMG
betory
символы 
! - 100%
" - 85%
# - 50%
$ - 30%
% - 10%
& - low
---------------------------------------------
status
символы 
! - замок закрыт
" - замок открыт
# - стрелочки вверх и вниз для выбора Символа
$ - красивый квадратик
% - Значок клиента wi-fi
& - Значок точки wi-fi
---------------------------------------------
img_1
символы 
! - гориз полоса
" - вертик полоса
# - правый верх угол
$ - правый низ угол 
% - левый верх угол
& -  левый низ угол
---------------------------------------------

https://forum.flprog.ru/viewtopic.php?t=4894&p=108440#p108440
v4  
Применять соместно с главным блоком и блоком OLED display. Отдельно не работает. 
Шрифты:
Кириллица:
ArialRus_Plain_10
ArialRus_Plain_14
ArialRus_Plain_16
ArialRus_Plain_24
ArialRus_Italic_10
ArialRus_Italic_16
ArialRus_Italic_24
DialogRus_Italic_10,
ArialRus_Italic_14,
ArialRus_Italic_26
----------------------------------------------------------
kar_robot_10
kar_robot_16
kar_robot_24
--------------------------------------------------------------------------------------------------
text_alignment - положение текста на экране по горизонтали:
TEXT_ALIGN_LEFT,
TEXT_ALIGN_CENTER,
TEXT_ALIGN_RIGHT
-------------------------------------------
betory
символы 
! - 100%
" - 85%
# - 50%
$ - 30%
% - 10%
& - low
---------------------------------------------
status
символы 
! - замок закрыт
" - замок открыт
# - стрелочки вверх и вниз для выбора Символа
$ - красивый квадратик
% - Значок клиента wi-fi
& - Значок точки wi-fi
---------------------------------------------
img_1
символы 
! - гориз полоса
" - вертик полоса
# - правый верх угол
$ - правый низ угол 
% - левый верх угол
& -  левый низ угол
---------------------------------------------
img_2
символы 
! - стрелка в право
" - мини замок закрыто
# - мини замок открыто 
$ - пусто 
% - пусто
& -  пусто
---------------------------------------------
img_3
символы 
! - индикация сети вариант 1
" - индикация сети вариант 2
# - молния
$ - в треугольнике восклицательный знак
% - индикация сети вариант 3
& - Check mark
---------------------------------------------
big_img_1
символы 
! - apple
" - радиация
# - save icon
$ -  Control icon
% - череп
& -  
---------------------------------------------
heart_icon
символы 
! - большой размер сердца
" - средний размер сердца
# - маленький размер сердце
$ -  inverted большой размер сердца
% -inverted средний размер сердца
& - inverted маленький размер сердце
---------------------------------------------

 

Блок для модуль прием и передатчик nRF24L01+
Для nRF24L01+ Автор: Слимпер 
SCK (Serial ClocK) — тактирование (синхронизация). ( Arduino UNO D13 | Arduino Mega D52)
MOSI / MI (Master Out Slave In) — вход данных. ( Arduino UNO D11 | Arduino Mega D51)
MISO / MO (Master In Slave Out) — выход данных. ( Arduino UNO D12 | Arduino Mega D50)
CE/SS - Выбор ведомого на шине SPI из нескольких устройств.
SCN - выбор режима приема/передача , фактически тот же CE.
IRQ - выход прерывания, чаще всего не используется. Необходим для немедленной реакции микроконтроллера при приеме нового пакета данных.
GND - земля, масса, минусовая шина.
Vcc  -питание модуля 3.3в. Для надежной работы параллельно питанию как можно ближе к радио модулю рекомендуется подключить электролитический конденсатор не менее 100мкф , а так же керамический на 0.1 мкф.
Блок служит для настройки работы системы передачи данных
!!! Блок должен быть расположен раньше всех остальных из этой серии. Т.е желательно вверху первой платы.
Параметры
Адреса Устройства - Адреса самого трубы (устройства)  в сети. Может быть пустым, если устройство не будет передавать данные.
Длинна должна быть равна 5 символам (цифры и буквы латинского алфавита). Вводить в кавычках. Адресов может быть несколько, водить надо через запятую, например: "1Node" , "2Node"
Номер по порядку нужно будет подставлять на вход "address", блоков отвечающих за передачу данных. 
Нумерация адресов начинается с ноля, т.е. запись  4Node" , "6Node" , "7Node" , "9Node"  означает: №0 - 4Node" ,№1 - "6Node" ,№3 - "7Node" , №4 -"9Node"
Адреса Прослушки - Адреса других труб (устройств) в сети, сообщения с которых будут приниматься текущем устройствам. Может быть пустым, если устройство не будет принимать данные.
Длинна одного должна быть равна 5 символам (цифры и буквы латинского алфавита). Вводить в кавычках. Адресов может быть от 1 до 5, водить надо через запятую, например: "1Node" , "2Node"
Адреса  для прослушки должны иметь один и тот же адрес, кроме первого байта (символа), например: "1Node" , "2Node" , "3Node" , "4Node"
Скорость - скорсть предачи данных между модулями. Варианты RF24_250KBPS - 250 кБит/с, RF24_1MBPS - 1 МБит/с, RF24_2MBPS - 2 МБит/с
Повторы - Количество повторный отправок до отказа. 
Входы
ChanneNRF24 - Номер канала:0-125 Нулевой канал начинается с 2400мгц и далее с шагом 1 мгц, например 70 канал находится соответственно на 2470мгц. При установке скорости 2 МБит/с занимается ширина двух каналов. Не подключенный вход означает 0 канал.
LevelNRF24  - Мощность передатчика: 0- RF24_PA_MIN, 1-RF24_PA_LOW, 2-RF24_PA_HIGH, 3- RF24_PA_MAX  соответственно NRF24L01: -18dBm, -12dBm, -6dBM и 0dBm SI24R1: -6dBm, 0dBm, 3dBM и 7dBm. Не подключенный вход означает минимальную мощность.
Входы ChanneNRF24 и LevelNRF24 обрабатываются только один раз при старте программы. Подразумевается использование их совместно с EEPROM или блоком меню. То есть, изменил значение в памяти, перезапустил контроллер и вступают в силу новые настройки.
PauseNRF24 -  пауза между отправками данных, в мс. Используется для задержки отправки следующего покета данных. 
Не подключенный вход означает 10мс.
 Initialization - при подачи 1  на  вход проводит повторную инициализацию платы. 
    Необходимо если для экономии питания было произведено отключении питания nRF24, вовремя работы контроллера.
    !!! Во всех других случаях вход оставлять не подключеным.
Выхода 
 NRF24_dataObtained - Поступили новые данные. Добавил выход для возможности отключения плат на которых идет обработка новых данных.
 rxFifoFull  - Переполнение приемного буфера nRF24L01+. Означает, что высока вероятность потери части данных.
!!! Необходимо принять меры. !!!
Возможно, требуется оптимизировать программу текущего контроллера. Или можно увеличить интервалы отправки на передающих. 
Если на передающем больше одного блока передачи данных, то надо увеличит значение входа  PauseNRF24 блока  NRF24_Главный на передающем устройстве.

 

Блок для MQTT и IoT Manager
Блок Anydata - СТРОКА.
Предназначен для вывода любых данных в виде строки.
Описание параметров:
status - непосредственно данные (данные температуры, влажности и тд)
order - порядковый номер виджета в проекте (во всем проекте сквозная нумерация).
page - название вкладки (если в проекте всего одна влкадка, то его название не отображается)
descr - надпись строки
after - постфикс. Сюда вставляем например ед.измерения типа -  °С , % и т.д.
color - цвет постфикса (red, green, orange, blue).  Если строку оставить пустой, цвет надписи будет синим
descrcolor - цвет надписи строки (red, green, orange, white).  Если строку оставить пустой, цвет надписи будет белым
icon - задается вид иконки в начале строки (иконки находим с сайта например ionicons.com). Например для иконки термометра вставляем надпись -thermometer-outline.
Автор: Анатолий (Phazz)
- mqttServer - ip или домен mqtt брокера (нужно указывать без https://).
- mqttPort - порт mqtt брокера (по умолчанию: 1883).
- mqttUser - имя пользователя на брокере, можно использовать один логин и пароль на всех mqtt клиентах.
- mqttPassword - пароль.
- mqttClientId - любое уникальное название на английском, нужно для идентификации на брокере. Для всех клиентов должно быть разное.
- Выход mqttConnected - на данном выходе будет единица, если есть подключение к брокеру.
- Last Will сообщение - сообщение, которое будет отправлено в указанный топик, после отключения клиента от брокера. По умолчанию Will топик равен установленному значению на входе mqttClientId.
Пример: мы указали в настройках: willMessageOnline: 1; willMessageOffline: 0; willTopic: client1;
После старта esp и подключению к брокеру, в топик client1 будет отправлено сообщение 1, а при отключении esp от брокера в топик client1 будет отправлено сообщение 0.
Авторы-User8 and Marvin ROGER.
- Unsubscribe - при удержании единицы происходит отписка от топика, сообщения в топик  перестают приходить. При пропадании единицы происходит подписка на топик снова. Данных вход может быть полезен для получения периодических сообщений, когда только нужно или один раз при старте контроллера, можно использовать для оптимизации программы.
- Topic - топик для получения сообщения.
- QoS - можно указать 0, 1 или 2. Если не указывать ничего, то сообщение принимается с QoS 0.
Если вы поставили на блоке pub QoS 2, то на блоке sub вы также должны выставить QoS 2 для приема недоставленных сообщений.
QoS 0 - На этом уровне клиент один раз отправляет сообщение брокеру и не ждет подтверждения от него, то есть отправил и забыл.
QoS 1 - Этот уровень гарантирует, что сообщение точно будет доставлено брокеру, но есть вероятность дублирования сообщений от клиента. После получения дубликата сообщения, брокер снова рассылает это сообщение подписчикам, а клиенту снова отправляет подтверждение о получении сообщения.
QoS 2 - На этом уровне гарантируется доставка сообщений подписчику и исключается возможное дублирование отправленных сообщений.
- Выход Received - на данном выходе будет единица в один цикл при получении любого сообщения в топик.
- Выход Message - получение сообщения из указанного на входе топика.
Тема на форуме: https://forum.flprog.ru/viewtopic.php?t=4276

 

Блок для бегущая строка на MAX7219, главный блок.
Uno or Duemilanove DIN 11 (MOSI), CLK 13 (SCK), pinCS установить в параметрах , по умолчанию 10.
Внимание! numberOfHorizontalDisplays= nH это вертикальные матрицы,
             а  numberOfVerticalDisplays= nV это горизонтальные матрицы.
aidar_i
Приставка для создания бегущей строки для дисплеев.
Выход V подать на вход "х" блока вывода стационарного текста 
Входы:
scroll
speed
lengthStr - 
width_display
width_font
Выводится строка со входа .
aidar_i

 

 

Блок для Ina226 двунаправленное Напряжение Тока
Изначальные настройки 00h:
Время измерения тока и напряжения 588мкс
Количество замеров для усреднения - 64
Сопротивление шунта в сотых миллиома.На плате из али - R100=1000, R010=100
Time_Read  - время в мс между опросами
Автор Sancho

 

 

Опрос

На сайте достаточно материала?

Другие опросы...