一、首先要先搭建本地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。
点击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是一个。点击部署查看结果浏览器输入查看结果。(继续看我下一章帖子)