搭建本地MQTT服务器并连接esp8266实现温湿度采集红外遥控和天气时钟(上)

一、首先要先搭建本地MQTT服务器

1、以电脑搭建MQTT服务器为例,要下载mosquitto开启MQTT服务。这是一个开源的软件,且比较简单。

下载与安装

    Mosquitto存在很多版本,如果想体验比较新版本可以上github,但是比较麻烦的是需要自己去编译成windows文件,编译需要用到cmake软件,可以参照其他博主的文章:博客

    官方后面提供了比较稳定的window安装版本,安装完成后可以直接使用,并且自动添加成 windows服务,非常方便,下载路径:Download | Eclipse Mosquitto

 

可以根据自己电脑下载合适的msoquitto。

  • 双击下载好的程序
    在这里插入图片描述

  • 点击Next
    在这里插入图片描述

  • 点击Next
    在这里插入图片描述

  • 选择安装路径,点击Install
    在这里插入图片描述

  • 在弹出的对话框中选择同意,然后点击安装
    在这里插入图片描述

  • 安装完成点击关闭
    在这里插入图片描述

  • 点击Finish完成安装。

  • 在这里插入图片描述

  • 同时按“Windows 徽标键+R键”,打开运行框
    在这里插入图片描述

  • 输入“services.msc”按回车,快速调出“服务”,如下图示:
    在这里插入图片描述

  • 找到Mosquitto Broker,点击启动此服务
    在这里插入图片描述
    在这里插入图片描述

  • Mosquitto服务默认占用 1883端口,所以可不在配置文件中显式设置。

    四、配置登录账号和密码

        在配置文件mosquitto.conf中,任意位置加入下面文本,保存退出(我说的全新安装的情况下,如果是维护已经使用很久的系统,可在配置文件中找到对应的属性进行更改)

     上面的文件路径根据自己需要修改,这是之后MQTT的账号密码存放的位置。最后的pwfile.example就是存放账号密码的地方。

 

将上述代码在mosquitto.conf打好后,对mosquitto.conf的修改就结束了。记得保存修改!

接下来在下载mosquitto的文件夹内打开终端。(之后要打开mosquitto都要在这个文件夹下,因为没给mosquitto配置环境变量)

重启mosquitto服务配置文件的修改才能生效。为了方便调试和操作,我们后面的操作全部通过命令行模式进行。

插入新用户名及密码,输入密码时界面是不会显示的,直接输入后回车就可以,需要连续输入两次。保证pwfile.example的路径和上面的配置一致。下面打开CMD并进入mosquitto根目录输入:

mosquitto_passwd -c /MosquittoTest/pwfile.example FirstUserName (使用-c 参数会导致清空密码文件,重新插入用户)

mosquitto_passwd /MosquittoTest/pwfile.example SecondUserName (不使用-c 表示追加用户,不影响旧用户)

当然要记得修改上面的文件路径要让程序找到pifile.example。


后面的admiee是自己设置的账号名,成功后输入两次密码,就能在pifile.example里找到生成的账号密码信息了。

创建成功后pwfile.example会出现刚刚添加的用户信息。


圈起来的是自己设置的账号名。

配置成功后我们的mosquitto的配置就结束了。

2.搭建物联网平台

我们使用的是node-red这个应用的优点在于不用敲代码,只需要托控件就能实现物联网平台的搭建,比较简单。在下node-red之前我们要先下载node-js。

nodejs官网

点击Download然后选择版本。我们最好去选择有LTS的这是长期维护版的意思比较稳定。后面选择windows根据自己电脑选择x32或者x64。

下载完之后进行安装

双击安装包,点击Next,勾选使用许可协议,点击Next,选择安装位置(可根据个人情况更换路径,我这里选择安装在C:\Program Files\nodejs)如何安装在自定义位置可以不用配置环境变量,如果安在其他位置就要手动配置环境变量了。继续点击Next,点击Next,点击Install,点击Finish完成安装。
3.添加环境变量

一般右击【此电脑】点击【属性】找到【高级系统设置】就能找到【环境变量】

点开【环境变量】点下面的【path】然后【新建】将你解压好的nodejs的路径加进去。还有node-global的路径。

添加成功后在任何地方打开终端输入以下代码

node -v
npm -v

成功后可以输出下载版本

接下来安装node-red。配置好环境变量后在终端直接输入以下代码 就可直接下好。

npm install -g --unsafe-perm node-red

 加载完毕后就ok了!

 在使用之前最好先配置一下防火墙。MQTT的使用要添加一下入站规则。我们找到防火墙的【高级设置】

【入站规则】然后点击【新建规则】接下来跟我演示的一样就好

剩下的默认直接点【下一步】

最好命名写上MQTT就ok了!

成功后就能看到

成功后我们就可以启动了。我们既需要打开mosquitto也需要打开node-red。

首先我们在mosquitto所在的文件夹里打开终端输入以下命令就可以启动

mosquitto -c mosquitto.conf -v

运行成功后结果如下

有些时候会遇到端口被占用的问题无法成功启动,不要担心。运行以下代码就可以解决。不过终端最好进入管理员模式。

netstat -ano | findstr 1883

先查看端口被谁占用了。再杀掉相关进程

taskkill /pid 4234 /f

其中 /f 表示强制关闭该进程,4324是查询结果显示的pid号 

启动成功后这个终端就无法输入数据了,这表示运行成功。我们需要打开一个新的终端运行以下命令运行node-red

node-red

成功后显示以下结果

我们到这一步物联网平台的预设置就完成了。接下来开始正式搭建。

打开浏览器,输入以下网址。

打开成功后就可以搭建了。

打开节点管理下载以下节点。之后要用到这是有关物联网平台各类控件的。

下载完成后就会多以下控件

我们开始正式搭建。

托出以下控件进行测试

进行连接

一一进行配置。不想动脑就和我配置一样即可。

 上面的ip要换成你电脑的ip!!!

客户端可以随便写,但连接你MQTT的各个设备不能有重名的ip。

设置完成后进行测验。



点击部署后,单机输入端这个地方,会弹出成功注入。点击右上那个小虫图标下面会显示mqtt接收端debug接收到的数据,上面显示“1”是因为我输入端发送的就是“1”.这说明我们的MQTT服务器能够正常使用。我们建一个简单的控制灯开关的物联网平台。

这是对button的配置。重要的是对Group的配置,不用太需要注意输入的什么,重要的是都要输入新建。因为里面都是命名。

一定要点击更新。

这是对接收端那个标有text的控件。Group要和上面的button是一个。点击部署查看结果浏览器输入查看结果。(继续看我下一章帖子)

  • 27
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值