智能硬件潮:设备既是服务上海科泰华捷陈榕智能硬件智能电视•每个硬件都有自己的APK•不能动态组合HardwareOperatingSystemServiceFrameworkInternetSensors/PeripheralsDeviceasaService我们的主题是智能硬件/设备,但我们的关注点其实并不是硬件或者设备本身,而是其提供的服务。设备?服务?ServicesInformationInformation•智能硬件–提供基础的HW/SW,以及之上的服务框架,开发框架,支持快速的应用服务开发–目前有很多的原型,如RaspberryPi,BeagleBoard,CubieBoard,Arduino等等–科泰的Lamobo系列•Device-to-Device连接服务–提供设备/服务间的交互服务,支持各种设备在不同网络场景下的数据连接–如Xively(Cosm),Open.Sen.se,ThingSpeak等等–科泰的HomeCloudHub设备既是服务的基础设施InternetHDMIPersonalCloudHomeCloudHomeCloudEcosystemInternetHDMIPersonalCloudHomeCloudLamobo-D1Lamobo-D1Lamobo-M1Lamobo-M1ElastosNavigatorLamobo-M1+Router(R1)+HardDiskLamobo-B1Lamobo-B1HomeCloudEcosystemOpensmarthardware--Lamobo-M1Opensmarthardware--Lamobo-M1ItemsDetailsCPU1GHzARMCortex-A7Dual-CoreGPUARMMali400MP2@350Mhz,OpenGLES2.0,OpenVG1.1DRAM1GBytesDDR3StorageSDslotVideoOutputHDMI,RCAAudioOutput3.5mmstereoaudiojackNetworkGigabitEthernetSATASATA2.0USB2xUSB2.0Low-levelperipherals8xGPIO,UART,CSI,DSI,+5VPowerPowerDC5V/2A,microUSBOSUbuntu,Android4.2.2,(Elastos)Lamobo-M1hardwarespecificationsLamobo-M1vs.RaspberryPiItemsLamobo-M1RaspberryPi(ModelB)CPU1GHzARMCortex-A7Dual-Core700MHzARM1176JZFSinglecoreGPUARMMali400MP2@350Mhz,OpenGLES2.0,OpenVG1.1BroadcomVideoCoreIV@250MHzOpenGLES2.0DRAM1GBytesDDR3512MBytesNetworkGigabitEthernet10M/100MEthernetSATASATA2.0NoneUSB2xUSB2.02xUSB2.0GPIO8xGPIO,includelayout8xGPIOPowerDC5V/2A,microUSBDC5V/2A,microUSBOSLinux,Android4.2.2Linux$35$29Lamobo-D1Lamobo-D1hardwarespecificationsItemsDetailsCPUAK3918ARM926EJ-S32BitsRISCCoreDRAM64MBDDR2-SDRAMStorage16MBSPI-FLASH,MicroSDslotCameraHM13751.3M1/4CMOSImageSensorSoC30FPS@720P,NightmodeAudioOutput3.5mmstereoaudiojackNetworkRTL8188EUSLow-levelperipherals8xGPIO,UART,CSI,DSI,+5VPowerPowerAXP173,supportli-ionbatteryOSLinux3.4.35;(ElastosRT)Dimensions38mmx38mmLamoboisanOPENplatformHardware•Schematics•Blockdiagram•BoarddimensionsSoftware•Bootloader,sourcecode•Kernel,BSP,driverssourcecode•GPULibraries•AndroidsourcecodeLamobocommunity••Accessyourdeviceanywhere,anytime•Device-to-Devicecommunication•Datarelayservice•OpenWebAPIHomeCloudHubDeviceDirectoryDataRelayDeviceActivation&ManagementDeviceHubServiceWebAPI,MQTTDevice(s)App(s)InternetHDMIPersonalCloudHomeCloudElastosEcosystemInternetHDMIPersonalCloudHomeCloudElastosAndroidLinux外设OS(+ElastosRT)家庭云OS智能OS(+ElastosRT)RTOS嵌入式OS(+ElastosRT)C/C++(CAR)Practical,portablewaystodeploycomponentsandapplicationsacrossdifferentdevicesandplatformsEasy-to-program,efficientwaystocreateexcitinguserexperiencesforapplicationsandservicesPowerful,nativetechnologyforexpertdeveloperstoextendtheplatformandcreatecustomsolutions.ElastosScriptingJavaElastosHybridProgrammingModelElastos系统架构图Elastos是上海科泰世纪正在研发的面向个人云的智能终端操作系统。我们将在Elastos系统上构筑面向家庭物联网的智能家庭。ComponentAssemblyRuntime:–RemotelyrelatedtoCOMtechnology;–SimplerandmoreadaptivetofacilitateJAVA,JS,C/C++;–Binarycomponentwithcallback/delegatecapabilities;–Seamlesscomputing(hidingTCP/IP);–Reflectionbased(noJNI,noRMI,noJSR);–SupportmodernprogrammingpatternssuchasGeneric,AOP,Binary-inheritance,etc.Elastoscoretechnology-CARmodule//Com.Elastos.Components.FooBar.eco{interfaceIFoo{Foo();}interfaceIBar{Bar();}callbacksJFooEvents{FooEvent();}classCFooBar{interfaceIFoo;interfaceIBar;callbacksJFooEvents;}}CARsamplecode//==CFooBar.h==#include_CFooBar.hCarClass(CFooBar){public:CARAPIFoo();CARAPIBar();private://TODO:Addyourprivate//membervariableshere.};//==CFooBar.cpp==#includeCFooBar.hECodeCFooBar::Foo(){CConsole::WriteLine(Foo);Callback::FooEvent();returnNOERROR;}ECodeCFooBar::Bar(){CConsole::WriteLine(Bar);returnNOERROR;}==AfterCompilation==Com.Elastos.Components.FooBar.ecoC++codegeneratedfromaCARfileC++ClientCodeWrittenbyaDeveloper//==CFooBarDemo.cpp==#includeCom.Elastos.Components.FooBar.hECodeOnFooEvent(PVoiduserData,PInterfacepSender){CConsole::WriteLine(OnFooEvent);CApplet::Finish(AppletFinish_ASAP);returnNOERROR;}ECodeCFooBarDemo::Main(constBufferOfCString&args){IBar*pBar;ECodeec=CFooBar::New(&pBar);pBar-Bar();ec=CFooBar::AddFooEventCallback(pBar,OnFooEvent,NULL);IFoo*pFoo=IFoo::Probe(pBar);pFoo-Foo();CApplet::ReleaseObjectAtFinish(pBar);returnNOERROR;}==Output==BarFooOnFooEventvarfooEventHandler=function(){alert(OnFooEvent);Finish();}vardemo=Using(Com.Elastos.Components.FooBar.eco);varfoobar=demo.FooBar.CreateObject();foobar.FooEvent=fooEventHandler;foobar.Bar();foobar.Foo();==Output==BarFooOnFooEventJSClientCodeWrittenbyaDeveloper•••谢谢!