Все картинки взяты с официального сайта Ti.
Что есть ZigBee я думаю всем и так понятно.
После поверхностного чтения документации становиться ясно, что ZigBee сеть может состоять из трех видов ролей (это терминология Ti, роль — это тип ZigBee устройства).
Сoordinator — это тот кто управляет сетью. Именно это устройство самое главное. Но его наличие в ZigBee сети необязательно.
Router — именно роутеры и организуют ZigBee сеть. Они берут на себя самую сложную часть работы. Вот они и являются самой сложной частью в разработке. Наличие их в сети обязательно. Собственно вся сеть может состоять только из одних роутеров.
End point — Это конечное устройство. То чем и предполагается управлять или получать данные. Наличие их не обязательно. Т.к. с этой ролью запросто справиться любой роутер.
Есть еще не основные роли, но они особого интереса не представляют ибо специфичны и редко используются.
Итак уже понятно, что через Сoordinator данные поступаю на сервер. А также сервер может отправлять данные через роль Сoordinator. Router это рабочие пчелки которые строят и поддерживают работу сети. Router могут быть и рабочими как End point. Также Router может превратиться в роль Сoordinator. Одним словом Router — это как стволовая клетка и может быть чем угодно.
ЗАМЕЧАНИЕ: Роутером может быть только и только CC2530F256. Т.к. либа для роутера в Z-Stack весит ~160 Кбайт. У CC2530 есть версии 32/64/128/256 Кбайт.
Для начала работы нам потребуется:
— CC-DEBUGGER. Стоит 49$.
— CC2530ZNP Mini Kit или, что нить по круче. Стоит 99$. Кстати при покупке мы в придачу получаем мини программатор/дебаггер для микроконтроллеров MSP430.
Состоит из одного такого модуля.
И двух таких.
А по факту мы получаем три идентичных ZigBee модуля (очень маленьких, они действительно очень маленькие), два батарейных отсека и миниатюрный USB программатор.
Этот модуль довольно крохотный. К тому-же у него на задней стороне еще один микроконтроллер MSP430F2274!
ЗАМЕЧАНИЕ : Ti очень часто упоминает, что эти модули можно использовать только для обучения и в ознакомительных целях. В законченных устройствах использовать нельзя. Основной причиной запрета прямых продаж в СНГ стало то, что у нас их использовали не по прямому назначению (это сказала ихняя служба поддержки). Кто-то знает почему они так переживают по этому поводу?
— CC2531EMK это сниффер. Ti настоятельно рекомендует его купить. Заверяют, что он сильно поможет. Стоит 49$.
Это вообще миниатюрный свисток. Можно использовать в роли дополнительного модуля.
Итого для старта нужно 197$.
Из софта нам понадобиться:
— IAR MCS51;
— IAR MSP430;
— Z-Stack;
— SmartRF Studio;
— SmartRF Flash Programmer;
— SmartRF Protocol Packet Sniffer;
— ZigBee Sensor Monitor (скачиваем из раздела CC2530ZNP). Это пример высокоуровневого ПО.
— Setup_CC2530ZNP_Mini_Kit_SW_1.0.1 (скачиваем из раздела CC2530ZNP). Это примеры прошивок для сетевого процессора.
— Setup CC2530ZNP MK Sensor Monitor Network Application (скачиваем из раздела CC2530ZNP). Это пример прошивки для демо проекта.
Со снифером я пока-что еще не разобрался. У него много всевозможных крутилок. Отловленные пакеты показаны довольно красиво и удобно. Понятно, что он предоставляет полезную информацию, но еще предстоит много прочесть много апнотов чтоб понять, что именно полезного он показывает и как выставить нужные фильтры.
Работает прямо со старта. Вставил, винда нашла дрова и готово.
CC2530ZNP Mini Kit довольно крутой и продуманный набор. Но недостатков у него куча. Во первых мы получаем сразу три модуля которые можно юзать как:
— SoC CC2530;
— SoC CC2530 и дополнительный внешний микроконтроллер;
— сетевой процессор под управлением MSP430.
Используя всего один набор можно опробовать сразу все режимы. Функциональность и продуманность довольно высокая. Также есть токовый шунт для оценки энергопотребления.
Но:
— все датчики, светодиоды и кнопка подключены к MPS430. Небольшое неудобство.
— MPS430 нужно программировать через USB свисток. Тоже немного не удобно.
— модули не отшлифованы. Надфилек все исправит.
— по дефолту стоит довольно нудный проект. Который только и делает, что в COM-порт шлет фигню. Проект Sensor Monitor намного веселее. Но для него нужно переставлять прошивки.
Режим сетевого процессора — это когда Ti нам предоставляет готовую прошивку для CC2530 и SoC CC2530 превращается в трансивер с высокоуровневыми API. Мы можем также дописать свои API.
Решил я минуя апноты открыть пример роли Router. Открываю проект в IAR ииии первая же мысль «Твою ж мать!!» и закрыл. Перед глазами сразу возникает огромный проект с кучей непонятных файлов и очень много исходного кода. И это всего лишь простенькое дэмо =) Решил я закрыть это грешное дело и преступить к чтению апнотов. Это сейчас я и делаю.
Чую голос темной стороны я. Велит он открыть апнот по сетевому процессору.
Немного критики
Ti — это не корпорация добра, а скорее наоборот. Она по круче чем Microsoft стремиться подсадить на свою иглу. И это хорошо у нее получается.
SoC CC2530 — оптимизирован для работы с ZigBee в нем есть специальные мнемоники ускоряющие работу трансивера. Описание содержится в «CC253x System-on-Chip Solution for 2.4-GHz IEEE 802.15.4 and ZigBee® Applications». Это основной апнот который нужно зачитать до дыр. Но ZigBee трансивер описан не полностью. Важные моменты скрыты. Поэтому даже не надейтесь увидеть когданить опенсорс стэк. (Кстати BLE трансивер и вовсе фактически нигде не описан).
Z-Stack является одним из самых лучших. Предоставляется в виде бинарной либы и хеадеров. Это дает нам:
— часть ОС OSAL находиться в этой библиотеке. OSAL — это кооперативка от Ti. Поэтому мы обречены использовать OSAL всегда. В ролях End Point это даже хорошо. Но в роли Router это много неготива. Для больших проектов намного лучше подходить RTOS. Масштабировать проект имея на руках только простершую кооперативку это сущий ад.
В генераторе случайных чисел нашли закономерность. Если взломщик знает, что AES ключ сгенерен им, то он с легкостью составит список наиболее вероятных ключей. А дальше взломает шифр брутфорсом. Если требуется действительно защищенный канал, то нужно подмешивать дополнительные переменные.
PS: Буду выкладывать только куски кода. Проект коммерческий.
we.easyelectronics.ru
Современный интернет, облачные вычисления или просто обработку больших объемов данных невозможно представить без такого понятия как сервер. Ориентировочно до 50% потребляемой серверами энергии уходит в тепло, которое нужно тем или иным способом из серверных помещений или центров обработки данных отводить.
Как правило, для этих целей используются кондиционеры, количество и мощность которых рассчитываются в зависимости от объемов помещений, тепловыделения серверов и прочих параметров. В действительно больших центрах обработки данных используются дорогостоящие сплит-системы кондиционирования, обладающие встроенными системами управления, однако сегодня мы рассмотрим систему управления для довольно распространенных на сегодняшний день небольших серверных, охлаждением которых занимаются всего несколько, обычно простых бытовых кондиционеров — по статистике чаще это 2, реже 3 кондиционера.
Забегая вперед хочу сразу показать схему работы разработанной системы, кого заинтересовало — прошу под кат.
Рассматриваемая система управления или блок ротации кондиционеров — не новинка в мире климатической техники, однако она обладает набором расширенных функций (в основном коммуникационных), которые резко выделяют ее из всего того, что может предложить рынок.
Логичный вопрос — зачем все это нужно? Применение отдельной системы управления кондиционерами в серверном помещении дает:
— поддержание заданного уровня температуры в помещении путем автоматического управления
установленными кондиционерами;
— попеременная ротация — переключение кондиционеров через равномерные промежутки времени (от нескольких часов до суток) обеспечивает их равномерный износ, чем повышает надежность охлаждающей системы;
Ядром описываемой системы является центральный контроллер, основанный на микроконтроллере STM32F107 + система на кристалле CC2530 (Texas Instruments), содержащая в себе вычислительное ядро 8051 и радио приемо-передатчик стандарта IEEE 802.15.4 (2.4 гГц).
Фотография первого прототипа
Схематический вид контроллера
Контроллер имеет небольшой черно-белый жидкокристаллический экран 128*64 пикселей, энкодер-кнопку («крутилку») управления, вход питания 220 В, внешнюю антенну, Ethernet разъем, выход сигнала «авария» и ИК-приемник для записи управляющих команд для кондиционеров с оригинальных пультов управления.
Непосредственное управление кондиционерами осуществляют беспроводные модули (RF), устанавливаемые по одному на каждый кондиционер. Обмен информацией между каждым RF модулем и центральным блоком управления осуществляется по беспроводному 2.4 гГц каналу по собственному протоколу, MAC уровень которого идентичен MAC уровню протокола Zigbee. Модули управляют кондиционерами по инфракрасному каналу при помощи ИК-диодов, то есть кондиционеры каждый раз «думают», что ими управляет человек посредством родного пульта управления. При инсталляции системы для каждого кондиционера записываются 3 команды: включение на охлаждение, включение на вентиляцию и выключение.
Первые прототипы RF модулей, белые провода — питание
Схематический вид RF модуля
В главном меню центрального контроллера отображается усредненная температура помещения (среднее значение по датчикам температуры модулей на входе всех кондиционеров), список привязанных модулей с иконками состояния, установленная температура, а также время, синхронизированное с удаленным веб-сервером:
Из меню можно привязать новый модуль к контроллеру:
Можно записать с родного пульта управления различные инфракрасные команды:
Можно установить требуемую для поддержания температуру в помещении и время ротации кондиционеров:
А также настроить большое число дополнительных параметров.
В ходе работы системы в случае достаточной мощности установленных в управляемом помещении кондиционеров, контроллер поддерживает среднюю температуру в помещении не выше температуры, назначенной при настройке параметров + 3 градуса.
В случае повышения средней температуры помещения выше установленной, контроллер последовательно включает на охлаждение кондиционеры, первыми включаются кондиционеры с меньшей наработкой.
Кондиционер считается работающим на охлаждение, если после посылки ИК светодиодом RF модуля команды охлаждения кондиционеру установится указанная в настройках системы разность температур между входящим и исходящим из кондиционера воздухом.
Если после подачи ИК команды кондиционеру указанная выше разность температур не установится в течение 5 минут, то у данного модуля появится ошибка компрессора.
Однако, если разница температур не достигнет установленной в течение 5 минут после первой попытки включения, контроллер попытается включить его на охлаждение ещё 2 раза с интервалом в 5 минут. Если разница температур через 5 минут после посылки последней команды включения на охлаждение все ещё останется меньше пороговой, то во избежание поломки кондиционер выключается, и работа с ним прекращается до снятия ошибки компрессора.
Число включенных кондиционеров в каждый конкретный момент зависит от величины превышения средней температуры над установленной. При превышении установленной температуры на 3 градуса и более на охлаждение включаются все кондиционеры.
В алгоритм автоматического поддержания температуры заложена функция ротации, которая задействуется при установлении баланса между теплом, выделяемым находящимся в помещении оборудованием, и теплом, забираемым системой кондиционирования — в данном случае длительное время в состоянии охлаждения будет находиться определенное число кондиционеров.
Если при этом данное число находящихся в состоянии охлаждения кондиционеров меньше числа всех безаварийных кондиционеров, то состояние охлаждения по истечении установленного времени ротации будет передаваться от кондиционера с большей ротационной наработкой (из числа включенных на данный момент кондиционеров) кондиционеру с меньшей общей наработкой (из числа выключенных на данный момент кондиционеров).
Если число включенных на охлаждение кондиционеров достигло числа всех доступных кондиционеров, то они продолжают работать на охлаждение независимо от ротационной наработки.
Ротационной наработкой считается время работы кондиционера на охлаждение с момента последнего включения.
Если к контроллеру подключен Ethernet кабель, имеющий соединение с сетью Интернет, то с периодичностью раз в минуту контроллер обменивается данными с удаленным веб-сервером. Пользователь имеет возможность удаленно наблюдать как общее состояние системы (средняя температура в помещении, время непрерывной работы контроллера), так и состояние каждого установленного кондиционера.
В случае необходимости пользователь имеет возможность вручную включить любой из доступных кондиционеров на охлаждение, вентиляцию или выключить его.
Ниже приведу скрины тестового веб-сервера, при помощи которого можно мониторить состояние контролируемых серверных и управлять установленными в них кондиционерами:
Экран общего состояния серверного помещения
История работы отдельного кондиционера
Всем спасибо за внимание, жду ваших комментариев!
Вопросы, пожелания, замечания пишите, пожалуйста, на frimen3 at gmail.com.
habr.com
Компания Texas Instruments развернула ZigBee-сеть из более чем 400 узлов в Сан-Диего (Калифорния) для подтверждения надежности и масштабируемости собственного стека протоколов Z-Stack™ (ZigBee-PRO 2007).
В то время как традиционные ZigBee-сети состоят из 5-20 устройств, в отдельных случаях требуется построение сетей из нескольких сотен устройств, например, при съеме показаний с измерителей энергии в многоквартирных домах или при управлении большим числом осветительных приборов. Выбор правильной маршрутизации и настройка параметров стека оптимальным образом существенно влияет на показатели качества работы большой ZigBee-сети. На примере тестовой сети Texas Instruments предоставляет разработчикам результаты практического тестирования сети из 405 узлов и рекомендации по настройке параметров стека.
Развернутая в офисе компании сеть построена на базе SoC CC2530/CC25431. Концентратор собирает данные (по 46 байт) от каждого узла сети в течение окна длительностью 3 минуты. В сети реализован метод маршрутизации «многие-к-одному», который существенно снижает объем служебного трафика. Максимальное число ретрансляций (хопов) равно 4. Передача данных осуществляется с шифрованием на сетевом уровне. Данные с концентратора передаются по UART на ПК, где работает программа отображения статистики. Статистика формировалась на основе более 700 000 прошедших через сеть пакетов.
Полученные результаты показали высокую надежность работы сети, построенную на аппаратных и программных решениях Texas Instruments:
Полные результаты тестов и таблица оптимальных параметров для стека Z-Stack
•••
В середине 2001 г. компании Texas Instruments и КОМПЭЛ заключили официальное дистрибьюторское соглашение, которое явилось результатом длительной и успешной работы КОМПЭЛ в качестве официального дистрибьютора фирмы Burr-Brown. (Как известно, Burr-Brown вошла в состав TI так же, как и компании Unitrode, Power Trend и Klixon). С этого времени компания КОМПЭЛ получила доступ к поставке всей номенклатуры производимых компанией TI компонентов, технологий и отладочных средств, а также …читать далее
www.compel.ru
Привет, друзья!
Сегодня я хочу рассказать вам об одной интересной разработке электронной системы управления кондиционерами.
Современный интернет, облачные вычисления или просто обработку больших объемов данных невозможно представить без такого понятия как сервер. Ориентировочно до 50% потребляемой серверами энергии уходит в тепло, которое нужно тем или иным способом из серверных помещений или центров обработки данных отводить.
Как правило, для этих целей используются кондиционеры, количество и мощность которых рассчитываются в зависимости от объемов помещений, тепловыделения серверов и прочих параметров. В действительно больших центрах обработки данных используются дорогостоящие сплит-системы кондиционирования, обладающие встроенными системами управления, однако сегодня мы рассмотрим систему управления для довольно распространенных на сегодняшний день небольших серверных, охлаждением которых занимаются всего несколько, обычно простых бытовых кондиционеров — по статистике чаще это 2, реже 3 кондиционера.
Забегая вперед хочу сразу показать схему работы разработанной системы, кого заинтересовало — прошу под кат.
Рассматриваемая система управления или блок ротации кондиционеров — не новинка в мире климатической техники, однако на момент окончания разработки (середина 2013 года) она обладала набором расширенных функций (в основном коммуникационных), которые резко выделяли ее из всего того, что мог на тот момент предложить рынок.
Логичный вопрос — зачем все это нужно? Применение отдельной системы управления кондиционерами в серверном помещении дает:
— поддержание заданного уровня температуры в помещении путем автоматического управления
установленными кондиционерами;
— попеременная ротация — переключение кондиционеров через равномерные промежутки времени (от нескольких часов до суток) обеспечивает их равномерный износ, чем повышает надежность охлаждающей системы;
— при превышении критической температуры автоматически включаются резервные кондиционеры и работают до тех пор, пока температура в серверной не опустится до заданного уровня;
— контролируя перепад температуры между входами и выходами кондиционеров, система может автоматически распознавать их неисправность и сигнализировать об этом замыканием аварийных контактов, передачей данных на веб-сервер, отсылкой sms или email сообщений ответственному лицу и так далее;
— возможность удаленного наблюдения за состоянием и управления кондиционерами через веб-сервер.
Ядром описываемой системы является центральный контроллер, основанный на микроконтроллере STM32F107 + система на кристалле CC2530 (Texas Instruments), содержащая в себе вычислительное ядро 8051 и радио приемо-передатчик стандарта IEEE 802.15.4 (2.4 гГц).
Фотография первого прототипа
Схематический вид контроллера
Контроллер имеет небольшой черно-белый жидкокристаллический экран 128*64 пикселей, энкодер-кнопку («крутилку») управления, вход питания 220 В, внешнюю антенну, Ethernet разъем, выход сигнала «авария» и ИК-приемник для записи управляющих команд для кондиционеров с оригинальных пультов управления.
Непосредственное управление кондиционерами осуществляют беспроводные модули (RF), устанавливаемые по одному на каждый кондиционер. Обмен информацией между каждым RF модулем и центральным блоком управления осуществляется по беспроводному 2.4 гГц каналу по собственному протоколу, MAC уровень которого идентичен MAC уровню протокола Zigbee. Модули управляют кондиционерами по инфракрасному каналу при помощи ИК-диодов, то есть кондиционеры каждый раз «думают», что ими управляет человек посредством родного пульта управления. При инсталляции системы для каждого кондиционера записываются 3 команды: включение на охлаждение, включение на вентиляцию и выключение.
Первые прототипы RF модулей, белые провода — питание
Схематический вид RF модуля
В главном меню центрального контроллера отображается усредненная температура помещения (среднее значение по датчикам температуры модулей на входе всех кондиционеров), список привязанных модулей с иконками состояния, установленная температура, а также время, синхронизированное с удаленным веб-сервером:
Из меню можно привязать новый модуль к контроллеру:
Можно записать с родного пульта управления различные инфракрасные команды:
Можно установить требуемую для поддержания температуру в помещении и время ротации кондиционеров:
А также настроить большое число дополнительных параметров.
В ходе работы системы в случае достаточной мощности установленных в управляемом помещении кондиционеров, контроллер поддерживает среднюю температуру в помещении не выше температуры, назначенной при настройке параметров + 3 градуса.
В случае повышения средней температуры помещения выше установленной, контроллер последовательно включает на охлаждение кондиционеры, первыми включаются кондиционеры с меньшей наработкой.
Кондиционер считается работающим на охлаждение, если после посылки ИК светодиодом RF модуля команды охлаждения кондиционеру установится указанная в настройках системы разность температур между входящим и исходящим из кондиционера воздухом.
Если после подачи ИК команды кондиционеру указанная выше разность температур не установится в течение 5 минут, то у данного модуля появится ошибка компрессора.
Однако, если разница температур не достигнет установленной в течение 5 минут после первой попытки включения, контроллер попытается включить его на охлаждение ещё 2 раза с интервалом в 5 минут. Если разница температур через 5 минут после посылки последней команды включения на охлаждение все ещё останется меньше пороговой, то во избежание поломки кондиционер выключается, и работа с ним прекращается до снятия ошибки компрессора.
Число включенных кондиционеров в каждый конкретный момент зависит от величины превышения средней температуры над установленной. При превышении установленной температуры на 3 градуса и более на охлаждение включаются все кондиционеры.
В алгоритм автоматического поддержания температуры заложена функция ротации, которая задействуется при установлении баланса между теплом, выделяемым находящимся в помещении оборудованием, и теплом, забираемым системой кондиционирования — в данном случае длительное время в состоянии охлаждения будет находиться определенное число кондиционеров.
Если при этом данное число находящихся в состоянии охлаждения кондиционеров меньше числа всех безаварийных кондиционеров, то состояние охлаждения по истечении установленного времени ротации будет передаваться от кондиционера с большей ротационной наработкой (из числа включенных на данный момент кондиционеров) кондиционеру с меньшей общей наработкой (из числа выключенных на данный момент кондиционеров).
Если число включенных на охлаждение кондиционеров достигло числа всех доступных кондиционеров, то они продолжают работать на охлаждение независимо от ротационной наработки.
Ротационной наработкой считается время работы кондиционера на охлаждение с момента последнего включения.
Если к контроллеру подключен Ethernet кабель, имеющий соединение с сетью Интернет, то с периодичностью раз в минуту контроллер обменивается данными с удаленным веб-сервером. Пользователь имеет возможность удаленно наблюдать как общее состояние системы (средняя температура в помещении, время непрерывной работы контроллера), так и состояние каждого установленного кондиционера.
В случае необходимости пользователь имеет возможность вручную включить любой из доступных кондиционеров на охлаждение, вентиляцию или выключить его.
Ниже приведу скрины тестового веб-сервера, при помощи которого можно мониторить состояние контролируемых серверных и управлять установленными в них кондиционерами:
Экран общего состояния серверного помещения
История работы отдельного кондиционера
А теперь главный бонус: весь исходный код для прошивок главного контроллера, а также CC2530 вы можете скачать по ссылке на github.com
Для сбора статистики, желающие получить схемы и разводки всех плат системы в формате Altium Designer — пишите, пожалуйста, на frimen3 at gmail.com.
Всем спасибо за внимание, жду ваших комментариев!
Автор: Frimen3
Источник
www.pvsm.ru
17 Июл
Наиболее завершенное в промышленности радиочастотное решение для приложений ZigBee/IEEE 802.15.4, ZigBee RF4CE и Smart Energy.
CC2530 – завершенное РЧ решение (2.4 ГГц), относящее к типу ‘система на кристалле’, которое поддерживает несколько стандартов, в т.ч. IEEE 802.15.4, и множество областей их применения, например, ZigBee Pro, дистанционное управление ZigBee RF4CE, Smart Energy, автоматизация зданий и домашнего хозяйства, мониторинг окружающей среды и медицинское беспроводное оборудование.
CC2530 сочетает характеристики современного РЧ трансивера и усовершенствованного микроконтроллера с ядром 8051, который дополнен внутрисистемно-программируемой FLASH-памятью, ОЗУ объемом 8 кБайт и множеством других полезных возможностей. ИС CC2530 доступна в четырех версиях с различным объемом FLASH-памяти: CC2530F32/64/128/256 с FLASH-памятью объемом 32/64/128/256 кБайт, соответственно. CC2530 может работать в нескольких режимах с различным уровнем энергоопотребления, что делает возможным его применение в системах с жесткими требованиями к экономичности. Повышению экономичности решения также способствует быстрота переходов между режимами работы.
В сочетании с лидирующим в промышленности и поддерживающим статус Golden Unit стеком протоколов ZigBee (Z-StackTM) от Texas Instruments, CC2530F256 становится надежным и завершенным ZigBee решением.
Кроме того, с дополнительным стеком RemoTI (статус Golden Unit) от Texas Instruments, CC2530F64 может использоваться как завершенное надежное решение для дистанционного управления по требованиям ZigBee RF4CE.
Запросить образцы, средства разработки или техническую поддержку
Документация на CC2530 (англ.)
www.ebvnews.ru
ZigBee решения для домашней и промышленной автоматизации, освещения, измерений и сети датчиков должны иметь большую мощность и лучшую чувствительность, чем может предложить автономный CC2530. Референс дизайн CC2530-CC2592 сочетает недорогой беспроводной микроконтроллер CC2530 с усилителем CC2592, улучшающим чувствительность приемника на 2-3 дБ и увеличивающим мощность передатчика до 120 дБ, позволяя улучшить радиус действия каждого узла ZigBee сети.
Быстро получите общее представление о схемотехнике решения
Протестируйте плату по готовым тестам
Загрузите полный список требуемых компонентов.
Вы будете перенаправлены на страницу выбора предложений по позициям, входящим в состав типового решения CC2530-CC2592EM-RD
www.terraelectronica.ru