阿里阿里云

阿里云  时间:2021-04-06  阅读:()
2018-1-9M0M1模组SDK开发指南1M0M1模组阿里云物联网套件例程指南版本V1.
0.
1浙江劢领智能科技有限公司2018-1-9M0M1模组SDK开发指南2版本信息日期版本撰写人修改说明2017.
09.
01V1.
0.
0HuiHongmei初稿,文档排版2018.
01.
09V1.
0.
1HuiHongmei增加8.
6章节MLINK及套件工具使用说明2018-1-9M0M1模组SDK开发指南3目录第八章阿里云物联网套件例程.
48.
1.
阿里云.
48.
2.
阿里云物联网套件.
48.
3.
M0M1模组在阿里云上的应用.
58.
3.
1.
账号申请.
58.
3.
2.
创建产品.
78.
3.
3.
添加设备.
78.
3.
4.
获取设备的Topic.
88.
4.
设备接入.
98.
4.
1.
工程代码.
98.
4.
2.
代码简析.
108.
4.
3.
修改代码.
138.
4.
4.
编译下载.
158.
5.
测试.
178.
6.
MLINK和阿里云套件工具的使用.
192018-1-9M0M1模组SDK开发指南4第八章阿里云物联网套件例程8.
1.
阿里云阿里云创立于2009年,是全球领先的云计算及人工智能科技公司,致力于以在线公共服务的方式,提供安全、可靠的计算和数据处理能力,让计算和人工智能成为普惠科技.
阿里云服务着制造、金融、政务、交通、医疗、电信、能源等众多领域的领军企业,包括中国联通、12306、中石化、中石油、飞利浦、华大基因等大型企业客户,以及微博、知乎、锤子科技等明星互联网公司.
阿里云服务器的优势:安全稳定,数据可靠、BGP独享宽带,高速访问、简单易用、弹性伸缩、按需求购买,节约成本等.
8.
2.
阿里云物联网套件物联网套件是阿里云专门为物联网领域的开发人员推出的,其目的是帮助开发者搭建安全且性能强大的数据通道,方便终端(如传感器、执行器、嵌入式设备或智能家电等等)和云端的双向通信.
全球多节点部署让海量设备在全球范围内都可以安全、低延时地接入阿里云IoTHub.
在安全上,物联网套件提供多重防护,保障设备云端安全.
在性能上,物联网套件能够支撑亿级设备长连接,百万消息并发.
物联网套件还提供了一站式托管服务,从数据采集到计算到存储,用户无需购买服务器部署分布式架构,通过规则引擎只需在web上配置规则即可实现采集+计算+存储等全栈服务.
阿里云网联网套件提供的服务为:让设备轻松的接入云端、提供设备管理服务、保护设备和数据、存储设备数据、计算设备数据等.
其中,在阿里云官方网站上,提供了演示如何快速体验让设备连接到阿里云IoT,包括:设备基于MQTT接入、设备基于CoAP接入、设备基于HTTP接入等资料,用户可自行参考.
oTHub支持两种通信模式,Revert-RPC以及Pub/Sub.
用户可以根据自己的业务灵活使用两种通信模式.
Revert-RPC:基于开源协议MQTT封装了同步的通行模式,服务端下发指令给设备可以同步得到设备端response.
Pub/Sub:Pub/Sub是基于Topic进行消息的路由转发,让设备端或者服务端可以发布订阅消2018-1-9M0M1模组SDK开发指南5息,实现异步的通信.
如图8-1所示.
图8-1:Pub/Sub通讯模式本文的阿里云例程主要是基于MQTT协议的PUB/SUB实现一个通信过程,实现M0M1模组与阿里云平台的通讯过程.
8.
3.
M0M1模组在阿里云上的应用8.
3.
1.
账号申请登陆阿里与官方云网站:https://www.
aliyun.
com/,注册阿里云用户,如图8-2所示.
图8-2:用户注册2018-1-9M0M1模组SDK开发指南6注册成功后,登陆自己的阿里云账号和密码,在阿里云首页中找寻"物联网套件",如图8-3所示,1,2,3,4步骤,点击确认即可.
图8-3:进入物联网套件然后,弹出页面如图8-4所示,点击,开通物联网套件服务.
图8-4:开通物联网套件2018-1-9M0M1模组SDK开发指南78.
3.
2.
创建产品开通阿里云物联网套件后,以aliyun账号,直接进入IoT控制台,如图8-5所示.
初步进入控制台后,需要创建产品,点击"创建设备".
图8-5:进入IoT控制台弹出对话框,如图8-6所示.
图8-6:创建产品8.
3.
3.
添加设备创建完产品之后,可以为该产品下添加设备.
进入产品管理页面下的设备管理,点击"添加设备",如图8-7所示.
说明:用户可以自定义设备名称(即deviceName),这个名称即可作为设备唯一标识符,用户可以基于该设备名称与IoTHub进行通信,需要指出的是,用户需要保证deviceName产品内唯一.
2018-1-9M0M1模组SDK开发指南8图8-7:添加设备如图8-8所示,创建设备,本文创建的设备名称:mylinks.
图8-8:创建设备8.
3.
4.
获取设备的Topic添加设备之后,可以获取设备的Topic.
点击"Topic列表".
如图8-9所示.
图8-9:点击"Topic列表"2018-1-9M0M1模组SDK开发指南9弹出对话框,如图8-10所示.
图8-10:Topic列表说明:创建产品之后,物联网套件都会为产品默认定义三个Topic类.
那么,在添加设备之后,每个设备都会默认有三个Topic,即图8-10中所示.
如果想要增加、修改、删除Topic,请到消息通信重新定义Topic类.
设备可以基于Topic列表中的Topic进行Pub/Sub通信,例如列表中有/9Ybu4TrmtFg/mylinks/update,且设备拥有的权限是发布,这就意味着设备可以往这个Topic发布消息;同样,列表中9Ybu4TrmtFg/mylinks/get,权限是订阅,这就意味着设备可以从这个Topic订阅消息.
8.
4.
设备接入8.
4.
1.
工程代码劢领为用户提供了阿里云物联网套件的开发,只需用户将申请的设备信息填写在SDK源代码中,即可实现M0M1模块与阿里云通讯.
在SDK工程文件里:mylinks-m0m1-open-sdk,通常含有用户工程proj、头文件include、Lib静态库及编译烧录生成目录images等,如图8-11所示.
2018-1-9M0M1模组SDK开发指南10图8-11:SDK开发包在用户项目工程proj文件夹下,提供了M0M1模组的开发例程,其中包括:TCP、UDP、AT、MQTT、阿里云物联网套件串口透传等例程,方便用户使用和学习,因此,我们可以找到阿里云开发例程,文件名称为:iotaliyun,如图8-12所示,iotaliyun文件代码.
图8-12:iotaliyun例程源代码8.
4.
2.
代码简析在例程iotaliyun文件下,Main.
c文件里包含以下几个函数,如图8-13所示.
2018-1-9M0M1模组SDK开发指南11图8-13:main.
c中的函数在user_init()用户初始化函数里,我们配置了M0M1模块组的工作模式、初始化串口、连接家中路由器的过程,如图8-14所示,用户根据实际情况连接自己的路由器,其中,SSID为路由器的名称,PWD为路由器的密码.
图8-14:模块初始化函数2018-1-9M0M1模组SDK开发指南12在staticvoidiotaliunclient(void*arg)函数,设置阿里云物联网套件MQTT处理函数,包括:连接阿里云物联网套件服务器和端口号,创建订阅号及发送数据的过程,详细过程请参考源码,本文只是部分截图.
如图8-15所示.
图8-15:MQTT处理任务注:用户可参考:第三章MQTT教程指南,学习数据如何处理及订阅号等内容.
本文不做重复介绍了.
用户也可参考在工程目录下,头文件include文件下,iot_aliyun.
h文件内容.
其里面具有详细的函数说明,用户可以直接调用.
如图8-16所示,部分截图代码.
2018-1-9M0M1模组SDK开发指南13图8-16:部分iot_aliyun.
h文件内容8.
4.
3.
修改代码本文在在阿里云物联网套件中申请的产品的为"test",设备名称:mylingks,用户在阿里云控制台里查看自己的设备详情.
如图8-17所示.
图8-17:查看设备详情根据图8-17,我们可以在设备中得到三个参数,deviceName,producKey,deviceSecret.
将2018-1-9M0M1模组SDK开发指南14此三个参数值,填写在工程目录:/mylinks-m0m1-open-sdk/proj/iotaliyun/main.
c中,对应的填写三个参数值在mian.
c文件中,如图8-18所示.
图8-18:修改mian.
c文件根据阿里云提供的物联网套SDK源码中,我们可知MQTT协议的服务器IP或者域名,端口号.
如图8-19所示.
服务器域名:"xxx.
iot-as-mqtt.
cn-shanghai.
aliyuncs.
com"(其中XXX表示阿里云设备中的producKey),端口号:1883.
图8-19:MQTT协议服务器及端口2018-1-9M0M1模组SDK开发指南15此时,在阿里云物联网套件中,只需修改在阿里云官网上申请的设备信息,即可实现简单的通讯,用户若想对数据及订阅号的修改,请参考"第三章MQTT例程指南".
8.
4.
4.
编译下载修改好参数后,我们利用Linux开发环境编译iotaliyun文件,分为一下步骤:1、利用make编译lib文件,生成mqq.
a静态库.
如图8-20所示,找到lib文件所在的位置,本文在/mylinks-m0m1-open-sdk目录下,使用make指令,编译lib文件,使之,生成mqtt.
a静态库文件,如图8-21所示.
图8-20:makelib文件图8-21:编译生成mqtt.
a文件2018-1-9M0M1模组SDK开发指南162、利用make编译例程iotaliyun文件,生成iotaliyun.
img文件.
在工程目录下,编译例程文件iotaliyun文件,如图8-22所示.
图8-22:编译生成iotaliyun.
img文件3、下载使用劢领下载工具MylinkDownloadTool.
exe,将编译好的iotaliyun例程iotaliyun.
img文件,放入劢领下载工具配置文件里,如图8-23所示.
图8-23:添加iotaliyun.
img文件点击"开始",此时,M0M1模组自动获取MAC地址,如图8-24所示,完成下载.
2018-1-9M0M1模组SDK开发指南17图8-24:完成下载8.
5.
测试M0M1模块上电测试,打开串口助手,根据iotaliyun例程中,初始化串口函数uart_init()函数来设置串口助手参数,其设置波特率为115200,如图8-25所示,串口参数设置.
图8-25:串口参数配置当M0M1模块连接到阿里云物联网套件成功后,此时,我们在阿里云网站上看到自己所创建的设备mylinks的状态:在线.
如图8-26所示.
2018-1-9M0M1模组SDK开发指南18图8-26:设备状态点击"Topic列表",我们可得到此设备下的三个Topic,如图8-27所示.
我们可以看到三个Topic下收发到M0M1模组的信息的数量.
图8-27:Topic状态此时,我们可以简单的实现阿里云服务器跟M0M1模组发送数据,如图8-28所示.
设备mylinks发送的信息为:11223344.
点击确认,M0M1模组即可收到此信息,并通过串口显示出来,如图8-29所示.
2018-1-9M0M1模组SDK开发指南19图8-28:发送数据信息图8-29:M0M1模组收到数据8.
6.
MLINK和阿里云套件工具的使用MLINK功能为了方便用户连接不同路由器,节省用户在SDK反复的修改路由器的名称及密码,然后在2018-1-9M0M1模组SDK开发指南20进行编译,烧写的过程.
劢领提供了MLINK一键配网功能,如图8-30所示,MLINK的宏定义(注:若用户不使用MLINK功能,则定义#defineUSER_MLINK0即可).
图8-30:宏定义Mlink功能MLINK配网app使用esptouch(在劢领qq群文件中下载),如图8-31所示,打开手机esptouch软件,连接当前路由器名称及密码.
点击"Confirm"按钮.
图8-31:esptouch当模块串口出现"startmlink"字样时,提醒用户,需要使用esptouch进行配网,如图8-31所示,手机esptouch软件配网过程中,M0M1模块提示用一些配网过程的信息,直到获取路由器的ssid及pwd,如图8-32所示.
2018-1-9M0M1模组SDK开发指南21图8-32:串口Mlink功能信息提示阿里云物联网套机工具同理,为了方便用户反复修改阿里云物联网套件申请设备PRODUCT_KEY、DEVICE_NAME、DEVICE_SECRET三个参数的值,如图8-33所示,在main.
c文件中宏定义了串口烧写模式,PRODUCED1(注:若用户不使用此功能,则定义#definePRODUCED0即可).
图8-33:宏定义烧写模式然后,我们需要在劢领技术支持群文件里下载"M0M1阿里物联网套件模组设置工具",如图8-34所示.
2018-1-9M0M1模组SDK开发指南22图8-34:阿里物联网套件工具此时,需要将阿里云IOT网站上设备的ProductKey、DeviceName、DeviceSecret三个参数对应的放入"M0M1阿里云物联网模组设置工具"中,然后,点击"设置";如图8-35所示.
图8-35:设置成功注:若不是使用MLINK及阿里物联网套件模块工具设置,需要将2个宏定义参数改为:#defineUSER_MLINK0#definePRODUCED0

速云:广州移动/深圳移动/广东联通/香港HKT等VDS,9折优惠,最低月付9元;深圳独立服务器1050元/首月起

速云怎么样?速云,国人商家,提供广州移动、深圳移动、广州茂名联通、香港hkt等VDS和独立服务器。现在暑期限时特惠,力度大。广州移动/深圳移动/广东联通/香港HKT等9折优惠,最低月付9元;暑期特惠,带宽、流量翻倍,深港mplc免费试用!点击进入:速云官方网站地址速云优惠码:全场9折优惠码:summer速云优惠活动:活动期间,所有地区所有配置可享受9折优惠,深圳/广州地区流量计费VDS可选择流量翻...

cloudcone:特价便宜VPS补货通知贴,SAS或SSD低价有磁盘阵列,SAS或SSD raid10 硬盘

cloudcone经常性有特价促销VPS放出来,每次的数量都是相当有限的,为了方便、及时帮助大家,主机测评这里就做这个cloudcone特价VPS补货专题吧,以后每次放货我会在这里更新一下日期,方便大家秒杀!官方网站:https://cloudcone.com/预交费模式,需要充值之后方可使用,系统自动扣费!信用卡、PayPal、支付宝,均可付款购买!为什么说cloudcone值得买?cloudc...

Nocser:马来西亚独立服务器促销$60.00/月

Nocser刚刚在WHT发布了几款促销服务器,Intel Xeon X3430,8GB内存,1TB HDD,30M不限流量,月付$60.00。Nocser是一家注册于马来西亚的主机商,主要经营虚拟主机、VPS和马来西亚独立服务器业务,数据中心位于马来西亚AIMS机房,线路方面,AIMS到国内电信一般,绕日本NTT;联通和移动比较友好,联通走新加坡,移动走香港,延迟都在100左右。促销马来西亚服务器...

阿里云为你推荐
怎么查询商标怎样查询商标有没有被注册方法有哪些?firetrap你们知道的有多少运动品牌的服饰?关键字关键词编故事22zizi.comwww 地址 didi22怎么打不开了,还有好看的吗>com陈嘉垣陈浩民、马德钟强吻女星陈嘉桓,求大家一个说法。丑福晋大福晋比正福晋大么ip查询器查看自己IP的指令杨丽晓博客杨丽晓是如何进入娱乐圈的?hao.rising.cn瑞星强制篡改主页 HTTP://HAO.RISING.CN 各位有什么办法可以解决吗?dpscycle国服魔兽WLK,有什么适合死亡骑士的插件?
广州主机租用 免费linux主机 3322免费域名 免费主机 128m内存 cloudstack 英文简历模板word xfce ev证书 云全民 卡巴斯基官方免费版 metalink 支持外链的相册 优酷黄金会员账号共享 香港亚马逊 德隆中文网 中国域名 万网空间 cloudflare 电脑主机打不开 更多