我们不仅销售产品,我们还传播知识
商品分类

D1 WIFI UNO开发板基础资料

D1 WIFI UNO开发板基础资料

一、基础知识

1.Arduino简介

Arduino是一款便捷灵活、方便上手的开放源代码硬件项目平台。

Arduino板基于Atmel的微控制器,增加使其能够适用大部分运行条件的电子元件,并引出简单的I/O接口,方便快发开发应用。

Arduino的软件部分主要包含ArduinoIDE以及相关的板级支持包和丰富的第三方组件库。

Arduino特点:跨平台、简单清晰、开放软硬件、发展迅速。

2.ESP8266简介

ESP8266EX 内置超低功耗Tensilica L106 32 位 RISC 处理器,CPU 时钟速度最高可达 160 MHz,支持实时操作系统(RTOS) 和 Wi-Fi 协议栈,可将高达 80% 的处理能力留给应用编程和开发

ESP8266模块可以独立于Arduino等开发板,作为一块独立的开发板使用。它拥有GPIO、I2C、ADC、SPI、PWM等模块,可以用它做大多数MCU能做的工作,且性能甚至远超多数MCU。

ESP8266EX 的工作温度范围大,且能够保持稳定的性能,能适应各种操作环境,可以说目前ESP8266目前占据了相当大的市场份额,尤其是米家、百度、阿里等平台都在使用ESP8266。

3.带着主角光环的WeMos D1

WeMos

D1开发板全称是WeMos D1 WiFI UNO R3开发板,基于ESP-12E,而且兼容Arduion,有了这款物联网开发板,我们就可以愉快的使用arduino方式开发ESP8266,玩转物联网项目。

D1 WIFI UNO开发板基础资料

技术参数

1、处理器ESP-8266EX

2、工作电压3.3V 

3、输入电压6-24V

4、I/O 数量11

5、AD 输入电压0-3.3V

6、Flash 4MB    SRAM32KB    DRAM 80KB

7、时钟频率80MHz/160Mhz    网络802.11 b/g/n

8、尺寸规格:长68.6mm x 宽53.4mm

9、重量21g

D1 WIFI UNO开发板基础资料

所有的 IO 工作電平為 3.3V,可瞬間承受 5V;

除 D2 外,所有 I/O 都支持中斷,PWM,I2C,跟 1-wire;

二、开发环境配置

1.Arduino

IDE下载

链接:https://pan.baidu.com/s/1wkdeNSwjehN02clOq7FQOw

提取码:c54z

D1 WIFI UNO开发板基础资料

下载后直接解压点击arduino.exe运行即可,无需安装,注意如果提示有新版本可供升级,直接忽略即可。

2.驱动安装

点击arduino-nightly-windows\arduino-nightly\drivers中dpinst-amd64.exe或者dpinst-x86.exe 直接进入安装程序。

D1 WIFI UNO开发板基础资料

三、IDE配置

第一步:打开Arduino,选择“文件/首选项”;

D1 WIFI UNO开发板基础资料

第二步:http://arduino.esp8266.com/stable/package_esp8266com_index.json

将这个json地址键入下图所示开发板网址管理器的位置,点击“好”;

第三步:下载库文件

百度网盘链接:https://pan.baidu.com/s/1Yb1nVvAct26aHSFYUhvc_g

提取码:rbxx

【文件名:packages】

下载好文件后解压到

C:\Users\你电脑的用户名\AppData\Local\Arduino15\staging\packages

D1 WIFI UNO开发板基础资料

如果在你的电脑用户名文件夹下没有看到AppData文件夹,记得点上菜单栏里隐藏项目前面的勾勾。

D1 WIFI UNO开发板基础资料

第四步:到开发板管理器安装

在开发板管理器搜索8266就能找到要的支持文件了;

D1 WIFI UNO开发板基础资料
D1 WIFI UNO开发板基础资料

版本选择2.4.0,然后点击安装,安装完成后点击关闭即可。

然后选择开发板–ESP8266Modules–WeMos D1 R1.

D1 WIFI UNO开发板基础资料

具体端口可以在我的电脑–管理–设备管理器–端口中查看。

D1 WIFI UNO开发板基础资料

其他选项设置如下:

D1 WIFI UNO开发板基础资料

第五步:测试;

点击文件–示例–01.Basics–Blink,点击上传,将程序烧录进开发板,板载蓝色LED灯一秒一闪,则说明安装成功。

D1 WIFI UNO开发板基础资料

六、编程调试

WeMos中定义的arduino引擎编号其实是与ESP8266上的GPIO引擎编号对应,所以数字编号与IO口编号不是一一对应的,在使用起来会有些不便,其实引脚也可以用D0~D15直接操作IO口,这样就与开发板上的资源对应了。

如pinMode(2,

OUTPUT);可以直接写为:pinMode(D9, OUTPUT);

ESP8266WiFi库主要包含Station、Soft

AP、config、WiFiClient、WiFiServer、scan、hostname,这里主要介绍Station相关的函数使用。

D1 WIFI UNO开发板基础资料

1.连接WIFI测试;

A:动态IP方式连接WiFi热点

#include

#define WIFI_SSID “xingyuanli”

#define WIFI_PASSWD “12345678”

