从零开始开发物联网项目(1)——mqtt服务器搭建[通俗易懂]

从零开始开发物联网项目(1)——mqtt服务器搭建[通俗易懂]去年开发了一个物联网的项目,入了很多坑,花了很多时间,不过最后终于做出了一个初代版本,也算完成了项目。为了避免自己遗忘,也为了让有兴趣学习物联网的同学少入点坑,我整理了一下,写成一个系列教程。通过这个教程,你可以从一个小白成长为可以自己开发物联网项目的菜鸟。项目主要要完成的功能也很简单,就是将传感器的数据通过互联网发送给服务器,然后服务器将数据保存在数据库里;或者通过web端的页面反向控制物联…

大家好,又见面了,我是你们的朋友全栈君。

在这里插入图片描述
去年开发了一个物联网的项目,入了很多坑,花了很多时间,不过最后终于做出了一个初代版本,也算完成了项目。为了避免自己遗忘,也为了让有兴趣学习物联网的同学少入点坑,我整理了一下,写成一个系列教程。通过这个教程,你可以从一个小白成长为可以自己开发物联网项目的菜鸟。
项目主要要完成的功能也很简单,就是将传感器的数据通过互联网发送给服务器,然后服务器将数据保存在数据库里;或者通过web端的页面反向控制物联网硬件,实现类似智能开关之类的功能。

现在比较流行的物联网方式主要有两种,lora和nbiot,当然如果仅仅在家里使用的话用wifi也可以。关于这两种物联网的简介自己去百度吧。这两种方式不太一样,lora需要自己搭建基站,是星系网络连接,所有的节点都和基站通讯,基站负责将数据上传到服务器,基站可以使用wifi,或者4G;nbiot则完全不一样,它的每个节点都自己接入网络,直接上传数据到服务器。两种各有优缺点吧,不过lora在具体安装阶段比较麻烦,因为有时候节点与基站之间距离太远,这时还得加上中继,安装的工作量比较大。nbiot就简单了,完全使用移动运营商的网络。

向服务器上传数据的方式有很多种,不过比较流行的是mqtt协议,首先我们来学习如何搭建mqtt服务器,以及使用手动指令的方式使用esp8266 wifi模块来发送和接收数据。

mqtt服务器搭建

mqtt服务器有很多选择,这里选择emqtt,因为它的搭建实在是非常简单,只要会用电脑的同学都可以顺利完成。首先呢先去
https://www.emqx.io/cn/downloads
下载emqtt服务器,就选择最新的,支持windows的版本吧,下载下来是个zip压缩文件。然后将它解压在D盘(或者其他盘)根目录方便一点,解压后进去就是一个名为emqx的文件夹
在这里插入图片描述
文件夹里有这些文件。好了,先不管这些,现在我们进入cmd控制台,如果是win10,左下角框内输入cmd从零开始开发物联网项目(1)——mqtt服务器搭建[通俗易懂]
注意,现在要用鼠标右击最上面的命令提示符应用
从零开始开发物联网项目(1)——mqtt服务器搭建[通俗易懂]
选择以管理员身份运行
从零开始开发物联网项目(1)——mqtt服务器搭建[通俗易懂]
然后在输入 d: 回车
从零开始开发物联网项目(1)——mqtt服务器搭建[通俗易懂]
就来到了D盘,当然如果你放在其他盘的话就输其他盘符。
然后进入你放置解压开来的emqx服务器的文件夹,我放在了d:\emqx4里了,所以输入cd emqx4,然后用cd命令一层一层知道进入bin文件夹
从零开始开发物联网项目(1)——mqtt服务器搭建[通俗易懂]
最后输入启动服务器的命令:emqx start
从零开始开发物联网项目(1)——mqtt服务器搭建[通俗易懂]
几秒后它自己返回了emqx文件夹,说明服务已经启动了
接下去我们打开浏览器来检验一下服务是否启动,最好用chrome浏览器哦!

输入http://127.0.0.1:18083/
从零开始开发物联网项目(1)——mqtt服务器搭建[通俗易懂]
就进入了控制页面了,然后输入用户名admin,密码public 登录
在这里插入图片描述
到此,mqtt服务器正式启动完毕,怎么样,超级简单吧!

