[经验分享] [GD32E231 DIY大赛]——04.搭建基于MQTT通讯的IoT云服务器

xld0932   2019-4-15 21:42 楼主
    简述:Linux服务器如今已经成熟,由于在云平台和新兴技术方面的突出表现,开始受到越来越多组织的欢迎。当前BAT的云服务器平台也都支持Linux服务器,但考虑到节省DIY的成本,在不影响在实际应用当中的部署过程差异的前提下,结合Windows 10自身的功能,决定在Windows 10系统下安装Linux子系统,进行服务器的部署。

1.Windows10系统准备配置
    下面需要对Windows10操作系统在安装Linux子系统之前做一些准备工作:


    1.1.确认Windows10版本:通过WIN+R命令调出运行窗口,输入WINVER命令查看当前操作系统版本。系统必须是64位操作系统。
    4-1


    1.2.开启Windows功能:通过WIN+R命令调出运行窗口,输出CONTROL命令调出控制面板。在控制面板中选择程序->启用或关闭Windows功能->适用于Linux的Windows子系统,确定进行安装,安装完成后需要重新启动电脑。
    4-2


    1.3.开启开发人员模式:通过WIN+I命令调出Windows设置界面,在Windows设置->更新和安全->开发者选项中选择“开发人员模式”,并确认启用开发人员模式,等待安装结束。
    4-3

2.安装Linux子系统:Ubuntu 18.04 LTS

    2.1.安装Microsoft Store软件

    2.2.打开Microsoft Store软件,在搜索栏输入Ubuntu,选择Ubuntu 18.04 LTS进行免费获取和安装,等完成后将其固定到“开始”菜单。
    4-4


    2.3.点击开始菜单的Ubuntu 18.04启动,第一次启动会显示“Installing, this may take a few minutes...”,等待安装初始化完成。根据界面提示调协用户和密码后Ubuntu 18.04 Linux子系统就安装成功了。
    4-5

    2.4.当前Linux子系统在Windows10是共享硬盘资源的,在Windows10系统中“我的电脑”中的C盘和D盘,可以在Linux的/mnt/路径下进行访问。
    4-6

3.Linux子系统安装JDK

    3.1.下载JDK软件
    使用wget命令下载JDK软件包jdk-8u202-linux-x64.tar.gz存放在/tmp/目录下。下载地址https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

    3.2.解压JDK软件安装包
    使用tar命令对安装包进行解压:tar˽-zxvf˽jdk-8u202-linux-x64.tar.gz,等待解压完成后在当前目录下会生成一个jdk1.8.0_202的文件夹。


    3.3.将解压后的文件夹移动到/usr/lib/目录下
  •     新建目录:sudo˽mkdir˽/usr/lib/jdk
  •     移动文件:sudo˽mv˽/tmp/jdk1.8.0_202˽/usr/lib/jdk


    3.4.配置JAVA环境变量
    使用sudo˽vim˽/etc/profile命令对/etc/目录下的profile文件进行编辑(在操作此文件前最好先做一下备份:sudo˽cp˽profile˽profile_backup),在末尾添加如下几行文字:
    #set java environment
    export˽JAVA_HOME=/usr/lib/jdk/jdk1.8.0_202
    export˽JRE_HOME=${JAVA_HOME}/jre

    export˽CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
    export˽PATH=${JAVA_HOME}/bin:$PATH

    *使用source˽/etc/profile命令执行修改立即生效


    3.5.验证JDK是否安装成功
    在终端输入java˽-version,出现版本号则表示安装成功,如下所示:
    java version “1.8.0_202”
    Java(TM) SE Runtime Environment (build 1.8.0_202-b08)
    Java HotSpot(TM) 64-bit Server VM (build 25.202-b08, mixed mode)


