Z-Stack 3.0 Sample Application User's Guide.pdf
-> 1.2 Примерные проекты
подробно описывает функциональность примеров. Здесь мы выбрали запуск SampleLight / SampleSwitch
, чтобы описать их функциональность. В процессе могут потребоваться драйверы для LED и кнопок, а также подробное изучение сетевого взаимодействия, включая создание сети, добавление устройств в сеть и обмен данными. Это позволит получить практическое понимание Zigbee и Z-Stack.
Z-Stack 3.0 Sample Application User's Guide.pdf
-> 3 Использование примерных приложений
-> 3.2.1 SampleLight, SampleSwitch
подробно описывает функциональность этих примеров. По описанию, SampleLight выполняет роль координатора, питаемого от постоянного источника питания, и использует LED1 для индикации включения и выключения. Управление может осуществляться через меню навигации, где кнопка используется для локального включения и выключения LED1. SampleSwitch, как устройство на батарее, работает в режиме терминального устройства и использует меню навигации для удаленного включения и выключения LED1 на SampleLight.
Запишите SampleLight и наблюдайте за процессом создания сети, а также перенесите драйверы для кнопок и LED-индикаторов. Кнопка должна управлять состоянием LED1.
Запишите пример SampleSwitch и наблюдайте за процессом добавления устройства в сеть, а также перенесите драйверы для кнопок для удаленного управления LED1 на SampleLight, работающем в роли координатора.## Перенос
Чтобы упростить отслеживание пакетов, измените канал в примерах SampleLight/SampleSwitch на чистый канал. Используя сканер каналов Ubiqua, выберите канал 17.
// f8wConfig.cfg line 45
-DDEFAULT_CHANLIST=0x00020000 // 17 - 0x11
Запустите отслеживание пакетов, скомпилируйте и загрузите программу SampleLight.
По результатам отслеживания пакетов, здесь нет никаких данных. Возможно, создание сети и добавление устройств в сеть требуют взаимодействия через LCD.
Перенесите LED и кнопки для индикации состояния сети.
Сравнив схемы из документации zigbee节点.pdf
и swru208b_CC2530 Development Kit User’s Guide.pdf
, было установлено, что LED-индикаторы соответствуют каждому устройству, но отсутствует LED4. Для кнопок на плате smartrf05eb используется 5-кнопочный джойстик, который уведомляет о событии нажатия кнопки через один IO, а значение кнопки определяется через ADC. Поскольку на нашей плате есть только две кнопки, мы имитируем подтверждение и правую кнопку 5-кнопочного джойстика. Ниже приведена таблица использования периферийных интерфейсов на нашей плате: | item | значение |
| :--------- | ------------------- |
| LED1、2、3 | P1_0、P1_1、P1_4 |
| BTN1、2 | P0_4 P0_5 |
Добавление определений кнопок
```c
//Components/hal/target/CC2530EB/hal_key.c line 135
/* s1 как joy stick enter /
#define HAL_KEY_BTN_OK_PORT P0
#define HAL_KEY_BTN_OK_BIT BV(0)
#define HAL_KEY_BTN_OK_SEL P0SEL
#define HAL_KEY_BTN_OK_DIR P0DIR
/ s1 как joy stick right */
#define HAL_KEY_BTN_MOVE_PORT P0
#define HAL_KEY_BTN_MOVE_BIT BV(1)
#define HAL_KEY_BTN_MOVE_SEL P0SEL
#define HAL_KEY_BTN_MOVE_DIR P0DIR
Завершение инициализации кнопок
```c
//Components/hal/target/CC2530EB/hal_key.c line 211 function HalKeyInit
HAL_KEY_BTN_OK_SEL &= ~(HAL_KEY_BTN_OK_BIT); /* Установка функции пина в GPIO */
HAL_KEY_BTN_OK_DIR &= ~(HAL_KEY_BTN_OK_BIT); /* Установка направления пина в Input */
HAL_KEY_BTN_MOVE_SEL &= ~(HAL_KEY_BTN_MOVE_BIT); /* Установка функции пина в GPIO */
HAL_KEY_BTN_MOVE_DIR &= ~(HAL_KEY_BTN_MOVE_BIT); /* Установка направления пина в Input */
Изменение функции кнопок, отключение предыдущей функции ADC для джойстика и добавление прямого ввода IO
c // if ((HAL_KEY_JOY_MOVE_PORT & HAL_KEY_JOY_MOVE_BIT)) /* Кнопка активна при HIGH */ // { // keys = halGetJoyKeyInput(); // } if (!(HAL_KEY_BTN_OK_PORT & HAL_KEY_BTN_OK_BIT)) { /* Кнопка активна при LOW */ keys |= HAL_KEY_SW_5; } else if (!(HAL_KEY_BTN_MOVE_PORT & HAL_KEY_BTN_MOVE_BIT)) { keys |= HAL_KEY_SW_2; }
* Из-за включенной по умолчанию функции сетевой безопасности, для удобства пакетного анализа необходимо предварительно определить сетевой ключ.В противном случае ключ будет сгенерирован случайным образом, что не позволит завершить пакетный анализ. ```bash
//f8wConfig.cfg строка 142
/* -DDEFAULT_KEY="{0}" */
-DDEFAULT_KEY="{0x06, 0x03, 0x06, 0x04, 0x09, 0x04, 0x02, 0x06, 0x04, 0x05, 0x04, 0x02, 0x05, 0x03, 0x05, 0x04}"
После выполнения указанных выше шагов можно будет использовать руководство пользователя для Z-Stack 3.0 Sample Application User's Guide.pdf
-> 7. Быстрый старт
для тестирования и наблюдения за результатами. Поскольку нет дисплея, здесь потребуется чтение кода для проведения слепого тестирования. Основной процесс следующий:
Подсказка: Полная прошивка сохраняется в
files/release_bin/*
, полные файлы пакетного анализа сохраняются вfiles/sniffer/*
.
Скомпилировать SampleLight CoordinatorEB и загрузить на координатор. После нажатия правой кнопки (S2) три раза подряд, перейти на страницу 4 — тестирование удаленного LED, где нажатие кнопки подтверждения (S1) позволяет включать и выключать состояние LED1 (красный) индикатора.
После сброса, нажатие правой кнопки (S2) дважды подряд переносит на страницу 3 — тестирование сети, где нажатие кнопки подтверждения (S1) позволяет перейти в режим создания сети.
Скомпилировать SampleLight EndDeviceEB и загрузить на конечное устройство. После нажатия правой кнопки (S2) дважды подряд, нажатие кнопки подтверждения (S1) позволяет перейти на страницу тестирования LED, где нажатие кнопки подтверждения позволяет переключать состояние LED2 (красный) индикатора.- После сброса, двойное нажатие правой кнопки (S2) переносит на страницу 3 — тестирование сети, где нажатие кнопки подтверждения (S1) позволяет перейти в режим создания сети.
Одно нажатие правой кнопки переносит на страницу 4 — тестирование удаленного LED, где нажатие кнопки подтверждения (S1) позволяет включать и выключать состояние LED1 (красный) индикатора координатора.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )