Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial Internet of Things >> Интернет вещей

Как создать цифровой ввод и цифровое управление с помощью модуля Bluetooth RN487x от Microchip

Узнайте, как использовать модуль Microchip для создания прототипов цифровых входов и периферийных устройств цифрового управления.

В этой статье, второй в серии из трех частей, посвященных модулям Bluetooth RN487x от Microchip, я покажу вам, как создать цифровой вход (переключатель) и цифровое управление (светодиода).

Вернитесь к моей первой статье, чтобы узнать об истории вопроса и инструкциях по настройке модуля RN487x.

Проект 1:цифровой входной переключатель RN478x

Наш шаблон проектирования состоит из трех компонентов, которые нам необходимо предоставить:

  1. Оборудование: Специальное оборудование для генерации цифрового сигнала.
  2. Конфигурация: Команды модуля RN487x для размещения переменной в базе данных и для отображения сигнала на переменную
  3. Приложение: Скрипт на рабочей станции для принятия значения базы данных

Далее следует разбивка компонентов.

Оборудование цифрового ввода

Роль «цифрового входа» просто обеспечивается переключателем; SW1.

Модуль RN487x имеет внутренние подтяжки на контактах, поэтому нормально разомкнутый переключатель, подключенный к заземлению при замыкании, даст нам необходимое управление с двумя состояниями.

Поскольку мы управляем только одним сигналом и не используем ШИМ, мы выбрали RN4871. Схема может питаться от пары батареек AAA или даже от плоского элемента.

Остальные элементы схемы:

Конфигурация цифрового входа

Перед созданием конфигурации для этого примера убедитесь, что модуль находится в известном состоянии. Это описано в приложении, посвященном стандартной инициализации. Не пропускайте этот шаг!

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

  PS, 59c88760536411e7b114b2f933d5fe66 ПК, 59c889e0536411e7b114b2f933d5fe66,10,01  

Первая команда PS создает службу. Вторая команда, PC, создает характеристику. В обеих командах первым параметром является идентификатор, который позволяет нашему периферийному устройству существовать во вселенной других периферийных устройств Bluetooth и при этом иметь уникальный доступ. Этот параметр должен соответствовать стандарту UUID. Вы можете использовать показанные в качестве примера значения. Также легко создать любое количество стандартных UUID.

В команде ПК второй параметр сообщает уровню Bluetooth, как изменения значения должны поступать к клиенту. В этом случае параметр (10) говорит, что изменение значения может привести к немедленному уведомлению клиентов. Это важная часть нашего намерения для этого примера. Наконец, в команде PC третий параметр определяет размер значения в байтах; в данном случае только один (01).

Часть сценария нашей конфигурации выглядит так:

  @PW_ON Ю, 0А, 09 @ PIO1H SHW, 0072,01 @ PIO1L SHW, 0072,00  

В этом скрипте есть три метода, каждый из которых имеет префикс «@». Каждый метод запускается при определенном системном событии.

Приложение цифрового ввода

Скрипт Python - switch.py, его можно найти здесь. Отредактируйте сценарий и замените образец MAC-адреса на MAC-адрес вашего устройства. Затем, чтобы проверить пример, просто подайте питание на периферийное устройство, а затем запустите сценарий в системе с соответствующими возможностями Bluetooth. См. Приложение для получения справки по этой настройке в Linux. Сценарий будет выдавать сообщения, указывающие на прогресс при подключении к периферийному устройству. После подключения периферийного устройства нажмите и отпустите переключатель несколько раз. Каждое событие открытия / закрытия переключателя будет отмечено сообщением от запущенного скрипта.

Скрипт короткий и включает комментарии ко всем функциональным блокам и вызовам GATT API.

Уникальная функция BLE, которую мы используем в этом примере, - это уведомление.

Проект 2:цифровое управление RN487x

Наш шаблон проектирования состоит из трех компонентов, которые нам необходимо предоставить:

Далее следует разбивка компонентов.

Аппаратное обеспечение цифрового управления

Роль «цифрового выхода» просто обеспечивается светодиодом; D1.

Эталонные схемы модуля RN487x предполагают использование GPIO с открытым коллектором, поэтому мы соответствующим образом загораем светодиод, уменьшая ток.

