Brillo is a minimized version of Android designed for IoT devices. It uses the same architecture as Android but removes components like graphics and display drivers to reduce resources. Brillo focuses on security features like SELinux and secure updates. It also includes services for device communication via protocols like Weave and device management through Google Cloud using Privet APIs. Developers can build Brillo applications using the Brillo Developer Kit and target various hardware platforms through a similar development process as Android.
10. HW I/O - Peripheral Manager
Provide platform independent API for accessing hardware I/O.
New Services added by Brillo
Client/Server, peripheralman daemon, Binder as IPC
C client API (create binding for your favourite languages)
Supported Protocols: GPIO, I2c, LED, SPI, UART
10 / 22
16. Weave - Privet: Device Management & Google Cloud
Device <> Cloud: REST API
Device Information
Pairing
Authentication
Access Control
Manage Components & Commands
CheckForUpdate
16 / 22
17. show me the CODE!
AddHandler("/privet/info");
AddHandler("/privet/v3/pairing/start",
AddHandler("/privet/v3/pairing/confirm",
AddHandler("/privet/v3/pairing/cancel",
AddSecureHandler("/privet/v3/auth",
AddSecureHandler("/privet/v3/accessControl/claim",
AddSecureHandler("/privet/v3/accessControl/confirm",
AddSecureHandler("/privet/v3/setup/start",
AddSecureHandler("/privet/v3/commands/execute",
AddSecureHandler("/privet/v3/commands/status",
AddSecureHandler("/privet/v3/commands/cancel",
AddSecureHandler("/privet/v3/commands/list",
AddSecureHandler("/privet/v3/checkForUpdates",
AddSecureHandler("/privet/v3/traits",
AddSecureHandler("/privet/v3/components",
17 / 22
18. Brillo Developer Kit (BDK)
Three parts:
1. The initial bdk contains common code all products need
2. Board support package (BSP) for a particular board
bootloader, drivers, hals and firmware
brunchbspinstall
1. Your service/product code
brunchproduct
18 / 22
19. Support Platforms and Targets
Acrosss different hardware platforms: Intel X86, ARM, MIPS
Storage : 128M
RAM : 32M
19 / 22
21. Get started and Get involved.
Checkout, Build and Run!
#Checkout
repoinit-uhttps://android.googlesource.com/brillo/manifest-bmaster
reposync
#Build
sourcebuild/envsetup.sh;lunchbrilloemulator_x86-eng
make
#Runthesimulator
out/host/linux-x86/bin/brilloemulator-x86
Next, submit a patch. It is open source.
21 / 22