void setup() {

Serial.begin(115200);

WiFi.mode(WIFI_STA);

WiFi.begin(WIFI_SSID, WIFI_PASSWD);

WiFi.setAutoConnect (true);

WiFi.setAutoReconnect (true);

while (WiFi.status() != WL_CONNECTED)

{

delay(1000);

Serial.println(“connecting……”);

}

Serial.println(“Connected to AP”);

delay(3000);

}

void loop() {

if (WiFi.status() == WL_CONNECTED)

  {

Serial.println(“Connect to router success”);

Serial.println(String(“local IP is”)+WiFi.localIP().toString());

   Serial.println(String(“Subnet mask is”)+WiFi.subnetMask().toString());

   Serial.println(String(“gatewayIP address is”)+WiFi.gatewayIP().toString());

   Serial.println(String(“dnsIP address is”)+WiFi.dnsIP().toString());

   Serial.println(String(“SSID is “) + WiFi.SSID());

   Serial.println(String(“PSK is “) + WiFi.psk());

   Serial.println(String(“BSSID is “) + WiFi.BSSIDstr());

   Serial.println(String(“RSSI is “) + WiFi.RSSI());

  }else

  {

   Serial.println(“Connect to router failed”); 

  }

  // Wait a bit beforescanning again

  delay(1000);

}

上述程序中,首先设置模块为WIFI_STA模式,然后程序调用WiFi.begin()连网后等待,直到WiFi.status()等于WL_CONNECTED,程序继续往下执行,然后打印MAC地址,并在loop()函数中循环打印IP地址网络信息。

B:静态IP方式连接WiFi热点

#include

#define WIFI_SSID “xingyuanli”

#define WIFI_PASSWD “12345678”

IPAddress local_static_ip(192, 168, 43, 10);

IPAddress local_gateway(192, 168, 43, 1);

IPAddress local_subnet(255, 255, 255, 0);

IPAddress local_dns_ip(192, 168, 43, 1);

void setup() {

Serial.begin(115200);

WiFi.mode(WIFI_STA);

WiFi.begin(WIFI_SSID, WIFI_PASSWD);

WiFi.config(local_static_ip, local_gateway, local_subnet,local_dns_ip);

WiFi.setAutoConnect (true);

WiFi.setAutoReconnect (true);

while (WiFi.status() != WL_CONNECTED)

{

delay(1000);

Serial.println(“connecting……”);

}

Serial.println(“Connected to AP”);

Serial.println(String(“mac address is”)+WiFi.macAddress());

delay(3000);

}

void loop() {

if (WiFi.status() == WL_CONNECTED)

  {

   Serial.println(“Connect to router success”);

   Serial.println(String(“Subnet mask is”)+WiFi.subnetMask().toString());

    Serial.println(String(“gatewayIPaddress is “)+WiFi.gatewayIP().toString());

   Serial.println(String(“dnsIP address is”)+WiFi.dnsIP().toString());

   Serial.println(String(“SSID is “) + WiFi.SSID());

   Serial.println(String(“PSK is “) + WiFi.psk());

    Serial.println(String(“BSSIDis “) + WiFi.BSSIDstr());

   Serial.println(String(“RSSI is “) + WiFi.RSSI());

  }else

  {

   Serial.println(“Connect to router failed”); 

  }

  // Wait a bit beforescanning again

  delay(1000);

}

上述程序中,设置固定IP地址后等待,直到WiFi.status()等于WL_CONNECTED,程序继续往下执行,然后打印MAC地址,并在loop()函数中循环打印IP地址网络信息。

C:修改模块DHCP主机名

#include

#define WIFI_SSID “xingyuanli”

#define WIFI_PASSWD “12345678”

#define WIFI_HOSTNAME “ESP8266_test01”

void setup() {

Serial.begin(115200);

WiFi.mode(WIFI_STA);

WiFi.begin(WIFI_SSID, WIFI_PASSWD);

WiFi.setAutoConnect (true);

WiFi.setAutoReconnect (true);

while (WiFi.status() != WL_CONNECTED)

{

delay(1000);

Serial.println(“connecting……”);

}

Serial.println(“Connected to AP”);

Serial.println(String(“mac address is”)+WiFi.macAddress());

Serial.println(String(“hostname is”)+WiFi.hostname());

WiFi.hostname(WIFI_HOSTNAME);

delay(3000);

}

void loop() {

if (WiFi.status() == WL_CONNECTED)

  {

   Serial.println(“Connect to router success”);

    Serial.println(String(“hostnameis “)+WiFi.hostname());

  }else

  {

   Serial.println(“Connect to router failed”); 

  }

  // Wait a bit beforescanning again

  delay(1000);

}

上述程序中,首先设置模块为WIFI_STA模式,然后程序调用WiFi.begin()连网后后等待,直到WiFi.status()等于WL_CONNECTED,程序继续往下执行,然后打印MAC地址和hostname,之后设置hostname为”ESP8266_TEST1″,并在loop()函数中循环打印hostname信息。

发表回复

登录后才能评论
微信群
微信群
联系我们

联系我们

微信:13823392571

在线咨询:点击这里给我发消息

工作时间:周一至周五,9:30-18:30,节假日休息

微信客服
微信客服
分享本页
返回顶部