智能车与机器人技术交流平台

概述

可能已经有人很熟练的编写ESP8266程序,但是因为我学习运用的时间也就一周左右,踩了好多坑,所以不喜就不要看勿喷。文章仅此分享交流一些经验,供此参考。

主要做的工作是连接服务器,用app控制灯的亮灭,以此类推也可以控制继电器以及向服务器传输IIC或者其他传感数据。下面是几张做出来的成果照片,只是做了项目的一部分,后续会把完整项目的代码发布出来。

模块用的ESP8266MOD,协议是TCP,APP用的TCP连接(浏览器上下载就可以),由于阿里云,腾讯的服务器是MQTT协议,所以也会发布一版此协议的程序。

TCP直连APP可以直接在聊天窗口发接消息,也可以在12宫格自行设置,我设置的开关灯。

实现方法

1、ESP8266配网

配网用安信可公众号的一键配网功能,wifi名称和密码写入即可。

WiFi.mode(WIFI_STA);//设置工作模式

WiFi.beginSmartConfig();//开始快连开启快连模式,快速连接 ESP8266 Station 到 AP。ESP8266 抓取空中特殊的数据包,包含⽬ 标 AP 的 SSID 和 password 信息,同时,用户需要通过手机或者电脑广播加密的 SSID 和 password 信息。

WiFi.smartConfigDone()//等待配网完成。

WiFi.status()//判断当前是否联网,判断此时wifi状态,做好相应的操作。

WiFi.localIP());ESP8266的ip

WiFi.gatewayIP());//路由的IP,可将其打印在串口或者显示在oled液晶屏,我没显示和本地ip操作一致。

Oled液晶屏不在此讲解,可自行看资料,网上好多,将IP显示在oled显示屏花费了我半天的时间,IP地址属于IP类型,不能直接显示,所以需要将此转换为字符串,再转换为char*格式,具体操作见下。

ip1=WiFi.localIP().toString();

OLED_ShowString(0,6,(char *)(ip1.c_str()),16);

千万不要一蹴而就将整个公式写一行代码,因为Arduino软件自身或者模块的问题(不太清楚),公式最好一步一步写,不然会出错。

2、连接服务器

服务器IP和端口都是固定的,所以你需要查看你要连接的服务器明确他们的信息。

client.connect(serverIP, serverPort)//模块连接WIFI后通过路由连接服务器,serverIP,是IP地址,serverPort是端口,连接成功返回1,反之为0。

client.available()//判断有无数据到达,有返回1,没有返回0。

client.read()//读取服务器发送的数据。

client.write()//给服务器发送数据。

3、接收到数据解析操作IO口

操作IO口开始我用的乐鑫的SDK,软件是ARduino软件,不知道是否是因为没有用乐鑫提供的IDE还是什么导致不能成功操作,所以后来我又用了ARDuino的SDK来操作,Arduino引脚与8266对应不同,关系表如下。

static const uint8_t D0   = 16;

static const uint8_t D1   = 5;

static const uint8_t D2   = 4;

static const uint8_t D3   = 0;

static const uint8_t D4   = 2;

static const uint8_t D5   = 14;

static const uint8_t D6   = 12;

static const uint8_t D7   = 13;

static const uint8_t D8   = 15;

static const uint8_t D9   = 3;

static const uint8_t D10  = 1;

如果要操作IO12,#define LED  D6

pinMode(LED,OUTPUT);//配置输入还是输出

digitalWrite(LED, HIGH);//设置高  digitalWrite(LED, LOW);//设置低

其它难点就没有什么了

要源码可以关注公众号,后台私信留邮箱。

调试

调试过程下载的时候有时候会出现错误,COM5或者三口不存在或者找不到,一是重新插拔下载,而是找到Arduino软件的Driver文件重新下载驱动就好了。

二、注意Arduino软件是g++编译器,有的语法不跟C语言 C++一样,比如void*可代替所有类型的指针,但是此软件会报错,只能用同宗同源的类型。

最后,请多多支持,谢谢大家!

已修改 0/20

还未开始修改

预览 提交修改

undefined

