آمبا دی
این مثال به عنوان یک نوع دستگاه لامپ با قابلیت روشن/خاموش عمل می کند. مراحل روی برد 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.X /Image_Tool_MacOS/MacOS_v10/Ameba_1-10_MP_ImageTool_MacOS
MacOS 11 /Image_Tool_MacOS/MacOS_v11/Ameba_1-10_MP_ImageTool_MacOS11
- برای لینوکس، به دایرکتوری
/Image_Tool_Linux/AmebaD_ImageTool
بروید:cd ../../ambd_sdk_with_chip_non_NDA/tools/AmebaD/Image_Tool_Linux/
- در صورت نیاز مجوزهای ابزار را تغییر دهید. به عنوان مثال، در لینوکس:
chmod +x AmebaD_ImageTool
- استفاده از ابزار را بررسی کنید:
./AmebaD_ImageTool -help
- در صورت نیاز مجوزهای ابزار را تغییر دهید. به عنوان مثال، در لینوکس:
- تصویر را روی برد Ameba D فلش کنید. Micro-B USB را به برد وصل کنید و طرف دیگر را به کامپیوتر وصل کنید. اگر پورت UART به
/dev/ttyUSB0
اختصاص داده نشده است، پورت UART را بررسی کنید و آن را تغییر دهید:./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
سیم کشی LED
اگر می خواهید LED را با استفاده از برد روشن کنید، لطفا پایه بلند LED (پای مثبت) را به B5 و پایه کوتاه LED (پای منفی) را به GND وصل کنید. اگر LED شما مقاومت داخلی ندارد، باید یک مقاومت 220 اهم بین LED و B5 وصل شود.
مراحل بعدی
وقتی مثال Matter شما با موفقیت ساخته شد، یک پروژه توسعه دهنده ایجاد کنید .