Поскольку мы управляем только одним сигналом и не используем ШИМ, мы выбрали RN4871. Схема может питаться от пары батареек AAA или даже от плоского элемента.

Остальные элементы схемы:

Конфигурация цифрового управления

Перед созданием конфигурации для этого примера убедитесь, что модуль находится в известном состоянии. Это описано в приложении, посвященном стандартной инициализации.

Не пропускайте этот шаг!

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

Две соответствующие команды:

  PS, 59c88760536411e7b114b2f933d5fe66 ПК, 59c889e0536411e7b114b2f933d5fe66,08,01  

Первая команда PS создает службу. Вторая команда, PC, создает характеристику. В обеих командах первым параметром является идентификатор, который позволяет нашему периферийному устройству существовать во вселенной других периферийных устройств Bluetooth и при этом иметь уникальный доступ. Этот параметр должен соответствовать стандарту UUID. Вы можете использовать показанные в качестве примера значения. Также легко создать любое количество стандартных UUID.

В команде ПК второй параметр сообщает уровню Bluetooth, как изменения значения должны поступать на периферийное устройство. В этом случае параметр (08) указывает, что периферийное устройство должно отправить подтверждение клиенту при изменении значения. Наконец, в команде PC третий параметр определяет размер значения в байтах; в данном случае только один (01).

Часть сценария нашей конфигурации выглядит так:

  @CONN | O, 08,72  

В этом скрипте есть только один метод - @CONN. Он запускается каждый раз, когда клиент подключается к периферийному устройству.

Единственная строка скрипта - это команда «обработать ассоциацию», дающая очень мощный результат. Он связывает переменную базы данных с командой вывода цифрового вывода. Параметр «08» - это битовая маска, определяющая вывод, к которому подключен наш светодиод. Параметр «72» - это уникальный и постоянный дескриптор характеристики, которую мы создали в базе данных. Таким образом, после подключения клиента каждый раз, когда клиент записывает новое значение в переменную базы данных, наш светодиод будет соответственно включаться или выключаться.

Приложение цифрового управления

Скрипт Python - это light.py, его можно найти здесь. Отредактируйте сценарий и замените образец MAC-адреса на MAC-адрес вашего устройства. Затем, чтобы проверить пример, просто подайте питание на периферийное устройство, а затем запустите сценарий в системе с соответствующими возможностями Bluetooth. См. Приложение для получения справки по этой настройке в Linux. Сценарий будет выдавать сообщения, указывающие на прогресс при подключении к периферийному устройству. После подключения периферийного устройства скрипт будет отправлять периферийному устройству новую команду каждую секунду. Команды будут включать и выключать светодиод.

Скрипт короткий и включает комментарии ко всем функциональным блокам и вызовам GATT API. Уникальная функция BLE, которую мы используем в этом примере, - это ассоциация дескрипторов.

Вы можете увидеть весь этот пример в действии в сопроводительном видео проекта.

Дальнейшие действия

На этом завершается вторая часть нашей серии из трех частей, посвященных модулю RN487x.

Часть 3 будет следовать той же схеме проектирования для создания аналогового датчика и аналогового элемента управления. Он также будет включать некоторые темы для дальнейшего изучения, которые применимы ко всем примерам проектов.


Интернет вещей

  1. Бесплатное как на свободе или бесплатное пиво? ... как насчет:бесплатно использовать, строить и исследовать!
  2. Базовый ввод и вывод C#
  3. Резюме:Как Bluetooth LE и XLE представляют собой будущее отслеживания и мониторинга активов
  4. Как Bluetooth + ультразвук =лучшая точность RTLS и меньшая стоимость
  5. Как построить и оптимизировать график профилактического обслуживания
  6. Датчики и элементы управления с модулем Bluetooth RN487x от Microchip
  7. Как создавать решения, которые хотят (и готовы платить) ваши клиенты
  8. Как построить более разумную операцию с использованием технологии IoT для мониторинга резервуаров
  9. Как разобраться в больших данных:RTU и приложения для управления процессами
  10. Что такое Lean Digital и как его интегрировать?