1 of 19

Brillo and Weave: A first “look”

NYC Gotham Developers Group

14 Apr 2016

Wifi: ebayguest #WeAreeBay

2 of 19

Who am I?

Allen Firstenberg

Software Developer / Consultant

(I’m not a hardware guy!)

Google Developer Expert

http://spiders.com/

http://prisoner.com/

3 of 19

Brillo / Weave

4 of 19

What are Brillo and Weave?

  • Google’s plan to apply lessons learned and technology from Android and Cloud to a broader range of devices.
    • Lights
    • Door locks
    • Printers and Scanners
  • Weave is a data protocol
    • Local and Cloud
  • Brillo is a device specification
    • Uses Weave

5 of 19

Why Google?

  • Existing solutions were ad-hoc, non-standard, and didn’t necessarily scale
  • Google had a vested interest with its existing Android and Cloud infrastructure and developers
  • Security
  • Security
  • Security

6 of 19

Why do you care?

  • Users want reasonable assurances that their door locks and light bulbs are secure, reliable, and not too expensive
  • Developers expect to learn one set of core technologies that you can adapt to many devices
  • Hardware manufacturers want to do what they do best - make hardware, not software

7 of 19

Weave

8 of 19

What is the Vision?

  • Easy setup
    • User and Network configuration to app installation
  • Quick access
    • Local
    • Cloud, if the user permits it and the network is available
  • Interoperability
    • Standard schemas for commands and states
    • Schema discovery
  • Security
    • Securely establish an owner
    • Let the owner permit other people to certain commands

9 of 19

Weave Today

  • libweave
    • Available for unix-like platforms
    • Requires HTTPS
    • Handles local and cloud state changes
    • Still work in progress - needs event handler
  • Weave configuration for Android and Chrome
  • Weave cloud console

10 of 19

Brillo

11 of 19

What is the Vision?

  • Hardware specification to build on top of
    • Keep costs down
  • Standard core OS and libraries maintained by Google
    • Linux (Android minus the Android stuff)
    • Weave
  • Easy to add services
    • This is where a manufacturer puts in their product support
    • No need to touch core OS!
  • Easy and secure deployment
    • Deployment console from Google - managed by manufacturer
    • Aggregate monitoring and crash reporting
    • A / B partition using ChromeOS deployment scheme

12 of 19

Brillo Today

  • Hardware availability
    • Intel Edison
    • Qualcomm Dragonboard
    • (And some others)
  • Target hardware
    • ARMv7, Intel x86, or MIPS processor
    • 32 MB RAM
    • 128 MB flash storage or more
    • Wi-Fi required (bluetooth coming soon)
  • OS is more linux than Android
    • SELinux
    • C++ - no Java

13 of 19

Demo?

14 of 19

Google Cloud Vision API

15 of 19

Google services and AI

High

Low

Google Cloud Machine Learning

Google Cloud Vision API, Speech API, Translate API

TensorFlow

16 of 19

Google Photos

  • Places categorization
  • Item search and grouping

(But photos has other tricks it uses, too.)

17 of 19

Cloud Vision API in a nutshell - request

POST https://vision.googleapis.com/v1/images:annotate

{

"requests":[

{

"image":{

"content":"base 64 encoded image string"

},

"features":[

{

"type":"LABEL_DETECTION",

"maxResults":1

}

]

}

]

}

Can also be a Cloud Storage bucket

One or more features

18 of 19

Demo

https://github.com/Scarygami/cloud-vision-api-playground

19 of 19

Any Questions?