Esp8266+DHT11+光线传感器做一个智能家居相关的一个小玩意

男朋友自己弄了一个智能家居产品,在开发过程中遇到很多问题,网上的解决办法很少,他想把自己的经历发出来,帮助一下被这些问题困扰着的朋友。

有项目想要合作或者有问题可以给他发邮件 :[email protected](可以直接给他发邮件,我也不太懂这方便的知识o)

(以下是他原稿转载请注明出处,他csdn不能用,帮他发一下啦~)

 

今天做了个有意思的东西,给大家分享下!文章跨度比较大,涉及到C,Java,MQTT,前端几个方面,不喜勿喷。

 

我们今天的主角上场!

Esp8266+DHT11+光线传感器做一个智能家居相关的一个小玩意_第1张图片

 

这是前段时间在TB买了几块ESP8266 01模块,最便宜的那种,一直仍在抽屉里吃灰,闲着也是闲着,不如拿出来做点东西。

查了一下资料,官网介绍它自带32位处理器,官网上也有对应的资料,下载了SDK和演示,以及ESP8266的开发环境,SDK里面有mqtt相关的demo,我们就做一个自动上传的传感器吧。

Esp8266+DHT11+光线传感器做一个智能家居相关的一个小玩意_第2张图片

Esp8266+DHT11+光线传感器做一个智能家居相关的一个小玩意_第3张图片

研究了一下手头的模组,发现只有两个IO,改一下,上图,根据网上找的一张定义,发现还有几个IO可以用。

Esp8266+DHT11+光线传感器做一个智能家居相关的一个小玩意_第4张图片

动手改一下,从24脚GPIO5引线出来,到板子5脚。先把flash拆下来,飞线出来。

Esp8266+DHT11+光线传感器做一个智能家居相关的一个小玩意_第5张图片

焊上flash,大功告成!

Esp8266+DHT11+光线传感器做一个智能家居相关的一个小玩意_第6张图片

 

接下来开始,我们搭建一下MQTT服务器,这里先介绍一下MQTT:

  MQTTMQ Telemetry Transport),消息队列遥测传输协议,轻量级的发布/订阅协议, 适用于一些条件比较苛刻的环境,进行低带宽、不可靠或间歇性的通信。目前已经是物联网消息通信事实上的标准协议了。

找了一台闲置的主机,配置一下,主机是百度云的CentOS,配置起来比较容易,这里我们选用MQTT消息中间件mosquitto:

直接在CentOS执行

yum install mosquitto mosquitto-clients

安装完成之后启动mqtt

mosquitto -c /etc/mosquitto/mosquitto.conf -d

到此为止,mqtt搭建完成。

接下来找了一点dht11espdemo,在esp8266 nonos sdk自带的demo里面集成一下,直接编译。

Esp8266+DHT11+光线传感器做一个智能家居相关的一个小玩意_第7张图片

编译成功,会有两个地址,根据地址烧写,具体烧写步骤直接百度吧,或者私信我。

Esp8266+DHT11+光线传感器做一个智能家居相关的一个小玩意_第8张图片

烧写完成,测试一下。

CentOS服务器中输入命令 mosquitto_sub -t "#"

Esp8266+DHT11+光线传感器做一个智能家居相关的一个小玩意_第9张图片

 

我们发现,现在数据已经传输过来了,接下来写一个后台,去接收下数据。

后台服务器我们用java开发,我们使用国内的JFinal极速开发框架,嗯,确实是极速,很简单,后台前端用layui,图表用echarts,数据库用mysql,mqtt与java之间通讯用:

<dependency>

        <groupId>org.eclipse.pahogroupId>

        <artifactId>org.eclipse.paho.client.mqttv3artifactId>

        <version>1.1.1version>

dependency>

 

具体开发过程坎坷多磨,放过老夫吧!

 

最终!是这样的:

Esp8266+DHT11+光线传感器做一个智能家居相关的一个小玩意_第10张图片

是这样的!

 

好了,分享就到这,有时间完善一下代码,把代码公布出来。

你可能感兴趣的:(硬件)