AmebaPro is one of the Ameba IoT Family System On Chip which integrates the following features
Wi-Fi 802.11ac/n
H.264
Image Signal Processing/ISP
Audio Codec
SD Storage
AmebaPro is based on the ARM cortex v8m up to 300MHz with 32/64MB LPDDR. The high performance capability enables the comparatively complicated video and vision application, while still be a best choice for battery-based product. The highly integrated solution makes it possible to have a smaller form factor design, which is more cost effective and has rich potentiality.
It has FreeRTOS running on it, and provides standard BSD socket and Posix interface for easier open sources integration. The simplicity of RTOS architecture achieves fast boot capability, which is a big benefit from both key product feature, and power consumption point of view.
By integration of image sensing and communication technology, AmebaPro transmits the video or picture to the cloud, which then bridges the back-end AI service for computer vision application. It realizes a lightweight IoT device to have intelligent vision capability.
This demonstrates how to use KVS Producer and WebRTC on AmebaPro.
Amazon FreeRTOS-LTS libraries are supported on AmebaPro now, it can be used to communicate with AWS IoT core easily! Version 202012.00
📘 Amazon Kinesis Video Streams
include two main services, which are Producer and WebRTC
📘 KVS Producer
stream live video from devices to the AWS Cloud, or build applications for batch-oriented video analytics.
📘 KVS WebRTC
enable real-time communication (RTC) across browsers and mobile applications via simple APIs.
📘 FreeRTOS-LTS Libraries
provides feature stability, and security patches and critical bug fixes for two years from release date.
AmebaPro(Producer) + Rekognition(AWS AI) = video cloud storage and content analytics ☁️
1. Stream live video from AmebaPro to KVS 2. AI face detection by using AWS Rekognition API 👉 |
AmebaPro(WebRTC master) + Viewer(WebRTC Client) = real-time communication, 1-way video & 2-way audio
1. AmebaPro start a signaling channel, as a master 2. Browser run as a viewer (client) 3. Start a P2P connection 👉 |
AmebaPro(image uploader) + Rekognition(AWS AI) = object detection and classification ☁️
1. Take a snapshot by camera sensor 2. Upload image from AmebaPro to S3 3. Trigger Lambda function to do object detection 👉 Notes: Based on FreeRTOS-v202012-LTS framework |
AmebaPro can connect to AWS IoT with the long term support libraries maintained by Amazon.
FreeRTOS demos: coreHTTP, coreMQTT, Over-the-air updates(OTA), AWS IoT Device Shadow...
✏️ KVS WebRTC lib_amazon/amazon-kinesis-video-streams-webrtc-sdk-c-for-freertos/main_amebapro
✏️ KVS Producer lib_amazon/amazon-kinesis-video-streams-producer-embedded-c/samples/kvs-amebapro
✏️ S3 file upload project/component/common/application/amazon/JPEG_snapshot_s3_upload_example
✏️ FreeRTOS-LTS lib_amazon/amazon-freertos-202012.00/demos
🔨 IAR Embedded Workbench - IAR Systems
Please use IAR version 8.3
🔨 GCC toolchain
Linux: asdk-6.4.1-linux-newlib-build-3026-x86_64
Cygwin: asdk-6.4.1-cygwin-newlib-build-2778-i686
To check out this repository:
git clone --recurse-submodules https://github.com/ambiot/ambpro1_sdk.git
If you already have a checkout, run the following command to sync submodules recursively:
git submodule update --init --recursive
If there is GCC makefile error like: "No rule to make target …", it may mean that some codes have not been downloaded correctly.
Please run the above command again to download the missing codes.
If there is compile error with shell script in "component/soc/realtek/8195b/misc/gcc_utility/", you may need to run following command
dos2unix component/soc/realtek/8195b/misc/gcc_utility/*