概述
树莓派+arduino实现简单的全平台物联网开发(二)WiFi模块的配置esp8266
说明:
其实单纯的控制台灯的话只要树莓派+esp8266就够了,但为了以后拓展可能所以我加了arduino。在这我先把WiFi拿出来讲,因为毕竟通信不出问题才好办事嘛。
设计思路:
arduino–>WiFi模块–>树莓派的服务器–>客户端—>返回数据—>控制台灯
烧写程序:
在这里我们不用原厂的固件,而是自己写代码控制
第一步:
下载相关开发工具:
下载地址:ardunio下载地址
第二步:
现在下载完ide并不能用来开发esp8266,需要下载相应的库才行,我一开始也是掉进了这个坑,打开arduino单击文件,选择首选项,打开设置界面
在网址里填写 http://arduino.esp8266.com/stable/package_esp8266com_index.json 这个网址,然后好的保存,之后单击工具,找到开发版管理,他会自动下载索引,之后搜索esp8266,你就可以看到这个库了,点击安装。
之后选择esp的开发版,就可以了(注意,如果之前步骤不执行是不会有对应的开发版型号的)
第三步:
好了·软件环境搭好了,接下来就是板子连接电脑了,这里需要一根ttl转接线,淘宝9.9包邮自己找去吧,买回来后记得安装好驱动,首先百度了一个esp的引脚图
这张图片很清楚了说明接线方式
8266的引脚
ttl转接线的引脚
CH_PD 和 VCC
——————>
VCC(3.3v)
TXD
——————>
RXD
RXD
——————>
TXD
GND 和 GPIO0
——————>
GND
!!!!!注意重点
GPIO0在烧写时候要接GND,工作时候要悬空!!!!!
这里我说明一个问题哈,一个是线不要接错,然后在连接电脑时候总是莫名的烧不进去,要多试很多次才好,可能是我的线接触不好的关系,还有一个就是我的接3.3v电他并不工作,我也很疑惑,最后接了5v的才好使,买了2个都这样,对于板子没有备用的不要贸然尝试,烧坏不管。
这里可以用串口调试工具测试一下,输入指令AT,看看是否有OK返回。
第四步:
写代码:
这里由于数据分析操作由arduino执行,所以这部分写成透传模式就可以了。就是把服务器获取的数据不做任何处理的通过串口传给arduino。
示例代码:
#include <ESP8266WiFi.h>
const char *ssid
= "MERCURY_E400";//wifi ssid
const char *password = "12345";//WiFi密码
const char *addr = "192.168.1.108";//目标服务器ip
const int clPort = 7888;//端口号
WiFiClient client;//tcpclient实例
void setup() {
Serial.begin(115200);
delay(10);
//连接到WiFi
WiFi.begin(ssid, password);
while(WiFi.status() != WL_CONNECTED)
{
Serial.println("wifi connect faile"); //处理未连接异常
delay(100);
}
}
void loop() {
while(!client.connected())
{
Serial.println("unconnect server"); //处理未连接到服务器异常
if(!client.connect(addr, clPort))
{
Serial.println("connect faile");
delay(500);
}
}
//透传数据
while (client.available())//读取到的数据转发到到串口
{
uint8_t c = client.read();
Serial.write(c);
}
if (Serial.available())//串口读取到的转发到wifi,因为串口是一位一位的发送所以在这里缓存完再发送
{
size_t counti = Serial.available();
uint8_t sbuf[counti];
Serial.readBytes(sbuf, counti);
client.write(sbuf, counti);
}
}
这里用到了服务器,关于这方面我的以后文章会去讲,这里主要说明一下WiFi连接和透传方面的内容,ok,把这个程序上传后,他就可以像介质一样让我们的ardunio和服务器进行无线通信了。
本文到这里结束,下篇文章聊聊板子和arduino的连接
最后
以上就是失眠指甲油为你收集整理的树莓派+arduino实现简单物联网开发(二)WiFi模块的配置esp8266树莓派+arduino实现简单的全平台物联网开发(二)WiFi模块的配置esp8266说明:设计思路:烧写程序:的全部内容,希望文章能够帮你解决树莓派+arduino实现简单物联网开发(二)WiFi模块的配置esp8266树莓派+arduino实现简单的全平台物联网开发(二)WiFi模块的配置esp8266说明:设计思路:烧写程序:所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复