您当前的位置:首页 > 电子 > 机器人与智能物联

想做物联网远程控制却没有服务器?这里教你“白嫖”一个

时间:05-21来源:作者:点击数:

服务器和公网IP

跳出局域网之后的远程控制,如果没有中间服务器,那么以太网基本就没有用武之地了,所以选用一个可以接入公网的服务器就非常有必要了,可以帮助两个远程设备之间建立通讯转发。

公网服务器的选取方式有三种:

1、购买一套服务器设备,向网络运营商租用一个静态IP地址,注册一个域名以接入英特网。同时需自己搭建整个服务器的架构(如移植操作系统,配置端口等)和上层服务(如移植Apache,安装数据库,开发请求响应后台程序等)。

2、租用一套云服务器ECS((Elastic Compute Service),购买完成云服务器之后,服务器的基础架构就有了(如操作系统,运行环境等),只需要后台自己安装一些服务即可。如果要支持WebAPI调用,还需要去购买一个域名。

3、选用第三方提供商的公有云。现在很多运营商和大公司都提供有公有云供设备接入,如阿里云,京东微联,国美云等。这些公有云都是免费或成本低廉的。

上面三种公网服务器的方案,第一种无疑是最耗资金和人力的,除了需要考虑带宽和并发量之外,安全性也是需要花费大价钱去维护的。除了技术因素之外,场地,能耗等也是一大资金支出。因此目前为止除了银行,政府,大型互联网公司之外很少会去自己搭建和维护一个服务器群组了。

第二种方案看着虽然价格低廉,但是如果需要搭建一个灵活,高效,高并发的服务器也需要投入很大的资金和人力。

而选用第三种方案公有云虽然开发的服务不及第二种方式灵活,但无疑是最方便和成本低廉的。

公有云

目前大型的公有云有很多,以下列出了几个大型公有云接入协议的对比。

这些云平台中无疑是Wing和OneNET平台是最适合做公有云开发和测试的。

OneNET

OneNET定位为PaaS服务,即在物联网应用和真实设备之间搭建高效、稳定、安全的应用平台:面向设备,适配多种网络环境和常见传输协议,提供各类硬件终端的快速接入方案和设备管理服务;面向应用层,提供丰富的API和数据分发能力以满足各类行业应用系统的开发需求,使物联网企业可以更加专注于自身应用的开发,而不用将工作重心放在设备接入层的环境搭建上,从而缩短物联网系统的形成周期,降低企业研发、运营和运维成本。

OneNET的资源模型

具体的协议和接入推荐

这里我们选用MQTT协议接入设备。

第一步:申请一个OneNET的账号以及实名认证。https://open.iot.10086.cn

第二步:登录OneNET平台,并且进入开发者中心。

第三步:进入MQTT产品创建连接,注意需要从“多协议接入入口”进入,而不是从“MQTT物联网套件(新版)”界面进入。

第四步:选择MQTT(旧版),点击“添加产品”。

第五步:在右侧弹出的“添加产品”界面,输入产品的信息后点击确定。

第六步:产品创建完成之后,在弹出的对话框上面点击“立即添加设备”。

进入设备添加界面之后,我们需要记录下“产品ID”这一项,在后续的操作中会应用到。

第七步:你以为这个界面是给你添加设备的?你错了,你需要切换到设备界面,才可以去添加设备。点击界面左侧的“设备列表”即可添加设备了。

第八步:添加你的产品,这里我们一次性添加两个产品用于后续的收发实验。

创建设备时的设备名称和鉴权信息可以根据自己的喜好填写,但是在实际应用中为了保持鉴权信息的唯一性,可以使用网卡的MAC地址或者手机的IMEI信息。填写完成之后,点击“添加”就可以完成设备的添加了。

当然产品和设备的创建,都可以使用HTML API的POST和GET方法去实现。

创建完成之后,我们可以看到设备列表里的两个设备了。

点击“详情”就可以看到每个设备的具体信息。

第九步:测试MQTT。至此,我们可以自己开发代码,或者使用中移动推荐的“MQTTSimulate Device”软件来测试MQTT的消息订阅和发布了。

下载连接:https://open.iot.10086.cn/doc/multiprotocol/book/develop/mqtt/device/doc-tool.html

MQTT测试

“MQTT Simulate Device”软件下载完成之后,打开这个软件。

打开完成之后,我们可以看到上面有一些信息需要填入,填入后即可连接我们刚刚注册好的设备。首先先来连接第一个设备TestDev1。点击设备列表中,TestDev1的“详情”,找到“设备ID”和“鉴权信息”。

依次将TestDev1的“设备ID”和“鉴权信息”填入调试软件的DeviceID和AuthInfo。

接着,点击控制中心右侧的产品概况,找到我们刚刚记录下来的产品ID,将其填入软件的ProductID中。

为了保证连接不被中断,后面的KeepAlive我们需要勾选AutoKeepAlive。服务器IP地址和端口Port是OneNET特有的,不需要修改。填写完成之后,点击Connect即可完成连接。

连接完成之后,我们就可以在后台的“设备列表”里面看到这个模拟设备已经在线了。

用同样的方法创建一个TestDev2的虚拟设备。

两个设备都在线了之后,我们就可以创建发布消息了,在TestDev1的虚拟设备中创建一个订阅消息。

接着在TestDev2中去对“TestDev2Subpublish”主题进行发布。

接着,我们就可以看到TestDev1的“收到的Topic”里面,看到TestDev2里面发布的消息了。

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
上一篇:很抱歉没有了 下一篇:扫地机器人内部拆解与工作原理
推荐内容
相关内容
栏目更新
栏目热门