![相关平台智慧家庭集成指导_第1页](http://file4.renrendoc.com/view10/M02/0B/03/wKhkGWW3OGiAYX0YAAEigOs_p9w631.jpg)
![相关平台智慧家庭集成指导_第2页](http://file4.renrendoc.com/view10/M02/0B/03/wKhkGWW3OGiAYX0YAAEigOs_p9w6312.jpg)
![相关平台智慧家庭集成指导_第3页](http://file4.renrendoc.com/view10/M02/0B/03/wKhkGWW3OGiAYX0YAAEigOs_p9w6313.jpg)
![相关平台智慧家庭集成指导_第4页](http://file4.renrendoc.com/view10/M02/0B/03/wKhkGWW3OGiAYX0YAAEigOs_p9w6314.jpg)
![相关平台智慧家庭集成指导_第5页](http://file4.renrendoc.com/view10/M02/0B/03/wKhkGWW3OGiAYX0YAAEigOs_p9w6315.jpg)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2017。保留一切权利商标声2017。保留一切权利商标声注华为技术有限公i应用集应用集成(IoTPlatform北向应用 上传Profile资源 根据Profile修改设备信 1.13附 应用集成(APP 2.1概 APP开发指 2.5参 应用集成(APP 3.1概 APP开发指 参考 网关集 华为IoTAgent集成开发指南(网关 4.1.1概 4.1.5调测开发结4.1.5调测开发结 4.1.6参 华为IoTWindows安装网关Agent指 安装华为网关 Agent调 华为IoT树莓派RaspberryPi安装网关Agent指 安装华为网关 Agent调 华为IoTAgent集成开发指南(Z- 5.1.1概 5.1.6参 华为IoT设备资源包开发指 5.2.1概 华为IoTAgent集成开发指南 6.1.1概 ZigBee传感器开发操作指 6.1.6参 6.2华为IoT设备资源包开发指 6.2.1概 6.2.2写作设备能力Profile及服务能力 设备集成 7.1概 开发AgentIPC配置文 在摄像头中预制Agent 1应用集成(IoTPlatform北向应用1应用集成(IoTPlatform北向应用 1应用集成(IoTPlatform北向应用上传Profile根据Profile绑定设备(设备上线11应用集成(IoTPlatform北向应用1.11应用集成(IoTPlatform北向应用1.11.2概述及前期准推荐强烈建议开发者花10分钟的时间阅读一下OceanConnect开放能力的相关基本概念为IoTOceanConnect生态集成开发入门指南.doc》。开发求华为开发者社区OceanConnect论坛查找答案或发贴华为开发者社区个人中心->我的提单->提交问题(选择产品“物联网21应用集成(IoTPlatform北向应用2个人中心->1应用集成(IoTPlatform北向应用2个人中心->前期步骤步骤应用对接的平台IP和端AppId和密开发者Portal(待上线)的账号一般情况下,MAR审批完成后OpenLab会主动发布对接信息给开如果在MAR电子流审批后,没有收到OpenLab对接信息,您可以发送MAR电子流IDmailto:iotadmin@以索取环境对接信息步骤31应用集成(IoTPlatform北向应用华为IoTPlatformAPI参考(北向华为IoTPlatform1应用集成(IoTPlatform北向应用华为IoTPlatformAPI参考(北向华为IoTPlatformLiteProfile资源包样例(待上线1.3开发环境准步骤安装下载jdk-8u131-windows-x64.exe,双击安装,选择路径后,默认安装说Java环境变量配置请参考配置Java环境变量帖步骤安装.说/downloads/packages/eclipse-ide-java-步骤打开Eclipse,选择菜单File->New->Project,在弹出的对话框中选择JavaProject,点击Next(本文档以JavaProject为例,可以根据实际情况选择其他工程,如果您已有自己41应用集成(IoTPlatform1应用集成(IoTPlatform北向应用填写工程名,注意选择JRE版本为1.8,点击Finish51应用集成(IoTPlatform北向应用步1应用集成(IoTPlatform北向应用步骤61应用集成(IoTPlatform北向应用1应用集成(IoTPlatform北向应用会发现src目录下多出几个包,且工程会有很多错误右击工程名,在右键菜单中选择Properties。在弹出的对话中依次选择JavaBuildPath->LibrariesAddJARs,进入工程目录\Opensourcecomponents,选中所有的jar,最后点71应用集成(IoTPlatform北向应用1应用集成(IoTPlatform北向应用1.4调用鉴权接在调用接口前要先修改平台IP端口、appId和密码等常量的值打开Constants.java,修改如下常量的值说81应用集成(IoTPlatform北向应用取得1应用集成(IoTPlatform北向应用取得accessToken说明鉴权成功,得到的accessToken会在调用其他接口时使用到说accessToken会在expiresIn所标志的时间内过期,expiresIn的单位为的refreshToken来获取新的accessToken。RefreshToken接口请参考API文档和样例代码中的LiteDemo中还提供了各接口调用的抓包示例,参见\demo_TCP_message.json1.5订阅平台消平台将设备消息分类推送给北向应用(具体可参考API文档中“Application订阅平台数91应用集成(IoTPlatform北向应用右击SubscribeNotification.java,选择Run1应用集成(IoTPlatform北向应用右击SubscribeNotification.java,选择RunAsJavaApplication,就可以在控制台看到说1应用集成(IoTPlatform北向应用1.6注册直连设打开1应用集成(IoTPlatform北向应用1.6注册直连设打开RegisterDirectlyConnectedDevice.java,修改verifyCode/nodeId和timeout的值timeout0timeout0,真实设备必须在设置的时间内上线,否则注册的设备会过期而被同样,右击RegisterDirectlyConnectedDevice.java,选择RunAsJavaApplication,就说1.7Profile资源登录开发者Portal(待上线)后,在设备管理->模型->导入模型页面上Profile资源包1应用集成(IoTPlatform北向应用说1应用集成(IoTPlatform北向应用说1.8Profile修改设备信同样,右击ModifyDeviceInfo.java,选择RunAsJavaApplication,就可以在控制台看1应用集成(IoTPlatform北向应用说1应用集成(IoTPlatform北向应用说绑定设备(设备上线说1应用集成(IoTPlatform北向应用1应用集成(IoTPlatform北向应用1应用集成(IoTPlatform北向应用1应用集成(IoTPlatform北向应用是否上线。具体使用方法请参考QueryDeviceData.java、QueryDevices.java及API1.10创建设备命打开PostAsynCommandV4.java,将修改deviceId为注册设备时得到的deviceId右击PostAsynCommandV4.java,选择RunAsJavaApplication,就可以在控制台看到说下发请参考Step10。1应用集成(IoTPlatform北向应用设备数据上1应用集成(IoTPlatform北向应用设备数据上报和平台命令为了方便开发者了解接收到的平台推送消息内容,LiteDemo中提供了一个简单的说1应用集成(IoTPlatform北向应用1应用集成(IoTPlatform北向应用1.12更多内更多平台开放能力请参见OceanConnect开发者中心1.13测试平台北由于最新版本的Postman不支持https接口测试,此方法只适用于http协议的接口测试1应用集成(IoTPlatform北向应用配1应用集成(IoTPlatform北向应用配置http方法、URL和头返回的消点击Send按钮,就能在下方看到返回码及消息内容。将返回的内容(尤其accessToken)复制并保存起来,以备后续调用其他接口时使用1应用集成(IoTPlatform北向应用配置1应用集成(IoTPlatform北向应用配置http方法、URL和头配置返回的消1应用集成(IoTPlatform北向应用1应用集成(IoTPlatform北向应用配置http方法、URL和头配置返回的消1应用集成(IoTPlatform北向应用1应用集成(IoTPlatform北向应用单步调测、查看当程序运行到我们设置的断点时就会停下来,使用StepOver按钮运行到如图所示的位1应用集成(IoTPlatform北向应用1应用集成(IoTPlatform北向应用1应用集成(IoTPlatform北向应用Response1应用集成(IoTPlatform北向应用Response内容如下说如果调用的类不是aResume按钮使程序向下运行,直到断点再第二次命中execteHtpRequeshttp/httppr按钮运行到如下图所示的位置再查看变量内容。1应用集成(IoTPlatform1应用集成(IoTPlatform北向应用在Variables窗口中展开request变量1应用集成(IoTPlatform1应用集成(IoTPlatform北向应用Response内容如下1应用集成(IoT1应用集成(IoTPlatform北向应用2应用集成(APP2应用集成(APP 2应用集成(APPAPP开发指2应用集成(APP2.12应用集成(APP2.11.2.忽略业务和交互,关注界技术要求低,集对开发人员的技术要求低,只需要最基本的UI控件使用,即可快速开发一款APP3.2、服务2应用集成(APP3、属性2.2开发环1.开发环境要2应用集成(APP3、属性2.2开发环1.开发环境要JDK版本对应Android开发工具基本要求如AndroidSDKPlatformTools相关工具与AndroidJAR包打包相关,JDK版本升级后,2.SDKAPPDemo目录结目说││││存放SDKAPPDemo存放ca.pem AndroidSDKAndroidStudio1.4或以上版本Android手2应用集成(APP2.3准备开获取软2应用集成(APP2.3准备开获取软集成SDK的demo工程示其他相IoTAPPSDKAPI接口文档IoTAgentlite2.4APP开发指开发开发者可直接将导入andoiddo学习如何调用接口实现基本业务。也可以基于上进行开发,完善各个业务的实现。只是简单的演示接口的调用,上的架构粗糙,上的编排也比较简单,建议新建一个工程来开发,新工程搭建见新建Andro工程.考《华为IoTAPPSDK集成开发高级指南》和IoTAPPSDKAPI接口文档。SDKAPPDemo目录结目说│││存放so2应用集成(APPdemo2应用集成(APPdemo说开发人员可以导入Demo到Androidstudio上,查看具体接口调用示例,也可以基于Demo上开发,发人员新建Android项目开发。拷贝并解压SDKDemo到本地,按下面步骤导入android工程在打开的界面中选择找到SDKDemo选中点击demo2应用集成(APP2应用集成(APP运行成功studio上会弹出一个框,选择你联接的手机型号点击ok,手smartHome的应用2应用集成(APP2应用集成(APPAndroid工说用户可以用Androidstudio新建一个Android工程来开发App,实现自己需要的UI布局和风格。以新建AndroidPackagename。Packagename为应用程序包名。每一2应用集成(APP2应用集成(APP2应用集成(APP2应用集成(APP放第三方的jar包和so库。点击file—>newModule,选择AndroidLibrary。新建成功2应用集成(APP2应用集成(APP2应用集成(APP添加依赖库,将模块2应用集成(APP添加依赖库,将模块hb作为模块ap的依赖,添加依赖后,模块app的就可以引用hby模块中的ja包和库。打开fil选择otuue选项出现一个弹框,弹框里选择ap,点击右侧绿色加号选择edeendency把hby添加为依赖。2应用集成(APP2应用集成(APP2应用集成(APP基础业1.SDK场2应用集成(APP基础业1.SDK场景描述代码示例2.场景描述代码示例{publicvoidonSuccess(Class<Void>voidClass){}publicvoidonError(inti)LogApi.d(TAG,"Loginfailed,TheerrorCodeis"+i);StringfailedDesc="";switch(i){failedDesc=casecasefailedDesc=SysApi.setConfig(SysApi.SYS_CFG_NA_SERVER_IP,"naip");SysApi.setConfig(SysApi.SYS_CFG_NA_SERVER_PORT,"naport");SysApi.setConfig(SysApi.SYS_CFG_MQTT_SERVER_IP,"mqttip");SysApi.setConfig(SysApi.SYS_CFG_OPERATION_TIMEOUT_TIME,"60");2应用集成(APP3.场2应用集成(APP3.场景描述接的网关且没有被其他用户绑定。初始化网关和注册网关参考agentlite和IOT管理平台DeviceApi.registerDeviceToCloud(editText,new{publicvoidonSuccess(Device{hideProgress();}publicvoidonError(int{hideProgress();}publicvoid{casefailedDesc=case}}publicvoid{LogApi.d(TAG,"Logintimeout");hideProgress();}}2应用集成(APP2.5常见问2应用集成(APP2.5常见问题1、检查wifi是否和IOT平台处于同一网段2、检查HAIP是否输入与IOT平台提供的IP地址不一致二1、检查IOM.cer,UDS.cer是否导名词IoT联接管Toast.makeText(mContext,getString(R.string.base_time_out),}3应用集成(APP3应用集成(APP 3应用集成(APPAPP开发指参考3应用集成(APP3.11.3应用集成(APP3.11.能力概2.技术优忽略业务和交互,关注界技术要求低,集对开发人员的技术要求低,只需要最基本的UI控件使用,即可快速开发一款App3.通讯原理3应用集成(APP服务3应用集成(APP服务属性3.2开发环iPhone真MAC系统电也可以是PC机和MACmimi搭配使用,总之需要能够运行Xcode工具,并且Xcode的版本不低于6.0,Xcode是进行iOS开发的工具,Xcode可以在AppStore上下载,也可以直开发者账号及用账号生成的相应的证书和配置首先苹果公司规定进行iOS开发必须要有开发者账号(AppleDeveloperAccount),开3.3准备开获取软5、集成SDK的demo工程示其他相1、IoTAPPSDKAPI3应用集成(APP3应用集成(APP2、IoTAgentlite3、IoTAPPSDK3.4APP开发指开发SDK配置文件,即P12证书和Provisioningprofile。然后向SDKdemo导入该证书和配置文件,并修改Bundleidentifier为配置文件配置的BundleID。下图为配置bundleID和证书3应用集成(APP新建3应用集成(APP新建工程创导入将整个SDK包用鼠标拖拽到工程项目中,如图所示3应用集成(APP3应用集成(APP依赖库添导入证3应用集成(APP3应用集成(APP双击TARGETS的BuildSetting中的OtherLinkerFlags行,输入-并在该行下添加一子行:AllowArbitrayloads,Type设置为Boolean,值为YES:导入真机调试证书,修改申请真机调试证书(可参考htp://blg.csdnne/ycz/arice/detils/22962433,将证书和配置文件双击导入工程,并修改BundeI为调试证书注册的bundId导入K。基础业1.SDK场景描述API接口进行初始化,如想要调用登陆接口之前必须调用[LoginApiinit]。3应用集成(APP代码示例3应用集成(APP代码示例SYS_CFG_NA_SERVER_IP值为IOT管理平台的HAIP值;2.场景描述APP在启动完成,并且初始化SDK设置好参数后进入代码示例[LoginApilogin:@"008613333333333"password:@"Aa123123"//login}failure:^(longerrorCode)[self}if(errorCode==ERROR_CODE_LOGIN_AUTH_FAILED)//authfail,accountorpassword}elseif(errorCode==ERROR_CODE_LOGIN_ACCOUNT_INACTIVE)//inactive}elseif(errorCode==ERROR_CODE_LOGIN_ACCOUNT_LOCKED)//account{self.verifyCodeImageView.image=}failure:^(longerrorCode)[LogApii:@"getverifycode"msg:@"loadverifyimage}[LogApii:@"getverifycode"msg:@"loadverifyimage}elseif(errorCode=={[LoginApigetVerifyCodeForLogin:^(UIImage*_Nonnullimage){self.verifyCodeImageView.image=image;}failure:^(longerrorCode)[LogApii:@"getverifycode"msg:@"loadverifyimage}[LogApii:@"getverifycode"msg:@"loadverifyimage}elseif(errorCode==ERROR_CODE_LOGIN_VERIFY_CODE_EXPIRED)//verifycode}elseif(errorCode==ERROR_CODE_LOGIN_TRUST_DEVICE_UNREGISTER)//loginonnottrust//nextloginneedputparamLOGIN_EXTENDING_PARAM_TRUST_DEVICE_VERIFY_CODEinto[SysApi[SysApisetConfig:SYS_CFG_NA_SERVER_IPvalue:@""];[SysApisetConfig:SYS_CFG_NA_SERVER_PORTvalue:@""];[SysApisetConfig:SYS_CFG_MQTT_SERVER_PORTvalue:@""];3应用集成(APP3.绑定网场景描述3应用集成(APP3.绑定网场景描述开发描述代码示例3.5参考常见问题––––检查wifi是否和IoT平台处于同检查info.plist是否打开https开关登陆成功,无法发送HTTP请检查info.plist是否打开https开关检查IOM.cer名词IoT联接管*device)//bindgateway}failure:^(longerror)//bindgateway}//bindgateway}}3应用集成(APP3应用集成(APP44网关集44网关集华为IoTAgent集成开发指南(网关华为IoT树莓派RaspberryPi安装网关Agent44.1IoTAgent集成开发44.1IoTAgent集成开发指南(网关4.1.1概能力通过华为提供的IoT联接管理平台(以下统称为平台)、网关开放AgentAPI和测试4-总体开Agent开发流程如下确认是否需要新增设备描述文件ProfileAgent侧适配开发。参考Demo或基于Demo修改以满足所4 使用测试APP说4 使用测试APP说4.1.2相关华为开发者社区官技术4.1.3开发准备准备软开发平开发环配套要推荐的操作Version:MarsReleaseMaven插件:m2eMavenIntegration4准备说B),还需4准备说B),还需要购买dongle(ZWave:推荐AEOTECZ-STICKS2Model:DSA002203;ZigBee:EM357/EM358芯片。购买后需要给USBdongle刷ZigBee芯片原厂固件)、8G以上MicroSD卡,为网关Agent方法,请参考《华为IoT树莓派RaspberryPi安装网关Agent指导.docx》。准备待确认是否需要新增名描获取方华为IoT树莓派RaspberryAgent的安装过程(Service)类型4说判断新增的设备是否需要新增4说判断新增的设备是否需要新增Profile,请参考《华为IoT设备能力描述文件profile开发 家庭网关集成开发指场景主要章节介绍将IOTAgent集成到第三方网关的应用场景,IOTAgent提供物联网协议不需要支持不需要通过LED灯显示Agent状基本OTA升级:通过网络(包括WIFI、4G)自动下载升级包、自动升4开发详细4开发详细JVM支持java1.7,支持下面JDK名规ARM600MHZ或同等性能的其他CPU提供给IOTAgent的Flash空间大于大于4步骤IOTAgent的ZWave/ZigBee串口通讯、IPC音视频等功能模块以动态库的形式提供,将4步骤IOTAgent的ZWave/ZigBee串口通讯、IPC音视频等功能模块以动态库的形式提供,将当前已支持ARM、WINDOWS32、WINDOWS64的动态库步骤步骤参考zh-cn_topic_0035522430.html,导入家庭网关生态Demo程息,然后调用notifyTopic(finalStringtopic,finalMap<String,String>props)上报事接收硬件事件,转换为对应的**@since2015年10月17@parammsgContent@returnpublicvoidOnMessage(String{if4{Stringtopic=Map<String,String>props=newHashMap<String,4{Stringtopic=Map<String,String>props=newHashMap<String,String>();↵if(msgContent.contains("NOTIFY_UPDATE_START")){props.put("status","upgrading");}{logger.error("Unsupportmessage:{}",}}}步骤IoTAgent以软件方式安装到网关中;第三方网关固件支持OTA升级和回退,并提供固件升升级服务器支持通过MAC地址索引网关,方便与IoT平台上的网关对IoTAgentbundle升级和回退由IOT平台负责步骤开发参考AgentDemo(GW).zip中的将IOTAgent集成到树莓派网关的Demo44.1.5调测开发APP步44.1.5调测开发APP步骤注步骤步骤4步骤4步骤4上传调测4上传调测调步骤1登录App4步骤输4步骤输入已注册的账号信息,并单击“登录”4步骤34步骤3进入设备列表标签页,单击“添加设备”444步骤54步骤5成功绑定网关后,进入设备列表标签页,单击“添加设备”,进入设备添加页面44444步骤64步骤6444开发者可以根4开发者可以根据APP的页面提示完成其他4.1.6参Demo步骤1在Eclipse的PackageExplorer窗口右键单击选择“Import”4步骤4步骤->4步骤3选择导入路径为demo工程的解压目录,在Project栏选择对应的工程,如4步骤3选择导入路径为demo工程的解压目录,在Project栏选择对应的工程,如Z-Wave传感器Agent基础解压Agent发布包到PC机,打开Eclipse开发工程,按照下面步骤导入Agent基础包步骤在Eclipse的Explorer窗口右键单击选择“Import”步骤4步骤对话框中选择导入包4步骤对话框中选择导入包的目录为Agent发布包解压目录下的Preload子目录,如下步骤4Bundle步4Bundle步骤1在eclipse的PackageExplorer窗口在开发的Project上单击右键选择“RunAs–Maven4步骤4步骤生成的jar包路径在Console窗口的Installing过程中有指示,如下图所上传在PC机安装Winscp工具步骤下载链接:/eng/download.php4步骤步骤如果上传配置文件,请上传到IoTAgent4步骤步骤如果上传配置文件,请上传到IoTAgent4.2IoTWindows安装网Agent4.2.1系统本章节介绍如何配置Windows使其可以安装网关AgentJava运行环华为网关Agent如果在Windows上运行需要有Java运行环境,在shell中输入java 步骤首先在oracle官网下载JavaSDK,根据pc情况选择下载对应的32bit或64bit4-2JavaSDK步骤说打开cmd窗口,执行java出现类似报告则说明Java环境配置成4.2.2安装华为网关javaversion"1.8.0_91"Java(TM)SERuntimeEnvironment(build"1.8.0_91-b14)JavaHotSpot(TM)ClientVM(build25.91-b14,mixedmode)4)编辑D:\agent\目录4)编辑D:\agent\目录下的IOTAgentCperties文件,一般配置以下aa:bb:c1:dd:ee:ff,则将MAC地址中冒号去掉后,此条配置项写为下 platformIP联系华为IoT管理员提供,支持邮箱为使用记事本打开IOTAgentCperties文件,文件最新内容类似输入如下命令调用start.bat脚本即可启动网关Agent4.2.3Agent调验证网关启动正网关启动后,执行"lb"命令,出现以下标识时说明启在cmd窗口中输入lb并回车,可以查看bundle运行g!cdD:\agent\启动#ThuJan1218:25:50UTCmqttPort=端口号(端口号保持安装完Agent后的默认值即可)httpPort=端口号(端口号保持安装完Agent后的默认值即可)参数必选/描4绑定可通过绑定网关是否成功4绑定可通过绑定网关是否成功的方法,来判断Agent软件运行是否正常。步骤如步骤步骤用网关Agent启动方法启动网关Agent用树莓派网关MAC地址(如aabbc1ddeeff)生成二维码https:///网站生成步骤Agent可用4.2.4问:不能连接到zwaveport答:检查有无插dongle问:INFOItseemsnetworkispoor,retrysendcommandafter30000STARTLEVEL 0|SystemBundle 1|com.huawei.m2m.gateway.dm(1.1.72) 1|com.huawei.m2m.gateway.service(1.1.72) 1|com.huawei.m2m.gateway.storage(1.1.72) 1|com.huawei.m2m.gateway.transport(1.1.72) 1|Gson(2.3.1) 1|ApacheFelixBundleRepository 1|ApacheFelixConfigurationAdminService(1.2.4) 1|ApacheFelixEventAdmin(1.3.2) 1|ApacheFelixGogoCommand(0.14.0) 1|ApacheFelixGogoRuntime(0.12.1) 1|ApacheFelixGogoShell(0.10.0) 1|ApacheFelixDeclarativeServices(1.8.2) 1|org.eclipse.smarthome.core4IoT4IoT树莓RaspberryPi安装网Agent开发者必概关于树莓派的更多信息,可通过树莓派官网https://了解传感器可以识别的消息格式,与传感器进行交互,详情参见《华为IoTAgent集成开发开发者开发流程开发者可参考如下开发流程图集成华为网关Agent44Agent调测:测试安装好的华为网关Agent,确认其是否如进行集成设备开发。设备集成的方法,可参考《华为IoTAgent集成开发指南》文树莓派安装示意44.3.2准备购44.3.2准备购买树莓派及配用于安装网关Agent。树莓派有多种型号,推荐使用树莓派三代B4-5Raspberry3ModelMicroSD卡4用于连接树莓派4用于连接树莓派及计算机,使计算机可以访问树莓派以安装网关AgentUSB连接线、接USB口充电器计算机,推荐使用Windows计算机卡。推荐集成Z-Wave或ZigBee设备时需要购买Dongle4.3.3系统本章节主要介绍如何从官网下载系统镜像,并通过MicroSD卡安装树莓派系1.4-6Raspbian2.连接Windows计算机写入树莓派系统镜像,具体步骤4运行4-74运行4-74选择MicroSD卡盘符4选择MicroSD卡盘符点击Write写入镜像到MicroSD卡,完成后会弹框提示参考树莓派安装示意图将已写入镜像的o卡插入树莓派接口⑤,用线连接电源接口④给树莓派上电,正确连接电源后,在电源接口④不附近会有红灯常亮。说4.3.4系统本章节介绍如何配置树莓派已安装好的系统已使其可以安装网关Agent系统XshellPuTTY4说4说ROOT权sudopasswd 系统初扩展系统使用空登录树莓派后,在shell中执行root@raspberrypi:/home/pi#sudoraspi- ?.SetupChangeUser ChangepasswordforthedefaultuserEnableBoottoDesktop/ScratchChoosewhethertobootintoadesktopenvironment,Scratch,orthecommand-lineInternationalisation SetuplanguageandregionalsettingstomatchyourEnable EnablethisPitoworkwiththeRaspberryPiAddto AddthisPitotheonlineRaspberryPiMap ConfigureoverclockingforyourAdvanced ConfigureadvancedAboutraspi- Informationaboutthisconfiguration sudopasswd--unlockrootpi@raspberrypi~$sudopasswdrootEnternewUNIXpassword:RetypenewUNIXpasswd:passwordupdatedsuccessfullypi@raspberrypi~$sudopasswd--unlockrootpasswd:passwordexpiryinformationchanged.pi@raspberrypi~$su4选择”OK”后再点击Enter键返回主4选择”OK”后再点击Enter键返回主重新开启SSH登录权如果SSH在关闭状态不能用于登录,我们可通过如下配置将其重Java运行环华为网关Agent如果在树莓派上运行需要有Java运行环境,在shell中输入首先在oracle官网下载JavaSDK,需下载linuxARMHardFloatjavaAdvancedA1Overscan YoumayneedtoconfigureoverscanifblackbarsarepresentondisplayA2Hostname SetthevisiblenameforthisPionanetworkA3MemorySplitChangetheamountofmemorymadeavailabletotheA5SPI Enable/DisableautomaticloadingofSPIkernelmodule(neededfore.g.PiFace)A6Audio ForceaudiooutthroughHDMIor3.5mmjackA7 Updatethistooltothelatest ?.WouldyouliketheSSHserverenabledor ?.SSHserver ?.SetupExpand EnsuresthatalloftheSDcardstorageisavailabletotheChangeUser ChangepasswordforthedefaultuserEnableBoottoDesktop/ScratchChoosewhethertobootintoadesktopenvironment,Scratch,orthecommand-lineInternationalisation SetuplanguageandregionalsettingstomatchyourEnable EnablethisPitoworkwiththeRaspberryPiAddto AddthisPitotheonlineRaspberryPiMap Configureoverclockingforyour9Aboutraspi- Informationaboutthisconfiguration ?.Rootpartitionhasbeen ?.Thefilesystemwillbeenlargeduponthenext 44-12JavaSDK44-12JavaSDK之后通过Xshell的Xftp上传至/homel/pi/目录4如果上传失败提示”Permissionis4如果上传失败提示”Permissionisnot使用”sudochmod777home/pi/pi@raspberrypi~$tar–zxvfjdk-8u91-linux-arm32-vfp- 复制文件到/usr/local目录pi@raspberrypi~$sudocp-rjdk1.8.0_91/ pi@raspberrypi~$sudonano exportexportPATH=$JAVA_HOME/bin:$PATHpi@raspberrypi~$sudochmod777/home/pi/pi@raspberrypi~$44.3.5安装华为网关44.3.5安装华为网关1.Agent启节),再执行下面的命令将Agent安装包放到树莓派上的Agent工作目录把Agent包IoT_Agent_RaspberryPi_*.zip上传至unzippackage.zipchmod750-Rcdmkdirsudochmod777/opt/IoT_Agent/cd/opt/IoT_Agentjavaversion"1.8.0_91"Java(TM)SERuntimeEnvironment(build"1.8.0_91-b14)JavaHotSpot(TM)ClientVM(build25.91-b14,mixedmode)pi@raspberrypi:~$source#/etc/profile:filefilefortheBourneshell(sh(1))#andBournecompatibleshells(bash(1),ksh(1),ash(1),...).if["`id-u`"-eq0];thenexportif["$PS1"];if["$BASH"]&&["$BASH"!="/bin/sh"];#Thefilebash.bashrcalreadysetsthedefaultPS1.#PS1='\h:\w\$'if[-f/etc/bash.bashrc];.if["`id-u`"-eq0];thenPS1='#'PS1='$#Thedefaultumaskisnowhandledbypam_umask.#Seepam_umask(8)and/etc/login.defs.if[-d/etc/profile.d];thenforiin/etc/profile.d/*.sh;doif[-r$i];.exportexportexport4配置Agent自启动任4配置Agent自启动任 编辑/opt/IoT_Agent/目录下的IOTAgentCperties文件,一般配置aa:bb:c1:dd:ee:ff,则将MAC地址中冒号去掉后,此条配置项写为下 platformIP联系华为IoT管理员提供,支持邮箱为使用如下命令打开IOTAgentCperties文件pi@raspberrypi/opt/IoT_Agent$sudonano 参数必选/描#Thisscriptisexecutedattheendofeachmultiuserrunlevel.#Makesurethatthescriptwill"exit0"onsuccessoranyother#valueonerror.##Inordertoenableordisablethisscriptjustchangetheexecution#bits.##Bydefaultthisscriptdoesnothing.#PrinttheIPaddresssu-lpi-c"startx_IP=$(hostname-I)||trueif["$_IP"];thenprintf"MyIPaddressis%s\n""$_IP"/opt/IoT_Agent/startPi.shexit4输入如下命令调用startPi.sh脚本即可启动网关Agentpi@raspberrypi4输入如下命令调用startPi.sh脚本即可启动网关Agentpi@raspberrypi/opt/IoT_Agent$ 说“whereisjava“。首次调用startPi.sh脚本,会出Press1ifit'sZigBee,Press2ifit'sZ- 说4.3.6Agent调验证网关启动正网关启动后,执行”ps–ef|grepjava绑定可通过绑定网关是否成功的方法,来判断Agent软件运行是否正常。步骤如https:///网站生成root@raspberrypi:/opt/IoT_Agent#ps-ef|grep 17504:48pts/2 00:00:28/usr/bin/java-Xms64m-Xmx64m-Djava.library.path=:/opt/IoT_Agent/lib-Dgosh.args=--nointeractive-jar/opt/IoT_Agent/bin/ 32733187004:49 00:00:00grep#ThuJan1218:25:50UTCmqttPort=端口号(端口号保持安装完Agent后的默认值即可)httpPort=端口号(端口号保持安装完Agent后的默认值即可)#aboveiszigbeeconfig##aboveiszigbeeconfig444.3.7问:Xshell显示找不到匹配的outgoing[:答:系统默认sh不识别此符合组合,用bash问:Clockskewdetected.Yourbuildmaybeincomplete.答:findtypef|xargsn5touch问:不能连接到zwave答:检查有无插问:INFOItseemsnetworkispoor,retrysendcommandafter30000IoTAgent集成开发指南.doc》中相关的开发操作指导章节中的“配置开发接入”或问:如何通过外接显示器、键盘的方式访问树44华为IoTAgent集成开发指南(Z-华为IoTAgent集成开发指南(Z-5.1IoTAgent集成开发指南5.1IoTAgent集成开发指南(Z-5.1.1概能力通过华为提供的IoT联接管理平台(以下统称为平台)、网关开放AgentAPI和测试5-总体开Agent开发流程如下确认是否需要新增设备描述文件ProfileAgent侧适配开发。参考Demo或基于Demo修改以满足所 使用测试APP说 使用测试APP说5.1.2相关华为开发者社区官技术5.1.3开发准备准备软开发平开发环配套要推荐的操作Version:MarsReleaseMaven插件:m2eMavenIntegration准备说B),还需要购准备说B),还需要购买dongle(ZWave:推荐AEOTECZ-STICKS2Model:DSA002203;ZigBee:EM357/EM358芯片。购买后需要给USBdongle刷ZigBee芯片原厂固件)、8G以上MicroSD卡,为网关Agent方法,请参考《华为IoT树莓派RaspberryPi安装网关Agent指导.docx》。准备待确认是否需要新增名描获取方华为IoT树莓派RaspberryAgent的安装过程(Service)类型说判断新增的设备是否需要新增Profile,请参考《华为IoT设备能力描述文件profile开发说判断新增的设备是否需要新增Profile,请参考《华为IoT设备能力描述文件profile开发5.1.4Z-Wave传感器开发操作操作足AgentLite的运行条件,开发方法相同。导入Demo后,需要修改Demo,具体化自己说导入demo的详细操作步骤,请参考导入Demo工程Bundle是指一个包含java类和其他资源的jar包子工程子工程子工程步骤“Refactor>Rename”,在弹出的对话框中修改project的名称。步骤步骤步骤按上面的例子,这里对应的包名为步骤按上面的例子,这里对应的包名为步骤4说务必在完成上面全部修改后再保存和编译工程,如果出现子工程丢失(步骤4说务必在完成上面全部修改后再保存和编译工程,如果出现子工程丢失(PackageExplore中不可bundle步骤在Eclipse的PackageExplorer窗口在开发的Project上单击右键选择“RunAsMaven步骤步骤步骤上传到树莓派网关,运行bundle。下面以在PC机上传文件到树莓派为例说明1、在PC机安装Winscp工3、使用Winscp工具连接树莓派网关,默认账3、使用Winscp工具连接树莓派网关,默认账号密码步骤适配概上传感器场景1免开Agentbundle直接接定义上传APP说支持的传感器情况,请咨询华为IoT客服,邮箱:iotadmin@《SDS12652-9Z-WaveCommandClassSpecificationN-Z.pdf》场景2配置定义上传APP定义Agentbundle,上传到Agent说具体如何通过bundle配置转换规则请参考配置开发接入场景3定制定义上传APP定义上传APP4)通过APP调测,修改Agentbundle配置开发接下面结合开发Demo说明4个要素的定义位置,如下图传感器的创建:在CreatDevice.xml中,定义传感器的类开发网Agent插件1.定义传感器的标thingTypes开发网Agent插件1.定义传感器的标thingTypes标签中传感器标识解释如下表2.定义传感器类在CreateDevice.xml中定义传感器类型参数名参数解参数名参数解传感器型号插座-->插座-->插座-->说3.传感器的控说参数名说3.传感器的控说参数名参数解说IoT平台支持的服务(service)的定义表示Agent收到的控制命令的status字段<commandmethod="SWITCH"<statusif="command.body.status==<statusif="command.body.status==说服务(Service)有显示定义的Command,如下图中的OPNE、CLOSE、STOP三个命令;另外properties也可以用Command来操作,其Method可能是GET或者PUT,规则如下当其method值含“W”可写时,我们默认该服务含有PUT命令,即,通过PUT方法可以设置这properties的值4.传感器的数据上{"serviceType":"WindowCovering","description":"WindowCoveringOpenClose","commands":[{"paras":null},"paras":null},"paras":null}"properties":{}]}5.开发样例(Demo库定制开基本概如下图,相对于配置开发,定制开发增加了java和OSGi服务配置<stateReport<statusif="value>=0x63<statusif="value==0x00说OSGi规范描述了一说OSGi规范描述了一个JAVA语言的模块化的系统,一个完整的和动态的组件模型的服务平主要的Java类(Class)及其作用如下开发网关的Agent插件开发流开发网关的Agent插件开发流<?xmlversion="1.0"encoding="UTF-deactivate="deactivate"immediate="true"<implementation<provide<propertyname="thingTypeUID"type="String"value="zwave:SetpointThermostat-0002-0005-public{}参参数说ThirdSnsorhingHadle和ThermostaSetpoitComanIoT平台下发的控制命令。ThermostatSetpontComanClas,按照这个模板来构造新的Classprivategagetemperatuo平台定义的控制命令接口中Bodyfiel名即可,同时生成ge/se方法,getnsorhingHadle的handeIoTuefield对应的ZWaveNode对象和控制命令通过参数传入,通过if(commandinstanceof数据上报接Stringtemperaturecommand.targetTemperature();if(checkParameter(temperature)){//构造Z-Wave命令,把参数传入或转化后传byte[]value=TemperatureEncodeString2ByteArray.encodeHex(temperature);ThermostatSetpointSetthermostatSetpointSet=newThermostatSetpointSet();}publicvoidhandleSpecificCommand(ZWaveNodenode,Command{("ThirdSensorThingHandlerif(commandinstanceof{handleThermostatSetpointCommand(node,}}第一个参数是nodeKey,用于标识一个传感器第一个参数是nodeKey,用于标识一个传感器eclipseSmartHome的DecimalType上报。结合StateReport.xml,知,本传感器通过通道targetTemperature上报数据,和数据类型是string,格式为一位小数浮点数,如”21.5˚C”。格式化后说服务类上报数据命控制命门磁(Door动感BasicBasicReport水感<stateReportnewDecimalType(value));publicvoidhandle(ZWaveNodenode,ZWaveCommand{if(commandinstanceof{ThermostatSetpointReportreport=(ThermostatSetpointReport)command;handleThermostatSetpointReportCommand(node,report);}}业务触设备类型服务门磁(Door业务触设备类型服务门磁(DoorHumidity/Motion)烟感中继器One蜂鸣器门锁恒温器服务类上报数据命控制命烟感中继器门锁车库卷闸BasicReportBasicSwitchColorReportNotificationReportBasicReportBatteryBasicSetBasicSetSwitchColorDoorLockOperationSetSwitchMultilevelSet电量当前Agent支持如下业务触发点,可使传感器在指当前Agent支持如下业务触发点,可使传感器在指定业务触发点执行需要的Demo中的业务触发部分,实现了修改传感器Interval的配置,如publicvoidexecute(String{ZWaveNodenode=ZwaveControllerFactory.getZwaveController().getNodeByNodeKey(nodeKey);LOGGER.info("Node:{}hasaddsuccess",node.getNodeId());publicvoidnotifyListeners(EventTypeevent,StringthingID){switch(event){case{}caseADDED:break;caseREMOVED:break;}}参参数说publicinterface{enum{CONFIG,}voidnotifyListeners(EventTypeevent,String}publicinterface其中SensorID其中SensorID是记录了传感器标识,通过字符串对比判断是否是开发样例(Demo库5.1.5调测开发APP步骤注步骤ThingTypeUIDthingTypeUID=if{WakeUpIntervalSetwakeUpIntervalSet=newcontrollernodeid}}步骤步骤步骤步骤上传调测上传调测调步骤1登录App步骤输入已步骤输入已注册的账号信息,并单击“登录”步骤3步骤3进入设备列表标签页,单击“添加设备”步骤5步骤5成功绑定网关后,进入设备列表标签页,单击“添加设备”,进入设备添加页面步骤6步骤6开发者可以根据APP开发者可以根据APP的页面提示完成其他5.1.6参Demo步骤1在Eclipse的PackageExplorer窗口右键单击选择“Import”步骤->步骤->步骤3选择导入路径为demo工程的解压目录,在Project栏选择对应的工程,如Z-Wave传感器步骤3选择导入路径为demo工程的解压目录,在Project栏选择对应的工程,如Z-Wave传感器Agent基础解压Agent发布包到PC机,打开Eclipse开发工程,按照下面步骤导入Agent基础包步骤在Eclipse的Explorer窗口右键单击选择“Import”步骤步骤对话框中选择导入包的目步骤对话框中选择导入包的目录为Agent发布包解压目录下的Preload子目录,如下步骤Bundle步骤1Bundle步骤1在eclipse的PackageExplorer窗口在开发的Project上单击右键选择“RunAs–Maven步骤生成步骤生成的jar包路径在Console窗口的Installing过程中有指示,如下图所上传在PC机安装Winscp工具步骤下载链接:/eng/download.php步骤步骤使用Winscp工具连步骤步骤使用Winscp工具连接树莓派,默认账号密码:pi/raspberry如果上传配置文件,请上传到IoTAgent安装目录下。IoT概相关App默认模开发设备资开发设备资{devicetype}_{manufacturerId}_{mode1}.zip包目录结构├─manual设备相关的说明文字及图│├deviceType.png当新增设备类型时才需要提供这个图│├largeIcon.pdfiOS平台设备大图标,pdf│├largeIcon.pngandroid平台设备大图标,png格式②│├smallIcon.pdfiOS平台设备小图标,pdf格式③│├smallIcon.pngandroid平台设备小图标,png格 ││├─discovery_guide设备安装涉及的引导材资源文件根目录,如└res_{manufacturerId}厂商资源目录,文件夹名字举例├{devicetype}_{manufacturerId}_{model}.zip文件命名举例:ContactSensor_0001_0002-││├─introduction发││├─introduction发现引导材料,最多允许4│││├─page1一页引导材││││├guide_desc_en.txt文文本描述,必须提供,其他语言描述根据││││├guide_desc_zh.txt中文文本描述④││││├guide_icon.pdfiOS平台引导图片,pdf格式④││││└guide_icon.pngandroid平台引导图片,png格式④││││││└─page2二页引导材││ ├││ ├││ ├││ └││││├─search索中引导材料,只能有一│││││ ├││ ├││ ├││ └││││└─check备检测(检测是否在网关覆盖范围内││ ├─page1第一页引导材料,最多允许4│ ├│ ├│ ├│ └│ ││ └─page2第二页引导材│ ├│ ├│ ├│ └││└─remove_guide备删除引导材 ├─page1第一页引导材料,最多允许4 ├ ├ ├ └ └─page2第二页引导 ├ ├ ├ └││├devicetype-capability.json备能力的profile⑨│└devicetype-display.json设备呈现的profile⑩│││largeIcon.pdfiOS平台服务大图标,pdf格式││largeIcon.pngAndroid平台服务大图标,png格式││smallIcon.pdfiOS平台服务小图标,pdf格式││smallIcon.pngAndroid平台服务小图标,png格式││├─command放命令的定制图标,图标的名字与││ {commandname1}_small_icon.pdfiOS平台命令图标,pdf格式⑤││ {commandname1}_small_icon.pngAndroid平台命令图标,png格式⑤│ │ ││└─property放属性的定制图标,图标的名字 ├ ├ ├ propertyName1}_large_icon.pngAndroid平台属性大图标,png ├说⑨:参考写作设备能力Profile与服务能力⑩:参考设备呈现Profile与服说⑨:参考写作设备能力Profile与服务能力⑩:参考设备呈现Profile与服务呈现规格编描iOS规格Android规格其他说明或①②③④⑤⑥⑦删除流程的引导图98x56x28x276x72x48x384x384x48x98x189x90x936x96x72x672x672x72x ├{ ├ └{│└─profile每个服务两个profile,一个服务能力,一个服务呈servicetype-capability.json服务能力的profile⑨servicetype- 服务呈现的profile⑧说5.2.2写作设备能力Profile及服务能力说5.2.2写作设备能力Profile及服务能力说5.2.3写作设备呈现Profile及服务呈现设备呈说服务呈Battery\profile\servicetype-[{{{"language":"en",{"language":"zh","desc"]{编描规其他说明或④⑧如果有命令,则在后面加入命令如果有命令,则在后面加入命令(先加逗号,再加入commands,如加入开关命[{{{"language":"en",{"language":"zh","desc"]{}]"commands":{"commandLabel":[{"language":"en","desc":language":zh",desc开{"paraName":"status","dataType":"string","required":true,字描}]}注5.2.4制作图片UCD设计人注5.2.4制作图片UCD设计人员根据每张图片资源的规格(尺寸、格式等)要求制作切说 写作文字描述文字描命令名,与服务能力profile文件Battery\profileservicetype-如果有paras,要与服务能力profile文件"min":"max":"step":"maxLength":20,"unit":"null",{"dataType":"int","required":true,"min":1,"max":"step":"unit":"s",}]}说5.2.6资源说5.2.6资源汇总步骤步骤注注5.2.7设备资源包设备资源包样例名称:AppResourcePackage归档目录:Demo\AppResourcePackage注注资源包中的图片、文字与HiHoApp界面呈现的对应关说说服务和主要服务的设置,在设备能力profile中,请参考《华为IoT设备能力描述文件说服务和主要服务的设置,在设备能力profile中,请参考《华为IoT设备能力描述文件profile写作⑧服务呈现⑧服务呈现[{"properties":[{"enumListTag":[{"key":"OPEN",{"language":"en",{"language":"zh","desc"]{"key":"CLOSED",{"language":"en",{"language":"zh","desc"]}]}]}对应设备详情中的文字描述(HiHoApp会自动根据传感器状态的不同,使用对应的描说对应设备详情中的文字描述(HiHoApp会自动根据传感器状态的不同,使用对应的描说华为IoTAgent集成开发指南华为IoTAgent集成开发指南6.1IoTAgent集成开发指南6.1IoTAgent集成开发指南6.1.1概能力通过华为提供的IoT联接管理平台(以下统称为平台)、网关开放AgentAPI和测试6-总体开Agent开发流程如下确认是否需要新增设备描述文件ProfileAgent侧适配开发。参考Demo或基于Demo修改以满足所 使用测试APP说 使用测试APP说6.1.2相关华为开发者社区官技术6.1.3开发准备准备软开发平开发环配套要推荐的操作Version:MarsReleaseMaven插件:m2eMavenIntegration准备说B),还需要购准备说B),还需要购买dongle(ZWave:推荐AEOTECZ-STICKS2Model:DSA002203;ZigBee:EM357/EM358芯片。购买后需要给USBdongle刷ZigBee芯片原厂固件)、8G以上MicroSD卡,为网关Agent方法,请参考《华为IoT树莓派RaspberryPi安装网关Agent指导.docx》。准备待确认是否需要新增名描获取方华为IoT树莓派RaspberryAgent的安装过程(Service)类型说判断新增的设备是否需要新增Profile,请参考《华为IoT设备能力说判断新增的设备是否需要新增Profile,请参考《华为IoT设备能力描述文件profile开发6.1.4ZigBee传感器开发操作操作说导入demo的详细操作步骤,请参考导入Demo工程Bundle是指一个包含java类和其他资源的jar包步骤“Refactor>Rename”,在弹出的对话框中修改project的名称。子工程子工程步骤2父工程pom中修改步骤2父工程pom中修改步骤在PackageExplorer导航中鼠标左键选定工程,然后通过菜单“Refactor步骤在PackageExplorer导航中鼠标左键选定工程,然后通过菜单“Refactor按上面的例子,这里对应的包名为步骤步骤说务必在完成上面全部修改后再保存和编译工程,如果出现子工程丢失(PackageExplore中不可步骤说务必在完成上面全部修改后再保存和编译工程,如果出现子工程丢失(PackageExplore中不可bundle步骤在Eclipse的PackageExplorer窗口在开发的Project上单击右键选择“RunAsMaven步骤11、在PC机安装Winscp工3、使用Winscp工具连接树莓派网关,默认账号密码步骤4确认bundle适配概上传感器说适配概上传感器说本指导仅用于符合ZigBeeClusterLibrary标准和ZigBeeHomeAutomation1.2标准的传感器接入。当ZigBeeClusterLibrary文档与ZigBeeHomeAutomation1.2标准对同一特性均有描述时,以ZigBeeHomeAutomation1.2标准为准。【场景1】免开发接开发Agentbundle直接接入。定义上传APP说支持的传感器情况,请咨询华为IoT客服,邮箱:iotadmin@【场景2】定制开发定义上传APP定制开发Agentbundle,上传到Agent定制开––––下面结合开发Demo说明4个要素的定义位置,如下图–传感器的–传感器的创建:在DeviceType.xml中,定义传感器的类–––开发网Agent插件1.定义传感器的标thingTypes标签中传感器标识解释如下表2.定义传感器类参数名参数解说传感器型号(Model说该ModelId需要与BasicCluster中的modelId(attributeId=0x0005)保持一致。ZHA-<colorLight>zigbee:1168-ZHA-ColorL
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电商平台的网络直播营销实战技巧
- 磁头营销策略的数字化推广策略
- 2025年组织工程项目发展计划
- 石油化工工程师的实践案例分享
- 林业资源合作开发合同
- 短视频在当代网络营销中的价值与应用
- 物流行业人才培训与能力提升
- 社会工作在精神卫生连续照护中的作用分析
- 电子竞技产业的教育价值与社会责任
- 二零二五年度学徒工职业素养培训合同范本
- 《公路智慧养护信息化建设指南(征求意见稿)》
- 《书籍装帧设计》 课件 项目4 书籍装帧版式设计
- 作物栽培学课件
- 2024年辽宁大连中远海运川崎船舶工程有限公司招聘笔试参考题库含答案解析
- 人音版二年级上册第六课《跳起舞》 单元作业设计
- 资产盘点方案策划
- 血浆置换的护理
- 加油站安全生产标准化档案清单
- 《群英会蒋干中计》课件38张 2023-2024学年高教版(2023)中职语文基础模块下册
- 大单元教学和集体备课研究
- 《学术不端行为》课件
评论
0/150
提交评论