DEFE's BLOG - dth11
type: channel
link: http://defe.me/tag/dth11/
items: Arduino+Esp8266+DTH11

Arduino+Esp8266+DTH11
type: item
date: 2018-01-18T23:09:00+08:00
description: Arduino买来吃灰都一年多了，这几天突然想折腾一下，就淘了两个Esp8266（01S和12F）准备和以前淘的DTH11模块整一个温度湿度记录系统。多种折腾，最终用Arduino nano + Esp8266-01s+DTH11实现，当然还有个黑群晖挂web服务器实现采集记录。中间遇到两个问题：一是arduino和esp8266通过串口发指令的时候，要做字符串比较，因为写代码比较随意，导致比较不成功，最终结果是没用Sting.trim()的原因。因为串口发送数据print()和println()都在混用，收到的字符会在尾部多结束符合，可用trim()去掉。二是dth11接在arduino上，esp8266上跑一个webserver，需要获取数据时esp8266发指令到arduino，arduino发回数据，问题是获取数据不同步，每次都需要二次刷新网页才能取得数据。因为arduino需要定期获取dth11的数据缓存，就直接改为发送到esp8266上缓存。串口收发数据是异步的，而且arduino是单线程，应该不会出问题。另外arduino和esp8266必须共地，不然串口乱码。