用IBM Bluemix搭建云平台流程

时间:2023-02-04 10:50:51

1. MQTT协议

  • MQTT是IBM公司开发的一款即时通信协议,Bluemix能很好支持它,所以我们选择这个协议。MQTT协议采用的是发布跟订阅消息机制,包含了消息发布方、消息代理方、消息订阅方。消息发布时是分主题来发送的,订阅方则根据所订阅的主题来查看主题下的数据。
  • 拿并条机项目来说,发布消息方则是已经采集到数据的网关设备,消息代理方则是bluemix云平台,消息订阅方则是管理者用于查看实时数据的设备。网关发送消息时,根据不同的主题(即A值或者CV值)进行发送,不同的订阅方则可以看到自己所订阅的主题消息。
  • Mosquitto是一款基于MQTT的消息代理软件,它可以在我们本地计算机充当消息代理方,我们可以用来体验MQTT。具体实现方法见 MQTT协议体验 Mosquitto安装和使用

    2. 搭建云平台

  • 首先注册bluemix账号并登陆。

  • 【重要】在屏幕左侧点击创建空间,输入空间名字并确认。然后再一次点击创建空间,这一次选择左下角管理空间,点击刚才创建的空间,在用户选项卡里把开发者选项给勾上!把开发者选项给勾上!把开发者选项给勾上!最后保存并退回到仪表板页面。

  • 点击右上方“目录”的选项卡,添加如下图所示的服务。

    用IBM Bluemix搭建云平台流程

  • 在仪表板页面单击刚刚添加的服务——Internet of Things Platform,页面跳转后单击启动仪表盘。进入过后可以看到此时是没有设备的。在左侧选项卡中找到设备选项,点进去后点击添加设备。
    首先要创建一个设备类型(同一类型接收同一主题消息)。创建好后我们可以选择好刚才创建的类型,然后点击下一步了。接下来填写设备标识(因为MAC地址是唯一的,通常就用MAC地址作为标识)。然后是元数据选项,不用填写,直接下一步。最后选择是自动生成令牌还是手动生成。确认无误就可以点击添加了。添加好的凭证如下图所示

    用IBM Bluemix搭建云平台流程

这几个数据对于后面用MQTT协议进行数据上传有作用。设备添加完毕就可以暂时退出此服务,进入仪表板页面。

  • 接下来进入IQP IoT Code-Free App Development 服务。关于IQP可以参考它的官方文档。如下图

    用IBM Bluemix搭建云平台流程

单击 Import Default Apps,导入一个它自带的默认接收程序作为我们云平台检测DEMO。
导入后可以看到

用IBM Bluemix搭建云平台流程

列表里每一项都代表是一款App,单击App名字进入App目录后,单击preview App即可打开App了。打开应用后会让输入用户跟密码,此时可以在IQP主页面左侧选项卡点击AppUser进行添加用户操作,然后刷新打开的app就可以进入了。这里仅仅是体验一下IQP的强大功能,此时我们的数据还并未发送过来。

用IBM Bluemix搭建云平台流程

体验完后,回到IQP主页面,我们开始链接IQP服务跟IoT Platform服务。点击顶侧菜单栏里的Connect to Watson IoT。会提示我们输入API Key跟Token。
此时重新打开Bluemix里面已经建立了的IoT Platform服务。点击左侧菜单栏的访问权限,再点击api密钥,最后点击生成API密钥。

用IBM Bluemix搭建云平台流程

将生成的密钥跟Token一起输入到刚才IQP需要输入APIkey的地方,这样我们便连接了这两个服务。如下图所示:

用IBM Bluemix搭建云平台流程
注意箭头所指地方,那代表事件发生数,此时因为我们没发送数据,所以是 0 events,以后如果我们发送一次数据,那么这里就变成 1 events。保持这个页面不关闭,下面我们进行云平台调试。

3. 用MQTT.fs调试云平台

  • MQTT.fs是一款基于MQTT协议的客户端工具,我们可以用它来向云平台发送数据。首先下载客户端并安装。
  • 打开客户端,并进行配置,如下图

    用IBM Bluemix搭建云平台流程

① Profile Name:随意取
② Broker Address:xxxxx.messaging.internetofthings.ibmcloud.com (xxxxx是你的组织标识)
③ Broker Port: 1883
④ Client ID: d:xxxxx:yyyyy:zzzzz (xxxxx是组织标识,yyyyy设备类型,zzzzz是设备标识)
⑤ 选择User Credentials
⑥ User Name:use-token-auth
⑦ Password:输入认证令牌
设置完成后点击apply,并回到软件主界面,在菜单栏选择好刚才配置的文件,点击Connect。
待连接好后,
首先输入主题:iot-2/evt/eventid1/fmt/json
接着输入发送的消息: {“d”: {“Temperature”: 32.8,”Humidity”: 67,”Light”: 315}} 然后点击Publish就可以发送了。此时我们可以看到事件状态已不再是 0 event,就说明我们数据发送成功。
注意:发送消息时必须按照JSON格式发送,否则不能解析消息。
用IBM Bluemix搭建云平台流程

  • 发送消息成功后,我们便可以进入IQP里面的App观察数据。首先进入Asset Management,看看里面有没有我们的设备,没有的话就进行添加。有的话就进入Asset Testing这个App,选择好型号跟设备ID,再进行数据发送,就能够实时看到发送过来的数据了,并能够查看历史数据。

    用IBM Bluemix搭建云平台流程