Ameb D
Bu örnek, açık/kapalı özelliklere sahip bir ampul cihaz türü olarak çalışır. Adımlar Ameba D tahtasında doğrulandı.
İlk kurulum
- Ameba SDK'sını klonlayın ve
v1.0-branch
sitesine göz atın:mkdir ameba_matter
cd ameba_matter
git clone -b v1.0-branch https://github.com/pankore/ambd_sdk_with_chip_non_NDA.git
connectedhomeip
deposunu klonlayın ve Ameba SDK için belirli SHA'ya göz atın:git clone https://github.com/project-chip/connectedhomeip.git
cd connectedhomeip
git switch v1.0-branch
Resimleri oluşturun
- Klasör yapısının şu şekilde olduğundan emin olun:
ameba_matter/ ├── ambd_sdk_with_chip_non_NDA └── connectedhomeip
connectedhomeip
deposunu başlatın:git submodule update --init --recursive
source scripts/activate.sh
lighting-app
oluşturun$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
- Derlemenin çıktısını şu adreste bulabilirsiniz:
connectedhomeip/out/asdk/image/km0_km4_image2.bin
- Derlemenin çıktısını şu adreste bulabilirsiniz:
Panoyu yak
Ameba D donanımını şemada gösterildiği gibi ayarlayın:
- Bilgisayarınız için uygun ImageTool dizinine gidin. ImageTool, örneği
panonuza göndermek için kullanılır. Tüm ImageTool sürümleri şu konumdadır:
ambd_sdk_with_chip_non_NDA/tools/AmebaD/
:OS ImageTool konumu Linux /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
- Linux için
/Image_Tool_Linux/AmebaD_ImageTool
dizinine gidin:cd ../../ambd_sdk_with_chip_non_NDA/tools/AmebaD/Image_Tool_Linux/
- Gerekirse araç izinlerini değiştirin. Örneğin, Linux'ta:
chmod +x AmebaD_ImageTool
- Araç kullanımını kontrol edin:
./AmebaD_ImageTool -help
- Gerekirse araç izinlerini değiştirin. Örneğin, Linux'ta:
- Görüntüyü Ameba D panosuna aktarın. Micro-B USB'yi karta,
diğer tarafını da PC'ye bağlayın. UART bağlantı noktasını kontrol edip UART bağlantı noktası
/dev/ttyUSB0
öğesine atanmamışsa değiştirin:./AmebaD_ImageTool -add device /dev/ttyUSB0
command finish total device to add 1 /dev/ttyUSB0 existed
- Daha önce oluşturduğunuz üç Ameba D görselini mevcut dizine kopyalayın (ImageTool olduğunda):
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
oluşturmak için üç resmi birleştirin:./AmebaD_ImageTool -combine km0_boot_all.bin 0x0000 km4_boot_all.bin 0x4000 km0_km4_image2.bin 0x6000
command finish Combine Image Success
- Son ayarın yapıldığını doğrulayın:
./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 panosunda UART_İNDİR düğmesini basılı tutun ve Sıfırla düğmesine basın, ardından indirme moduna girmek için UART_İNDİR düğmesini bırakın.
- Görüntüyü Ameba D panosuna aktarın:
./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
Jamboard'u sıfırlayın
- Sistemi yeniden başlatmak için Jamboard'daki Sıfırla düğmesine basın.
minicom
veyascreen
ile beyaz tahtada bir seri konsolu açın. Örneğin, cihaz/dev/ttyUSB0
konumundaysa:screen /dev/ttyUSB0 115200
- Ameba D beyaz tahtası daha önce eşlendiyse devam etmeden önce fabrika ayarlarına sıfırlamanız önerilir. Bunun için konsola
ATS#
yazın:# ATS# xPortGetTotalHeapSize = 204800 xPortGetFreeHeapSize = 104512 xPortGetMinimumEverFreeHeapSize = 98176 _[dct_init_valid_module]: erase flash address 0x001ec00
LED kablo tesisatı
Paneli kullanarak bir LED'i aydınlatmak istiyorsanız lütfen LED'in uzun bacak kısmını (pozitif bacak) B5'e, LED'in kısa kenarını (negatif bacak) GND'ye bağlayın. LED'inizin yerleşik direnci yoksa LED ile B5 arasında 220 ohm'luk bir direnç bağlanmalıdır.
Sonraki adımlar
Matter örneğiniz başarıyla oluşturulduğunda, bir geliştirici projesi oluşturun.