Arduino+Esp8266+DTH11

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必须共地,不然串口乱码。