|
一直致力于把DIY的智能开关塞进86盒,所以使用的都是ESP01S加继电器的方案。但是有的时候想在一块ESP01S上实现多个功能,所以就对ESP实际上可以利用的针脚研究了一下,搜索国内似乎没有介绍明白的帖子,搬运了一下英文帖子~
ESP01S实际上有4个IO口,分别是GPIO0,TX(1),GPIO2,RX(3),这四个口都可以用作IO口,只不过想使用RX\TX两个针脚,需要在ARDUINO定义INPUT/OUTPUT之前,设置pinMode(1, FUNCTION_3);,再把这个针脚设置成输入/输出。(FUNCTION_3这个参数就没有仔细研究含义了。)
但是之后又遇到了一个问题,因为使用了RX\TX两个针脚为输入,所以无法用串口打印,我是使用MQTT的client.publish(topic, (char*) payload.c_str()) ,发布到MQTT服务器实现LOG查看。发现因为悬空导致输入不稳定,查阅资料之后发现只能PULLUP,但是不能PULLDOWN,这就很尴尬了,因为我要识别的都是人体感应、干簧管之类的高电平信号……难道只能手动焊接10KΩ的电阻,从硬件上实现下拉么?难道从软件上不行么……
|
|