okmx6ul-c开发板阿里云link kit led程序教程应用笔记_第1页
okmx6ul-c开发板阿里云link kit led程序教程应用笔记_第2页
okmx6ul-c开发板阿里云link kit led程序教程应用笔记_第3页
okmx6ul-c开发板阿里云link kit led程序教程应用笔记_第4页
okmx6ul-c开发板阿里云link kit led程序教程应用笔记_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

阿里云LinkKit阿里云LinkKit版技术参考手i.MX6UL平台应用笔devoteddevotedtocreatethebestembedded版本记录第一章简 简要说 适用范 第二章:建立开发环 第三章:云端搭 第四章:开发板上程序开 第五章:IoTStudio快速app搭

第一章考修改,本公司不提供任何的完整性、可靠性等保证,若在客户使用过因OKMX6UL-CLinux3.0.35第二章:建立开发环境统,完成阿里云IoT移植演示,连接SDK的移植与简单使用。一、安装交叉编译工具保在安装完成后,在开发机的控制台上输入arm-fsl-linux-gnueabi-gcc-vlinkkitlinkkit❯arm-fsl-linux-gnueabi-gcc-vUsingbuilt-inspecs.COLLECT_GCC=arm-fsl-linux-gnueabi-Target:arm-fsl-linux-gnueabiConfiguredwith:/work/build/.build/src/gcc-linaro-4.6-2011.06-0/configure--build=i686-build_pc-linux-gnu--host=i686-build_pc-linux-gnu--target=arm-fsl-linux-gnueabi--prefix=/work/fsl-linaro-toolchain-2.13--with-sysroot=/work/fsl-linaro-toolchain-2.13/arm-fsl-linux-gnueabi/multi-libs --enable-languages=c,c++ pkgversion='FreescaleMAD--Linaro2011.07--Builtat2011/08/1009:20'--enable-cxa_atexit--disable-libmudflap--disable-libgomp--disable-libssp--with-gmp=/work/build/.build/arm-fsl-linux-gnueabi/build/static--with-mpfr=/work/build/.build/arm-fsl-linux-gnueabi/build/static--with-mpc=/work/build/.build/arm-fsl-linux-gnueabi/build/static--with-ppl=/work/build/.build/arm-fsl-linux-gnueabi/build/static--with-cloog=/work/build/.build/arm-fsl-linux- --libelf=/work/build/.build/arm-fsl-linux-gnueabi/build/static--with-host-libstdcxx='-static-libgcc-Wl,-Bstatic,-lstdc++,-Bdynamic-lm-L/work/build/.build/arm-fsl-linux-gnueabi/build/static/lib-lpwl'--enable-threads=posix--enable-target-optspace--enable- --enable- --with-local-prefix=/work/fsl-linaro-2.13/arm-fsl-linux-gnueabi/multi-libs--disable-nls--enable-c99--enable-long-long--Threadmodel:gccversion2011/08/10(prerelease)(FreescaleMAD--Linaro2011.07--Built 二、阿里云IoT连接你可以从如下地址到的C语言 三、移植到开发板在本例中,采用在用户应用中直接加入SDK源码的方式来SDK,所以,我们要先进行源码的抽取。之所以叫抽取,是因为SDK源码功能可以按需求进行裁剪,用户可以通过在源码中运行makeconfigSDK源码进行裁剪配置。本文重在演示在嵌入式Linux平台下的移植和使用过程,对于SDK的裁剪不作详细描述,仅基于默认的带有阿里云IoT无模型操作的SDK裁剪版本展开说明。SDK根,运行./extract.shc-c-sdk-v3.0.1❯.Downloadrequestsent,waitingrespond% %Received%XferdAverageSpeed TimeDloadUploadTotalLeft100235k100 00--:--:----:-- Pleasepickupextractedsourcefilesin[/c-sdk-运行完成后,会提示SDK下的 在 其中dev_sign_example.c文件演示当用户使用自己的MQTT库接入阿里云linkkit_example_solo.cIoTmqtt_example.c文件演示了如何通过SDK提供的mqtt协议栈接入阿里云IoT平台,适合使用阿里云IoT平台基础版的用户,将在其他的文章中进行介在完成代码的抽取后,我们即可开始进行SDK爱使用IDE来管理项目,所以接下来我们演示如何使用Eclipse建立一个交叉编译工程,并将抽取出的SDK代码加入工,完成SDK代码的使用,并编到地址EclipseCDT版本CProject,并点击“Next在弹出菜单中给项目命名为“ali_iot”,并选择“EmptyProject”模板,同时,在Toolchains栏目中务必选中“CrossGCC”选项,表示我们需要交叉编译项继续“Next”。在弹出的交叉编译器配置框中输出工具链的gcc前缀“arm-fsl-linux-gnueabi-”,由于工具链已经加入系统path中,所以“Crosscompilerpath”栏目无需填写。此处的前提是在第一节中的交叉编译工具链 的eng 个wrappers 下有一个wrapper.c文件。该文件即为用户需要根据自己的系统实现的一些SDK对接文件。我们开文件后可以看到很多HAL开头的空函数,用户需要根据自己的系统实际情况,完成这Ubuntu所以我们直接复用Ubuntu系统下的适配文件。文件位于"SDK根 中除去HAL_UART_linux.c文件外的所有文件,拷贝到output/eng/wrappers文件夹下,同时删除output/eng/wrappers文件夹下原油的wrapper.c文件。接下来,我将源码及提供的example加入到Eclipse工。工程,选择Import……在弹窗中选择“FileSystem”,表示我们从当前文件系统中选择。点击“next”。通过“Browse”按钮,找到抽取出的源码,并在左侧的窗口中将eng选中,表示将下所有文件加入工。点击“Fnh”,即可看到文件已加入到工。用同样的方式,将提供的ampe文件加入到工。如前介绍,本例中,我们仅将ntameooc件入如图我们在工程菜单中就可以看到加入的全部文件了。我们可以尝试进行编译,但发现报错,这是因为我们还没有配置头文件的搜索路径。我们邮件点击工程,在弹出菜单中选择Proprts菜单在弹出菜单中,选 C/C++Build->Settiings->Includes并点击增Include 选择“Workspace……”并在弹出窗口中选择SDK源码的几个文件夹。通过反复几次相同操作,将dev_model;dev_sign;infra;mqtt;wrappers;wrappers/external_libs等几个 另外,由于Ubuntu的对接实现中使用到了实时时钟库,所以,我们在点击“ApplyandClose在Eclipse界面下点击“Project”菜单下的“BuildAll”按钮,开始编译。如果前面的配置都没有问题,可以看到编译通过,并在Eclipse的workspace目录下的该工程下看到生成的Debug,在中有生成的ali_iot可执在终端中,利用file命令,我们可以看到ali_iot文件为一个ARM平台可执行DebugDebug❯filealiiot:ELF32-bitLSBexecutable,ARM,EABI5version1(SYSV),dynamicallylinked,interpreter/lib/ld-,forGNU/Linux2.6.31,withdebug_info,notstripped到此,我们已经生产了一个可以在开发板上运行的可以接入阿里云IoT的DEMO程序,我们通过NFS将开发机的ali-iot工程所在的挂载到开发板上。(具体的NFS配置过程可以参考厂商文档或互联网文档,此处不再详细说root@freescaleroot@freescale():():56data64bytesfrom:seq=0ttl=42time=10.11564bytesfrom:seq=1ttl=42time=10.21864bytesfrom:seq=2ttl=42time=9.910然后进入挂载的 root@freescaleroot@freescale/mnt/nfs/ali_iot/Debug$linkkit_example_solo.dlinkkit_example_solo.oroot@freescale通过./ali_iot运行demouser_post_property.232:user_post_property.232:PostPropertyMessageID:< "code": "data": "id": "message": "method": "version":<userreportreplyeventhandler.94:MessagePostReplyReceived,MessageID:6,Code:200,Reply:{}> "id": "version":"params": }第三章:云端搭建LED实现对下的HAL层的实现。一、新建项目IoTStudio参描参描择智能城市>能源管理>设备类型模板中,已预定义用电量、电压、电是否接入接入网关Modbus:表示子设备和网关之间的通讯协议是Modbus。ZigBee:表示子设备和网关之间的通讯协议是ZigBee。BLE:表示子设备和网关之间的通讯协议是BLE。参描当是否接入网关选择为否时出现的参数。设备连网方首次选择连网方式为LoRaWAN时,需要按照界面提示,IoT使当连网方式选择为LoRaWAN时,需提供入网凭ICA标准数据格式(AlinkJSON):是物联网平台为开发者提供的设备与云端的数据交换协议,采用JSON格式。说明使用LoRaWAN接入网关的产品仅支持透传/自定说使用ID²认证的状态。参描选择使用ID²认证,需ID²服务。请参见IoT设备认证(ID²)用户手二、物模型创建产品和设备,并为该产品定义功能(即物模型TSL)。我们一共添加三个自定义功能,分别是led1、led2、CPU温度监测。我们此处添加功能以led1开关为例,数据类型为型,添加功能如下.注意:设备上报的数据云端将通过“标识符”字段来进⾏ 区分,同时对数据类型会做相应的验证,所以务必保证定义的标识符及数据的类型与上传的⾏致。总共添加功能如下接下来是添加设备:点击设备管理→设备→新增设备→自动生成→提第四章:开发板上程序开发一、SDK框架组C-SDK在实际开发过,我们只需要实现HL层来适配不同的硬件。使用HL层提供的函数来实现上层的业务,代码只需要编写一次可移植性高。下面一一介二、添加物模型三、代码的实现我们在主函数中通过的user_post_property()回调函数实现属性的固定上报。我们先从这个函数切入,修改获取CPU的实际温度进行上报。图中绿色标注部分是开发板上linux系统提供温度文件的绝对路径,红色标注部分是物模型的标志符。函数中调用IOT_Linkkit_Report()来上报属性,属性上报时需要按照云端定义的物模型属性格式,以及JSON格式进行上报。3.LED灯的属性设置,刚才我们也提到了上行的属性数据是通过user_post_property()回调函数。那么下行的属性数据则是通过user_property_set_event_handler()回调函数来解析。所有的回调函数都是在example程序初始化时使用IOT_RegisterCallback。图中红色标注是led1在OKMX6UL-C开发板平台对应的控制文件。OKMX6UL-C开发板上有两 led灯,相应的控制方法可以通过查到控制LED亮灭的测试方法如下:由上可知led1灯的设备文件为‘/sys/class/leds/led1/brightness’,四、代码的解读本章提到的代码和项目工程,在资料的 工程主 及文件一+--+--+--使用Ubuntu16.04SDK自带编译系统时+--使用Windows主机作为开发环境时的代码抽+--使用Windows主机作为开发环境时的功能配+--使用Linux主机作为开发环境时的代码抽+--|+--SDK代码抽取以及编译构建 |生+--:SDK代码抽取输 ,运行extract.sh或extract.bat后 +-- +-- +--: +-- +-- +--|+--:服务端根,存放阿里云IoT物联网平台的云+--:SDK使用的第开源 +-- +--+--SDK中各个功能点的实现源码运行extract.sh或后会抽取到 +--基座组件用户不必关心其内容的多寡由用户选择使用的功能点 +-- +--MQTT上 +--CoAP上 +--HTTP上 +--OTA固件升 +--物模 +-- +--设备绑 +--设备重 +--HTTP2流式传输和文件上 +--WiFi配 +-- :AT命令辅助模块,将SDK运行 网络通信模组的MCU上,| SDK抽取代码等行为所依赖的主机工具用户不必关 SDKHAL_XXXwrapper_xxx的参考现+--+-- +-

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论