去年开发了一个物联网的项目,入了很多坑,花了很多时间,不过最后终于做出了一个初代版本,也算完成了项目。为了避免自己遗忘,也为了让有兴趣学习物联网的同学少入点坑,我整理了一下,写成一个系列教程。通过这个教程,你可以从一个小白成长为可以自己开发物联网项目的菜鸟。
项目主要要完成的功能也很简单,就是将传感器的数据通过互联网发送给服务器,然后服务器将数据保存在数据库里;或者通过web端的页面反向控制物联网硬件,实现类似智能开关之类的功能。
现在比较流行的物联网方式主要有两种,lora和nbiot,当然如果仅仅在家里使用的话用wifi也可以。关于这两种物联网的简介自己去百度吧。这两种方式不太一样,lora需要自己搭建基站,是星系网络连接,所有的节点都和基站通讯,基站负责将数据上传到服务器,基站可以使用wifi,或者4G;nbiot则完全不一样,它的每个节点都自己接入网络,直接上传数据到服务器。两种各有优缺点吧,不过lora在具体安装阶段比较麻烦,因为有时候节点与基站之间距离太远,这时还得加上中继,安装的工作量比较大。nbiot就简单了,完全使用移动运营商的网络。
向服务器上传数据的方式有很多种,不过比较流行的是mqtt协议,首先我们来学习如何搭建mqtt服务器,以及使用手动指令的方式使用esp8266 wifi模块来发送和接收数据。
mqtt服务器搭建
mqtt服务器有很多选择,这里选择emqtt,因为它的搭建实在是非常简