ESP8266配网并将IP显示至oled液晶屏 ESP8266远程连接服务器控制灯或继电器相关推荐

  1. Teamviewer连接服务器显示不能够全屏 或 向日葵连接服务器不能够全屏 或 Teamviewer只显示一个640x480的分辨率选项

    欢迎大家关注笔者,你的关注是我持续更博的最大动力 原创文章,转载告知,盗版必究 Teamviewer连接服务器显示不能够全屏 或 向日葵连接服务器不能够全屏 或 Teamviewer只显示一个640x ...

  2. 连接服务器显示出现内部错误怎么解决方案,远程连接服务器提示“出现了内部错误”解决方法锐讯网络罗海清...

    远程连接服务器提示"出现了内部错误"解决方法: 解决方法: Win+R键 打开DOS窗口 输入"ncpa.cpl"并敲击回车 紧接着会看到"本地连接& ...

  3. stm32 esp8266配网-smartConfig和BT串口方式配网

    stm32 esp8266 ota系列文章: stm32 esp8266 ota-快速搭建web服务器之docker安装openresty stm32 esp8266 ota升级-tcp模拟http ...

  4. ESP8266配网最方便快捷的库

    ESP8266配网最方便快捷的库 WiFiManager.h应该是我见过的配网库里面最快捷方便,而且功能齐全的库. 库的地址:GitHub 不需要手动写配置页面.省去了html代码的编写. 实例程序代 ...

  5. AliOS-Things ESP8266 配网 学习

    AliOS-Things ESP8266 配网 学习 1.环境搭建 2.流程 1.环境搭建 参考官网 2.流程 确认流程通过浏览源码.增加打印以及查看打印来确认,如果遇到乐鑫SDK的函数,不作详细说明 ...

  6. 如何给esp8266 配网?

    玩ESP8266也有一段时间了,发一篇博客记录一下ESP8266配网的方法,也希望能给大家提供一点帮助,我使用的是Arduino的开发环境. 1. 固定在程序里 首先是测试时我们经常将自己家的WIFI ...

  7. 使用花生壳远程连接服务器,服务器的IP地址改变时,重连服务器的方法

    这个事情是我经历过的,想分享给大家,同时也做个自己的记录. 不知道审核为什么非说这篇是个广告???!!!审核的人一定没用过花生壳这个软件吧!!我又没有引导大家进行消费,只是告诉大家在出现这个问题的时候 ...

  8. 【vscode远程开发】使用SSH远程连接服务器 「内网穿透」

    文章目录 视频教程 1.安装OpenSSH 2.vscode配置ssh 3. 局域网测试连接远程服务器 4. 公网远程连接 4.1 ubuntu安装cpolar 4.2 创建隧道映射 4.3 测试公网 ...

  9. 【内网穿透服务器】利用云服务器+FRP实现内网穿透并远程连接服务器

    应用目的:远程管理或在外网访问内网机器上的服务 这里我们是使用云服务器+FRP实现内网穿透,达到远程连接服务器的目的 准备工作 云服务器 这里我们租用的是腾讯云的服务器,类似于下图的这种,配置选择可以 ...

最新文章

  1. 区块链BaaS云服务(22)趣链BitXHub跨链平台
  2. [原创]OpenvSwitch安装
  3. uva 10396——Vampire Numbers
  4. Linux 终端(TTY)
  5. python怎么创建变量_Python之变量的创建过程
  6. 新代数控系统编程说明书_数控加工中心编程快速入门教程
  7. 批量创建文件夹 在批量创建的文件夹下创建两个子文件夹
  8. 几种微弱信号处理电路
  9. 【方向盘】2021年JVM生态报告:Java 11使用率超Java 8
  10. 使用Cent Browser+Aria2+Bilibili Envolved下载b站视频--保姆级安装步骤
  11. android 修改aar包资源文件的最简单方法
  12. Exception [WinError 995] 由于线程退出或应用程序请求 的解决办法
  13. 商品筛选html,js实现简单商品筛选功能
  14. html图片靠右浮动 文字左侧环绕,关于html:将图片浮动到右下角,文字环绕
  15. 请别再问我什么是分布式事务
  16. 特效笔记1----特效设计的概念和基础原则
  17. 为什么换了硬盘计算机无法启动,完美的解决方案:更换固态硬盘后无法打开计算机的原因分析和解决方案...
  18. Windows下 批量重命名文件【bat实现】
  19. 速读原著-TCP/IP(UDP首部)
  20. 咳咳咳。继续编下去,等未来的我来嘲讽现在的我,百度圣典内部函数归类总结

热门文章

  1. 月薪3000和30000的数据分析师差在哪?
  2. android权限授权
  3. mongodb Capped Collection
  4. dlsym调用,报错undefinedsymbol:
  5. textarea赋值时换行符无效的解决方法
  6. 禁止输入特殊符号和空格
  7. 期货开户合约的规模和价值
  8. 【Oracle】LISTAGG 函数的用法
  9. Android,页面3秒自东跳转和点击跳转显示
  10. C 语言:#endif 指令