树莓派+arduino实现简单物联网开发(三)arduino连接esp8266控制电器
上一篇我们介绍了WiFi板块 esp8266的烧写与ttl的连接,其实esp8266与arduino的连接大同小异,(这里如果是nano的板子的话建议对esp8266额外供电或者接5v供电,nano上面的3.3v供电电流不足,带不起来。
下面是引脚图
8266的引脚 ardunio的引脚
CH_PD 和 VCC ——————> VCC(3.3v)
TXD ——————> RXD
RXD ——————> TXD
GND ——————> GND
如果还有其他硬件占用rx tx串口记得要用软串口。
好了,上一篇我们说了如何让esp8266自动连接WiFi再连接到服务器,并把收到的数据通过串口转发给arduino,现在我们就要在arduino接收啦。
关于arduino型号较多,烧写也较为简便,这里直接提供代码参考
String comdata = "";
void setup() {
Serial.begin(115200);//启动串口通信
pinMode(Light1, 3);//设置3口为输出模式
}
void loop() {
comdata = "";
//读取来自WiFi的串口数据,
while (Serial.available() > 0)
{
comdata += char(Serial.read());
}
Serial.println(comdata);
//在这里可以通过数据判断来了做些事情
if(comdata == "a"){
digitalWrite(3, HIGH);//设置高,如果D3引脚接led灯,就应该亮了
}
delay(100);
}
这里我们把d3引脚当做信号线连接到继电器,如图:
一般这种继电器有三个口,DC+和DC-对应电源+ -,电压依据型号而定。IN则为信号线,高电平触发,低电平无动作(可更改),继电器的另一端就可以连接一些高压电器什么的,随意发挥。我们的arduino上3号引脚连接IN口,就可以对他操作了。
硬件连接到此结束了。下次更新用树莓派搭建局域网服务器实现局域网控制。不要问我为啥用臃肿的树莓派而不是用esp8266自带的服务器功能,我要做的是智能家居,需要一个靠谱的支撑