Linux下搞ESP8266的工具

虽然多在windows下用,但是偶尔也会用到Linux。记录一下,免得搞忘了。
esp8266和micropytho配合相当不错,Linux下刷固件的工具主要就是esptool.py,直接pip安装

擦除sudo esptool.py --port /dev/ttyUSB0 erase_flash

刷固件
sudo esptool.py --port /dev/ttyUSB0 --baud 460800 write_flash --flash_size=detect 0 esp8266-20190125-v1.10.bin

串口工具用picocom,方便简单。sudo picocom /dev/ttyUSB0 -b 115200

其实在linux更方便一些吧,也可以更专注一些。

低成本实现远程开门

因为家里人经常忘带钥匙,结果就是要么我去送钥匙、要么他们来拿钥匙。一直想换智能门锁,家里是老式防盗门,淘了很久也没遇到合适的,反正就只需要一个远程开门的功能就行,指纹密码啥的不是刚需。这些年零零散散的淘了很多电子配件,一直都没怎么用,索性自己弄一个吧。

ESP12-F刷micropython,连接MQTT服务器控制步进电机的运动,通过机械结构拉开门锁(相当于是室内的人开门)。通过手机上的mqtt应用来实现远程开门。前提需要自建MQTT服务器,通过SSL认证和用户密码认证保证安全。还需要3D打印机做一些安装支架。
IMG_20190413_002403-副本.jpg

阅读剩余部分...

esp-12f刷micropython

最近把吃了一年灰的esp-12f找出来了,以前用esp-01s折腾了一个小东西,esp-12f买来一直都没用,因为家里人经常忘带钥匙,准备折腾一个远程开门的机关,所以翻出来试试。

首先焊板子折腾了两三个小时,先用了一个不经常的烙铁,翻来覆去总要出问题,后来拿出用惯了的烙铁分分钟解决问题。接下来就是刷micropython的固件又反复折腾了半天,在我准备放弃的时候,终于刷成功了。在网上不断的找教程,反正模块是用起来了,就差程序和电路了。顺便试了试MQTT服务器,方便、真方便。

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