打开左侧工具栏的websocket,就可以测试mqtt数据发送了。
在这里插入图片描述
先点击主页面中的连接,就可以连接上mqtt服务器了,然后订阅一个主题为r的mqtt服务。
从零开始开发物联网项目(1)——mqtt服务器搭建[通俗易懂]
在下面的消息内发送一个主题为r,内容为”Hello world!“的消息
下面就可以看到消息的发送与接收了。
现在你肯定觉得挺无聊,自己给自己发消息有什么意思啊。不要着急,现在我们和手机来进行一下互动。如果是苹果手机,就在App store里搜索mqttool:
在这里插入图片描述
安装完并进入软件,这时你需要查一下自己电脑的ip地址,可以双击电脑右下角的wifi符号,然后进入属性查看。我的是10.0.0.252,大家的和我的肯定不一样哦,自己查!一般局域网内都是192.168.0.***之类的,我的比较特殊,不要介意。
然后打开手机上的软件
在这里插入图片描述
Host就是你电脑的ip地址,Port填1883,然后点击Connect,连接成功后再选择下方的“Publish”
从零开始开发物联网项目(1)——mqtt服务器搭建[通俗易懂]
Topic就输入我们网页里之前订阅的”r”,Message就随便填了,然后点击Publish发送,再回到计算机网页端看看是否收到消息了
在这里插入图片描述
这样,手机和电脑端的网页就能互通消息了,当然也可以手机端也订阅(Subscribe)一个主题,电脑端发送这个主题的消息,手机端也可以收到,我这里就不再写了,自己多玩玩吧。

好了,今天就写到这里了,我们已经成功的搭建了mqtt服务器,并且可以和手机端互动消息了。下一节我们会具体来聊聊mqtt协议。
本文章发在我的微信公众号了,大家有兴趣可以关注我的公众号,那里更新更及时点。
在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/141050.html原文链接:https://javaforall.net

(0)
上一篇 2022年5月8日 下午11:40
下一篇 2022年5月9日 上午6:00


相关推荐

  • python不换行输出

    python不换行输出#!/usr/bin/envpython#-*-coding=utf-8-*-'''Createdon2018年6月24日@author:sairo&#3

    2022年7月6日
    25
  • 宽度学习(Broad Learning System)

    宽度学习(Broad Learning System)宽度学习系统(BLS)一词的提出源于澳门大学科技学院院长陈俊龙于2018年1月发表的《BroadLearningSystem:AnEffectiveandEfficientIncrementalLearningSystemWithouttheNeedforDeepArchitecture》

    2022年5月22日
    37
  • openai sdk 入门指南

    openai sdk 入门指南

    2026年3月16日
    2
  • 免费使用谷歌云服务器一年多少钱_谷歌云服务器永久免费

    免费使用谷歌云服务器一年多少钱_谷歌云服务器永久免费上周自己撸了一年的谷歌云服务器,昨天也帮同事搞了一发。毕竟工作中还是少不了向西方取经。把自己的经验总结一下吧,方便后来之人。说一下前提条件:1.持有外币卡,例有VISA标识、万事达标识、JCB标识的信用卡2.可以上谷歌且有谷歌账号,没有的话自己注册一个。免费申请链接在这:https://cloud.google.com/free/进入申请界面后有一个国家/地区的选项,截止目前没有找到中国的,直接选择了美国即可账户类型选择个人,然后地址直接百度一下美国地址生成器然后找到对应的网站,复制粘贴

    2022年10月5日
    4
  • 013实现使用两个堆栈队列(keep it up)

    013实现使用两个堆栈队列(keep it up)

    2022年1月8日
    47
  • 云夜卡社区系统总控源码_云夜卡社区系统

    云夜卡社区系统总控源码_云夜卡社区系统介绍:1.购买服务器安装宝塔2.添加站点php5.63.上传源码解压【解压出4个目录】4.再次添加3个站点【不添加数据库和ftp】5.每个站点对应一个源码目录6.配置文件和伪静态7.访问控制端域名/admins8.配置主站域名添加主站9.访问主站域名/admin分销:域名/fenxiao总控:域名/admins主站:域名/admin分站:域名/home用户:域名/user网盘下载地址:http://kekewangLuo.net/WL6ONV5KixK0图片:

    2022年8月13日
    7

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号