wifi模块简单使用教程,如何将数据发送到电脑(esp8266 arduino库的使用) wifi
说明一下,我的库是基于1.5.7版本的IDE开发的,主要是从里面复制了一个软串口库,所以1.0x版本会有问题。建议使用1.5x版本尝试下
目前发现的问题是,软件串口库有一个bug,会造成不定时不定位置的字符丢失现象,目前暂无很好的解决方案(除非bug原因被找到并修复),所以这个库的后续开发工作已经暂停,并且可能有些用户会遇到各种问题不能使用,这个就是目前所存在的问题,没有太好的解决方案,目前不推荐使用本库,本帖也仅限于参考,推荐学习研究AT指令,并通过arduino程序来发送这些指令
公告:新版本的OCROBOT SEED模块已经采用了官方版本的固件(已开源),所以要做本实验的童鞋,可以参考wiki上的固件更新教程将ocrobot固件上传到模块中(ocrobot固件及源代码均以开源)。
http://www.ocrobot.com/doku.php?id=zh:ocrobot:modules:seed
2014年11月24日增补
2014-9-16 22:01 上传
(284.8 KB)
最近大家都比较关心WIFI模块的使用,目前328p芯片系列的硬件库已经初步完成了(MANGOIINANO等),下面我给大家演示下具体的使用。首先就是网络的基础知识,这个需要理解下,自己找找资料研读下
具体就是要知道 TCP/IP协议集,什么是TCP 什么是UDP,TCP链接的原理,内网与外网的区别(nat技术),什么端口。
理解下面这句话:任何网络服务器可以理解为监听在指定端口的程序,负责接收数据并且做出反应。
好,我们今天就会用wifi模块往自己的计算机上发送一组字符串(“hello Intelnet~!”),直接发送到我们的自己的电脑的8080端口~
所以我们需要一个能在自己电脑上监听端口的软件,如果有熟悉的可以自己选用,不会的,就下载我提供的这个东西
USR-TCP232-Test.zip
(446.56 KB, 下载次数: 1017)
2014-9-16 20:40 上传
点击文件名下载附件
我们目前只用右侧部分的功能,请照下图配置好软件
2014-9-16 20:42 上传
(240.84 KB)
模式选择为UDP模式(这个模式俗称发送后不管,也是非可靠链接,只管发送数据,路上丢了不会补发。好处就是速度快,效率高)
IP选择你自己的电脑的IP
端口设置为8080
下面的所有的钩钩都去掉
然后点击按钮,使其变红,这样就开启了端口监听,这个软件会在电脑上监听8080端口了。如果端口收到任何数据,都会显示出来。
然后
我们来玩模块,按照下图来接线()
V-------- 3v3
ESP8266 G------- GND ARDUINO
T --------- 10
R --------- 11
接好线,我们去下载arduino库~·
https://github.com/534659123/OCO ... 266-arduino-library
点击右边的 download ZIP下载所有文件,解压缩后将uarlWIFI_328 文件放入arduino的libraries目录下即可
注意目前这个库只适用于328p系列的主板,2560 32u4等硬件选择uarlWIFI这个文件库(当然,不能用我们下面的例子,以后有可能我会做合并)
然后启动arduino,写入下面的代码
ARDUINO 代码复制打印
/show you home wifi AP/#include <uarlWIFI_328.h>WIFI wifi;void setup() {Serial.begin(9600);delay(2000);wifi.confMode(STA);// STA orAP orAP+STAwifi.Reset();Serial.println(wifi.showAP()); //print wifi}void loop() {}
/show you home wifi AP/
#include <uarlWIFI_328.h>
WIFI wifi;
void setup() {
Serial.begin(9600);
delay(2000);
wifi.confMode(STA);// STA orAP orAP+STA
wifi.Reset();
Serial.println(wifi.showAP()); //print wifi
}
void loop() {
}
打开串口监视器,看到类似下图的显示,就说明wifi模块已经正常工作了,下图显示的是你附件模块能够搜索到的wifi热点,所以每个人都不一样
2014-9-16 21:00 上传
(104.04 KB)
BUG更新
很多人在这个程序执行完成后发现,不能显示,我进过排查发现,有些人家周围的wifi信号非常密集,这就造成了显示的列表比较长,超过了arduino的串口缓冲区容量,所以需要手工修改串口缓冲区容量,arduino默认64字节
首先打开文件
\arduino-1.5.7\hardware\arduino\avr\cores\arduino\HardwareSerial.h
看第40 和41行 后面有两个64
我们需要将其改成128或者更大的数字,以保证能顺利的接收所有字符
然后我就要登陆wifi热点了。。这个用另外一个程序
ARDUINO 代码复制打印
/Join wifi AP/#include <uarlWIFI_328.h>WIFI wifi;void setup() {Serial.begin(9600);delay(2000);wifi.confMode(STA);// STA orAP orAP+STA 选择STA模式,也就是客户端模式,简单的说就是作为网卡来用AP就是自己作为热点wifi.Reset(); //reboot wifi Modules wifi.confJAP("SSID","PASSWORD"); //这里填写你要加入的网络热点名与密码,如果是没有密码的也乱写一个写满8位,注意千万别写错了,不会提示的,你会很难排查。 delay(5000); //等待5秒钟时间,让路由器给你分配IP Serial.println(wifi.showIP());// 串口显示获取到的IP,如果正常显示,说明登录网络成功了,如果不显示,需要检查SSID和密码是否写错了}void loop() {}
/Join wifi AP/
#include <uarlWIFI_328.h>
WIFI wifi;
void setup() {
Serial.begin(9600);
delay(2000);
wifi.confMode(STA);// STA orAP orAP+STA 选择STA模式,也就是客户端模式,简单的说就是作为网卡来用AP就是自己作为热点
wifi.Reset(); //reboot wifi Modules
wifi.confJAP("SSID","PASSWORD"); //这里填写你要加入的网络热点名与密码,如果是没有密码的也乱写一个写满8位,注意千万别写错了,不会提示的,你会很难排查。
delay(5000); //等待5秒钟时间,让路由器给你分配IP
Serial.println(wifi.showIP());// 串口显示获取到的IP,如果正常显示,说明登录网络成功了,如果不显示,需要检查SSID和密码是否写错了
}
void loop() {
}
千万注意这个程序是要自己修改SSID和password的~!!!!!!
比如我加入的网络是 OCROBOT 密码是 12345678那一句就要改成
wifi.confJAP("OCROBOT","12345678");
别傻乎乎的一个字不改下载说不行~,严格区分大小写~!!!!!!
下载完后马上打开串口监视器,然后耐心等待。。。。。
比我耐心等待了10多秒以后,会显示如图下的内容
2014-9-16 21:12 上传
(72.01 KB)
呵呵这样就顺利连上自家网络了。。
到这一步后,模块的配置工作就完成啦~~~~只要以后在附近,就不用重新配置了,上电会自动连上的。方便吧~~
下面我们开始写程序来发个数据~
ARDUINO 代码复制打印
#include <uarlWIFI_328.h>WIFI wifi;void setup() { wifi.confMux(
如果一切顺利的话,你的监视器就会看到数据啦,如下图
2014-9-16 21:46 上传
(239.96 KB)
这样,简单的数据上传就完成了
via - 极客工坊