Амеба Д
Этот пример работает как устройство типа лампочки с возможностью включения/выключения. Шаги были проверены на плате Ameba D.
Начальная настройка
- Клонируйте Ameba SDK и проверьте
v1.0-branch
:mkdir ameba_matter
cd ameba_matter
git clone -b v1.0-branch https://github.com/pankore/ambd_sdk_with_chip_non_NDA.git
- Клонируйте репозиторий
connectedhomeip
и проверьте конкретный SHA для Ameba SDK:git clone https://github.com/project-chip/connectedhomeip.git
cd connectedhomeip
git switch v1.0-branch
Создайте изображения
- Убедитесь, что у вас есть такая структура папок:
ameba_matter/ ├── ambd_sdk_with_chip_non_NDA └── connectedhomeip
- Инициализируйте репозиторий
connectedhomeip
:git submodule update --init --recursive
source scripts/activate.sh
- Создайте
lighting-app
$PWD/../ambd_sdk_with_chip_non_NDA/project/realtek_amebaD_va0_example/GCC-RELEASE/build.sh $PWD ninja $PWD/out lighting-app
cd out ; ninja
- Результат сборки находится по адресу:
connectedhomeip/out/asdk/image/km0_km4_image2.bin
- Результат сборки находится по адресу:
Прошить доску
Настройте оборудование Ameba D, как показано на схеме:
- Перейдите в соответствующий каталог ImageTool для вашего компьютера. ImageTool используется для прошивки примера на вашу плату. Все версии ImageTool находятся по адресу
ambd_sdk_with_chip_non_NDA/tools/AmebaD/
:Операционные системы Расположение ImageTool линукс /Image_Tool_Linux/AmebaD_ImageTool
MacOS 10.Х /Image_Tool_MacOS/MacOS_v10/Ameba_1-10_MP_ImageTool_MacOS
MacOS 11 /Image_Tool_MacOS/MacOS_v11/Ameba_1-10_MP_ImageTool_MacOS11
- Для Linux перейдите в каталог
/Image_Tool_Linux/AmebaD_ImageTool
:cd ../../ambd_sdk_with_chip_non_NDA/tools/AmebaD/Image_Tool_Linux/
- При необходимости измените разрешения инструмента. Например, в Linux:
chmod +x AmebaD_ImageTool
- Проверьте использование инструмента:
./AmebaD_ImageTool -help
- При необходимости измените разрешения инструмента. Например, в Linux:
- Прошить образ на плату Ameba D. Подключите Micro-B USB к плате и подключите другую сторону к ПК. Проверьте порт UART и измените его, если порт UART не назначен
/dev/ttyUSB0
:./AmebaD_ImageTool -add device /dev/ttyUSB0
command finish total device to add 1 /dev/ttyUSB0 existed
- Скопируйте три созданных ранее образа Ameba D в текущий каталог (где находится ImageTool):
cp ../../../../connectedhomeip/out/asdk/bootloader/km0_boot_all.bin ./
cp ../../../../connectedhomeip/out/asdk/bootloader/km4_boot_all.bin ./
cp ../../../../connectedhomeip/out/asdk/image/km0_km4_image2.bin ./
- Объедините три изображения, чтобы создать
Image_all.bin
:./AmebaD_ImageTool -combine km0_boot_all.bin 0x0000 km4_boot_all.bin 0x4000 km0_km4_image2.bin 0x6000
command finish Combine Image Success
- Убедитесь, что установлена последняя настройка:
./AmebaD_ImageTool -show
command finish Current Settings CPU : AmebaD UART : 1500000 bps parity:N flow control:False FW NAME : Image_All.bin FW ADDR : 0x08000000 FW LEN : 0 OPTS : keep data : True keep wifi cal: True verification : False reset device : False factory mode : False save log : True Port Settings PORT 0: active:True device:/dev/ttyUSB0 PORT 1: active:False device:NONE PORT 2: active:False device:NONE PORT 3: active:False device:NONE PORT 4: active:False device:NONE PORT 5: active:False device:NONE PORT 6: active:False device:NONE PORT 7: active:False device:NONE PORT 8: active:False device:NONE PORT 9: active:False device:NONE
- На плате Ameba D удерживайте кнопку UART_DOWNLOAD и нажмите кнопку RESET , затем отпустите кнопку UART_DOWNLOAD , чтобы войти в режим загрузки.
- Запишите образ на плату Ameba D:
./AmebaD_ImageTool -download
log file = log_2021_11_15_23_42_10.txt [100, 0, 0, 0, 0, 0, 0, 0, 0, 0]command finish
status: ['OK 53.0s', 'Check PORT', 'Off', 'Off', 'Off', 'Off', 'Off', 'Off', 'Off', 'Off'] close log file
Сбросить доску
- Нажмите кнопку RESET на плате, чтобы перезагрузить систему.
- Откройте последовательную консоль на плате с помощью
minicom
илиscreen
. Например, если устройство находится в/dev/ttyUSB0
:screen /dev/ttyUSB0 115200
- Если плата Ameba D уже была сопряжена ранее, перед продолжением рекомендуется выполнить сброс до заводских настроек. Для этого введите
ATS#
в консоли:# ATS# xPortGetTotalHeapSize = 204800 xPortGetFreeHeapSize = 104512 xPortGetMinimumEverFreeHeapSize = 98176 _[dct_init_valid_module]: erase flash address 0x001ec00
Светодиодная проводка
Если вы хотите зажечь светодиод с помощью платы, подключите длинную ножку светодиода (положительную) к B5 , а короткую ножку светодиода (отрицательную) к GND . Если ваш светодиод не имеет встроенного резистора, резистор на 220 Ом должен быть подключен между светодиодом и B5 .
Следующие шаги
Когда ваш Matter example has been successfully built, create a developer project .