Nextion display with arduino

FLProg – Новая реализация обмена по Modbus RTU

Tutorial

Ранее ещё на хабре я рассказывал о реализации поддержки протокола Modbus в программе FLProg. К сожалению как показала практика его использования, реализация получилась не очень удачная. Если Slave работал ещё более менее уверенно, то мастер работал очень неустойчиво. Кроме того задание адресов регистров было возможно только в виде непрерывного массива, и не было разделения на области памяти. Мастер в той реализации мог обращаться только к Holding Registers слейвов, что очень ограничивало возможности его применения. Достаточно долго я искал нормально реализованную библиотеку Modbus RTU для Arduino, но поиски не привели к успеху. Поэтому было принято решение написать реализацию обмена по Modbus RTU самостоятельно. И вот в недавно вышедшей версии программы FLProg с номером 1.12 это сделано. Что изменилось:

  1. Реализация Modbus RTU полностью совместима с промышленным стандартом.
  2. Реализованы четыре таблицы переменных – Coils, Discrete Inputs, Input Registers, Holding Registers. Для каждой переменной, можно задавать любой адрес (не обязательно последовательно).
  3. Реализована возможность задания адреса слейва, скорости порта и отключения/включения опроса конкретного слейва мастером программным путём с запоминанием этих данных в EEProm.
  4. Реализована возможность одновременной работы мастера и слейва на одном контроллере (на разных портах).
  5. Реализована возможность применять в качестве порта SoftwareSerial
  6. Благодаря динамически генерируемому коду одновременная работа мастера и слейва возможна даже на плате Pro-Mini.
  7. Реализована прямая совместимость со старыми версиями – ранее созданные проекты будут работать на новой версии без переделки.

PayPal – Ловушка для неопытных. Осторожно

Данный пост основан на собственных ошибках в работе с системой PayPal, и является предостережением для тех пользователей, кто не до конца разобрался в его особенностях. Надеюсь, кому — то пригодится мой опыт.
Я являюсь достаточно долго (уже несколько лет) покупаю товары на Ebay и поскольку оплата там возможна только через палку, то естественно у меня там открыт счёт. К нему у меня привязаны несколько карт (предназначенных для онлайн платежей), и банковский счёт для вывода средств (мои зарубежные партнёры время от времени подкидывают денежку). В остальном я с PayPal особенно не знаком. Как говорится, работает, работает неплохо и удобно. Счёт был в категории «Личный».
В последнее время сервис начал активно рекламировать перевод счёта в категорию «Корпоративный», расхваливая новые возможности. Меня соблазнила возможность работы нескольких пользователей в одной учётной записи. Захотелось подключить к своей учетке жену. К сожалению, нигде при этом не рассказывалось о проблемах при таком переходе. Наоборот заявлялось, что вы в любой момент можете сменить категорию счёта. Переход на корпоративный счёт прошёл без каких-либо проблем, спросили название компании и что-то ещё, сейчас даже и не помню.

FLProg + Nextion HMI. Урок 3 +4

  • 11.04.16 05:03


totuin

#274134

Гиктаймс


Tutorial

1700

Железо, DIY или Сделай сам, Умный дом, Arduino, Блог компании FLProg

  1. Просто текстовые поля. Ничего интересного.
  2. Поле отображения уставки включения вентилятора. Как я уже писал, панель не умеет работать с дробными числами. Поэтому это текстовые поля. Строку для отображения будем готовить на ардуинке. Параметры элемента.
    Поскольку значение в это поле будем отправлять с контроллера, делаем его глобальным (атрибут “vscope” значение “global”). При нажатии на это поле будет происходить открытие страницы редактирования значения. Поэтому в событии “Touch Press Event” записан следующий код.
    При нажатии на элемент сначала в поле редактируемого значения на странице 4 заносим текущее значение.

    Затем в переменную хранящую идентификатор редактируемого поля на странице 4 заносим идентификатор поля, по которому нажали.

    Ну и переходим на страницу редактирования значения.

  3. Поле отображения уставки выключения вентилятора. Практически идентично предыдущему полю. Параметры элемента.
    Код в событии “Touch Press Event”.
    В этом коде отличие от предыдущего только в идентификаторе поля.
  4. Кнопка назад. Скопирована с прошлого урока. Параметры элемента.
    Код в событии “Touch Press Event”.
  5. Переключатель на два положения (“Dual-state button”) – управление светом.
    Параметры элемента.
    Значение состояния данного элемента будем считывать из контроллера, поэтому элемент глобальный (атрибут “vscope” значение “global”). В качестве режима отображения фона выбран режим картинки (атрибут “sta” значение “image”). Картинки задаются в атрибутах “pic0” для состояния 0 и “pic1” для состояния 1.
  6. Кнопка (“Button”) – включение фонаря. Параметры элемента.
    Здесь остановимся поподробнее. За нажатиями этой кнопки будем следить из контроллера, для управления фонарём. К сожалению, в Arduino нельзя установить прерывание на получение байта из UART (по крайней мере, стандартами средствами). Поэтому пришлось реализовывать запоминание факта нажатия и отпускания кнопки с помощью двух переменных (7 и 8). Напрямую к кнопке обращаться не будем, поэтому её можно делать как локальной, так и глобальной (я сделал глобальной на всякий случай). В обработчике нажатия кнопки (“Touch Press Event”) написан следующий код.
    А в обработчике отпускания кнопки (“Touch Release Event”) такой.
    Эти переменные нам понадобятся в блоке отслеживания нажатий в проекте FLProg.