4.Linux子系统安装MQTT服务器:Apache Apollo

    4.1.下载Apache Apollo软件
    使用wget命令下载Apache Apollo软件包apache-apollo-1.7.1-unix-distro.tar存放在/tmp/目录下。下载地址:http://mirrors.shu.edu.cn/apache/activemq/activemq-apollo/1.7.1/



    4.2.解压Apache Apollo软件安装包
    使用tar命令对安装包进行解压:tar˽-zxvf˽apache-apollo-1.7.1-unix-distro.tar,等待解压完成后在当前目录下会生成一个apache-apollo-1.7.1的文件夹。



    4.3.将解压后的文件夹移动到/home/ubuntu/目录下
    mv˽/tmp/apache-apollo-1.7.1˽/home/ubuntu



    4.4.创建broker实例:mybroker
  •     cd˽/home/ubuntu/apache-apollo-1.7.1/bin/
  •     ./apollo create mybroker



    4.5.修改配置
    vim˽/home/ubuntu/apache-apollo-1.7.1/bin/mybroker/etc/apollo.xml

   
    http://127.0.0.1:61680”/>
    https://127.0.0.1:61681”/>
    修改为:
    http://0.0.0.0:61680”/>
    https://0.0.0.0:61681”/>



    4.6.启动Apache Apollo的mybroker实例
  •     cd˽/home/ubuntu/apache-apollo-1.7.1/bin/mybroker/bin/
  •     ./apollo-broker run
    启动成功后如下图所示:
    4-7


    4.7.将实例作为Linux Service启动
    sudo˽ln˽-s˽/home/ubuntu/apache-apollo-1.7.1/bin/mybroker/bin/apollo-broker-service˽/etc/init.d/apollo



    4.8.访问Apache Apollo的监控界面
    在Windows 10系统下打开浏览器访问:http://localhost:61680,用户名和密码默认为:admin/password

    4-8

5.Windows10系统安装花生壳软件

    5.1.安装花生壳
    访问https://hsk.oray.com/download/下载花生壳软件,安装花生壳软件。安装完成后,打开花生壳软件,输入用户名和密码进行登录。
    如果没有帐户,则需要申请一个帐户。帐户在申请完成后建议购买一个域名和内网穿透个人版,总体费用在RMB10内,这个费用比租赁一个云服务器便宜多了。



    5.2.新增映射
    点击花生PC壳客户端软件中的内网穿透,界面将自动跳转到网页版的内网穿透配置界面。
    点击新增映射,配置相应有参数后进行确定保存。
    4-9

    说明:
  •     应用名称:MQTT(随便取一个)
  •     选择域名:你购买的一个域名
  •     映射类型:应用类
  •     外网端口:动态端口
  •     内网主机:花生壳PC客户端运行电脑的IP地址
  •     内网端口:61613


6.Windows10系统安装MQTT客户端

    6.1.安装MQTT客户端
    访问http://www.jensd.de/apps/mqttfx/1.7.1/下载MQTT客户端软件mqttfx-1.7.1-windows-x64.exe,安装MQTT.fx软件。



    6.2.配置MQTT客户端
    运行MQTT.FX软件,点击齿轮配置按钮,进入到Edit Connection Profiles界面,点击”+”新增一个连接。配置完成后点击OK,返回到MQTT.fx操作界面。
    4-10

    4-11
    说明:
    MQTT Broker Profile Settings配置项:
    Broker Address:花生壳购买的域名
    Broker Port:花生壳动态生成的端口号

    General配置项:如上截图所示进行配置

    User Credentials配置项:
    User Name:固定为admin
    Password:固定为password




    6.3.连接MQTT服务器
    下拉列表中选择刚刚新建的MQTT连接,点击Connect按钮进行连接MQTT服务器。
    在连接MQTT服务器时必须保证Windows 10下花生壳客户端软件处于打开并且登录状态、Linux子系统下Apache Apollo MQTT服务器软件处于运行状态。

    4-12


    6.4.操作MQTT客户端
    在MQTT客户端成功连接MQTT服务器后,可以在Publish界面发布Topic、在Subscribe界面订阅Topic。
    如下图是一个自发自收的一个例子。
    4-13


We are a team and we work as a team !

回复评论 (5)

对于apache-apollo-1.7.1-unix-distro下载链接打不开的情况,我上传一下安装包哈
apache-apollo-1.7.1.part1.rar (10 MB)
(下载次数: 1, 2019-5-16 16:30 上传)
apache-apollo-1.7.1.part2.rar (10 MB)
(下载次数: 1, 2019-5-16 16:30 上传)
apache-apollo-1.7.1.part3.rar (6.2 MB)
(下载次数: 0, 2019-5-16 16:30 上传)
本帖最后由 xld0932 于 2019-5-16 16:34 编辑
We are a team and we work as a team !
点赞  2019-5-16 16:31
多谢分享
intersil Techwell应用工程师
点赞  2019-5-17 11:52
点赞  2019-5-24 13:50

干货,谢谢楼主,这个必须顶顶

点赞  2019-7-26 15:24

谢谢分享

点赞  2021-4-25 14:58
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复