And joy oh joy, another Google-made API to use. You can feel me bursting with joy at this prospect. They are of such good quality.
I guess automatic updates are sweet.
And joy oh joy, another Google-made API to use. You can feel me bursting with joy at this prospect. They are of such good quality.
I guess automatic updates are sweet.
https://developers.google.com/weave/guides/overview/what-is-...
Based on these two links (including the parent), it wouldn't surprise me if a Google Weave API was soon exposed on Android Things.
I've been tinkering with the ESP8266 and it's got 64k RAM and that seems enough to get a TCP/IP stack, WiFi and even a simple web server.
So unless you are mass producing and need to save each cent per unit, the comfort of using something more productive will always win out in total project costs (hardware cost + development time).
This is reaching levels of absurdity nowadays. I mean, Android / Android Studio and "productive", compared on how you work with ESP8266? With NodeMCU, all you need is simple Lua, few console commands and a text editor. We're replacing that with a huge cow Android Studio is, shit ton more of commands and complexity need to operate it, and what?
Now each new toaster, instead of shipping an uC, will ship a whole PC inside? :/.
Given the programming languages we already could use on MS-DOS, both those chips are quite good.
However, I bet Google is trying to put Android into those areas that are now moving from C and C++ to Java.
This is the same game currently being played in HPT, it is cheaper to get Java developers, even with the increased hardware costs, than to keep writing trading systems in pure C++. Hence the pressure Oracle has got into improving Java's story in regards to AOT and value types.
So if a business is just going to deploy a couple of units, the difference between $15.15 (ESP8266) and $39.95 (Raspberry PI 3) might not be significant, when adding the salaries and respective development costs on top.
Of course, the best approach for those that care about Java and IoT is to just use a plain GNU/Linux distribution like Yocto and standard Embedded Java, instead of Android Java fork.
But overall I agree with your dismay.
It's just that using 512 MB RAM and a quad-core processor for something as simple as a light switch just seems to be so very wasteful.
Sadly I don't know enough about hardware economics to say whether hosting a whole OS is crazy or not, but we've been trading off CPU time for less developer time in every other area of development, so I don't see why it would be different here. To the extent that the OS itself is not what is causing you problems, you can keep optimising your app code as you go and release on cheaper and cheaper hardware if you want.
Not a tonne of benefits, but not a tonne of costs either. I'm sure Samsung won't use this, but this might be good for projects just getting off the ground.
Most chips will use an RTOS for the timing guarantees, and they generally provide better power resilience than other OS's.
That usually involves adding touchscreen LCD.
Once you add LCD, you want nice graphics, animations etc. While you can use microcontrollers for low-res LCDs, when you get past, say 640x480px resolution, due to increasing memory and CPU requirements it often makes sense to go with system-on-chip solution running high-level OS.
The existing libs/frameworks to create nice looking, polished UIs for embedded Linux devices are not as easy to use, well understood and having large base of developers as Android is.
So this leaves device manufacturers seriously considering Android. Working on software stack directly with SoC manufacturers is PITA (although they want you to buy chips from them, they don't want to spend time on support), so having a flavour of Android geared towards embedded devices is a good value proposition from Google.
That is what people asked for, apparently.
The initial plan for Brillo was to replicate some of the Android frameworks in C++.
"We incorporated the feedback from Project Brillo to include familiar tools such as Android Studio, the Android Software Development Kit (SDK), Google Play Services, and Google Cloud Platform."
https://android-developers.googleblog.com/2016/12/announcing...
That said, you don't have to use Android Things. I guess it's more a case of "if you have a system that runs Linux anyway, why not use Android Things?".