Окно редактирования значений (“page4”, ID=4).

  1. Поле редактируемого значения. Параметры элемента.
    Значение данного поля будем читать из контроллера, соответственно делаем его глобальным (атрибут “vscope” значение “global”).
  2. Кнопки ввода значения. Все эти кнопки практически идентичны, и отличаются надписью и кодом в обработчике события “Touch Press Event”. При нажатии на одну из этих кнопок к текущему значению поля редактируемого значения добавляется соответствующий символ.
  3. Кнопка очистки поля. При её нажатии удаляется значение поля.
    Код в событии “Touch Press Event”
  4. Кнопка удаления последнего символа.
    Код в событии “Touch Press Event”

    Это не задокументированная функция. Она удаляет последний символ в строке. Я её подсмотрел на одном из видео на сайте производителя. Вообще я не нашёл практически никакой информации по работе со строками на панели.

  5. Кнопка завершения редактирования значения.
    Нажатие этой кнопки будет отслеживаться на контроллере, так что для неё созданы две переменные (“endPress” и “ endRel”) и в обработчиках событий написан код.
    Код в событии “Touch Press Event”

    Код в событии “Touch Release Event”

  6. Кнопка отмены редактирования. По нажатию этой кнопки мы просто возвращаемся на страницу управления.
    Код в событии “Touch Press Event”

Плата 7 – «Управление фонарём»Плата 8 – «Управление светом».Плата 9 – «Окончание редактирования параметров». Плата 10 — «Обработка результатов редактирования значения»Плата 11 – «Запись значений уставок в панель и EEProm»Плата 1.Плата 12. «Управление вентилятором»Архив с исходниками проектов.

Новый выпуск журнала «Радиоежегодник» № 35 (2015)

Проект FLProg уже достаточно давно и плодотворно дружит с редакцией журнала «Радиоежегодник». Связанно это с общностью интересов и целевой аудитории. Журнал имеет практическую направленность и освещает вопросы на стыке программирования, современной микропроцессорной техники и классической аналого-цифровой электроники.
Тема очередного 35-го выпуска: Журналы по электронике — 2014. В этом обзоре представлено 21 периодическое издание по электронике, выходящее на русском языке за 2014 год. Для каждого из них представлено сводное тематическое содержание всех номеров за 2014 год, информация о сайте издания, условия приобретения и подписки. Как выяснилось из этой информации, многие интересные журналы выпускаются и в электронном виде, а для скачивания требуется лишь несложная регистрация, цены на остальные по нынешним временам невелики.

FLProg – Самостоятельная интеграция в программу кастомных контроллеров

Tutorial

На Хабре достаточно давно не освещался проект FLProg. Это связанно с отсутствием времени на написание статей, да и моими собственными личными проблемами. Но проект не умер, он живёт и развивается. В среднем раз в месяц выходит очередная версия программы. Со времени последней публикации была полностью переделана отрисовка схемы (благодаря этому были устранены фризы при отрисовке), появилась система Cross Reference для проекта, и система анализа проекта на ошибки. Непосредственно сам код программы, был перенесён на более свежую версию языка программирования. Благодаря этому в положительную (с моей точки зрения конечно, ну и пользователи меня поддерживают) сторону изменился интерфейс программы. Добавились многие интересные блоки. Реализовано масштабирование схемы и поиск блоков.

«Sarcazm ON» Россия тихо и незаметно ворвалась на рынок промышленных контроллеров! «Sarcazm OFF»

Большую часть жизни я работаю в области промышленной автоматизации, и хорошо знаю всех основных производителей в этой области

Кроме того, я специализируюсь на оборудовании Siemens, что тоже важно. Вчера я увидел на ютубе интересный ролик, который я сначала принял за откровенный фейк

https://youtube.com/watch?v=SxtfGeRf1KY

Но поскольку ролик сделан очень качественно, то я решил разобраться – что же там на самом деле. Компания заверяет что она создала и запустила в производство две линейки промышленных контроллеров, не уступающих аналогам от ведущих производителей. И это произошло тихо и незаметно, что странно в свете с текущим курсом правительства на импортозамещение.

FLProg + RemoteXY = Беспроводная клавиатура для компьютера на Вашем телефоне

У меня дома сложилась интересная ситуация. Телевизор в спальне подключен к компьютеру расположенному в другой комнате, и для того что бы жена могла посмотреть очередную серию сериала (хотя у меня есть андроидная приставка, которая стоит рядом с телевизором, она предпочитает смотреть с компа), приходится приложить достаточно много усилий. В виду присутствия детей, беспроводные мыши и клавиатуры у нас не приживаются. Я давно с интересом присматривался к возможности Arduino Leonardo прикидываться мышкой и клавиатурой, и когда эта плата пришла ко мне, реализовал данную возможность в программе FLProg версии 2.2. В паре с возможностями проекта RevoteXY получилась очень интересная штука. Для начала видео работы получившегося устройства.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector