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日增补




TB2KlxhapXXXXbUXpXXXXXXXXXX-750720699.jpg

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 上传
点击文件名下载附件





我们目前只用右侧部分的功能,请照下图配置好软件


11111.jpg

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热点,所以每个人都不一样

1101.jpg

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多秒以后,会显示如图下的内容

aaaa.jpg

2014-9-16 21:12 上传
(72.01 KB)





呵呵这样就顺利连上自家网络了。。



到这一步后,模块的配置工作就完成啦~~~~只要以后在附近,就不用重新配置了,上电会自动连上的。方便吧~~





下面我们开始写程序来发个数据~



ARDUINO 代码复制打印

#include <uarlWIFI_328.h>WIFI wifi;void setup() { wifi.confMux(




如果一切顺利的话,你的监视器就会看到数据啦,如下图

123456.jpg

2014-9-16 21:46 上传
(239.96 KB)







这样,简单的数据上传就完成了
via - 极客工坊

标签: Arduino教程