物联网开发基础

目录

NodeMCU开发板的接入点模式

 无线终端模式(Station)

1. 连接WiFI

2. 自动连接最强信号WiFi网络


NodeMCU开发板的接入点模式

         

接入点模式(Access Point, 也称 AP)

NodeMCU可以建立WiFi网络供其它设备连接。当NodeMCU以此模式运行时,我们可以使用手机搜索NodeMCU所发出的WiFi网络并进行连接。

/*
NodeMCU接入点模式

2019-03-11
 
此程序用于演示如何将NodeMCU以接入点模式工作。通过此程序,您可以使用
电脑或者手机连接NodeMCU所建立WiFi网络。
 
网络名: CUMTB
密码:12345678
 

*/
 
#include <ESP8266WiFi.h>        // 本程序使用ESP8266WiFi库
 
const char *ssid = "CUMTB"; // 这里定义将要建立的WiFi名称。此处以"CUMTB"为示例
                                   // 您可以将自己想要建立的WiFi名称填写入此处的双引号中
 
const char *password = "12345678";  // 这里定义将要建立的WiFi密码。此处以12345678为示例
                                    // 您可以将自己想要使用的WiFi密码放入引号内
                                    // 如果建立的WiFi不要密码,则在双引号内不要填入任何信息
 
void setup() {
  Serial.begin(9600);              // 启动串口通讯
 
  WiFi.softAP(ssid, password);     // 此语句是重点。WiFi.softAP用于启动NodeMCU的AP模式。
                                   // 括号中有两个参数,ssid是WiFi名。password是WiFi密码。
                                   // 这两个参数具体内容在setup函数之前的位置进行定义。
 
  
  Serial.print("Access Point: ");    // 通过串口监视器输出信息
  Serial.println(ssid);              // 告知用户NodeMCU所建立的WiFi名
  Serial.print("IP address: ");      // 以及NodeMCU的IP地址
  Serial.println(WiFi.softAPIP());   // 通过调用WiFi.softAPIP()可以得到NodeMCU的IP地址
}
 
void loop() { 
}

 打开cmd 输入 ping 192.168.4.1

如果得到这个说明已经和我们的8266 连接了

 当您将以上程序上传以后,NodeMCU在每次启动以后,都会自动启动接入点模式。接入点WiFi的详细信息会通过串口监视器输出给用户查看,如下图所示:

 

 无线终端模式(Station)

1. 连接WiFI

如下图所示,ESP8266可通过WiFi连接无线路由器。这与用您的手机通过WiFi连接无线路由器的模式相同。

 

 以下示例程序用于演示如何使用NodeMCU以无线终端模式通过WiFi连接无线路由器。

 

/*
NodeMCU无线终端模式连接WiFi

 
本示例程序用于演示如何使用NodeMCU无线终端模式连接WiFi
 

*/
 
#include <ESP8266WiFi.h>        // 本程序使用ESP8266WiFi库
 
const char* ssid     = "CUMTB";      // 连接WiFi名(此处使用CUMTB为示例)
                                            // 请将您需要连接的WiFi名填入引号中
const char* password = "12345678";          // 连接WiFi密码(此处使用12345678为示例)
                                            // 请将您需要连接的WiFi密码填入引号中
                                            
void setup() {
  Serial.begin(9600);         // 启动串口通讯
  
  WiFi.begin(ssid, password);                  // 启动网络连接
  Serial.print("Connecting to ");              // 串口监视器输出网络连接信息
  Serial.print(ssid); Serial.println(" ...");  // 告知用户NodeMCU正在尝试WiFi连接
  
  int i = 0;                                   // 这一段程序语句用于检查WiFi是否连接成功
  while (WiFi.status() != WL_CONNECTED) {      // WiFi.status()函数的返回值是由NodeMCU的WiFi连接状态所决定的。 
    delay(1000);                               // 如果WiFi连接成功则返回值为WL_CONNECTED                       
    Serial.print(i++); Serial.print(' ');      // 此处通过While循环让NodeMCU每隔一秒钟检查一次WiFi.status()函数返回值
  }                                            // 同时NodeMCU将通过串口监视器输出连接时长读秒。
                                               // 这个读秒是通过变量i每隔一秒自加1来实现的。
                                               
  Serial.println("");                          // WiFi连接成功后
  Serial.println("Connection established!");   // NodeMCU将通过串口监视器输出"连接成功"信息。
  Serial.print("IP address:    ");             // 同时还将输出NodeMCU的IP地址。这一功能是通过调用
  Serial.println(WiFi.localIP());              // WiFi.localIP()函数来实现的。该函数的返回值即NodeMCU的IP地址。
}
 
void loop() {                                   
}

这里的WiFi名和密码都要是你路由器的名和密码,让8266去连接你的路由器

 上传成功后,打开串口监视器,手动复位

 

 

 

如下图所示,为了确认NodeMCU的确已经联网,我们可以在Windows操作系统的“命令提示符”中输入:
ping 192.168.0.106

 

当我们在“命令提示符”窗口中看到了这几条Reply from 192.168.0.106: bytes=32 ...以后,就可以确定电脑和NodeMCU可以彼此通讯了,这也就证明了NodeMCU已经成功联网。

相反,如果您的NodeMCU没有联网的话,在“命令提示符”窗口中将会看到Request timed out 信息。如下图所示。

2. 自动连接最强信号WiFi网络

 假如我们的NodeMCU只在一个地方使用,它也就只需要知道一个WiFi网络的连接信息。但是如果NodeMCU需要在多个地方使用,这时候就需要它能存储多个地点的WiFi信息。通过以下示例程序,NodeMCU可以在它所处的网络环境里搜索预先存储好的WiFi。一旦找到预存的WiFi名称,NodeMCU将会使用预存的密码信息尝试连接该WiFi。如果同时找到多个预存WiFi,NodeMCU将会尝试连接信号最强的WiFi

 

/*

 
此程序将会控制NodeMCU在当前的网络环境里搜索预先存储好的WiFi。
一旦找到预存的WiFi名称,NodeMCU将会使用预存的密码信息尝试连接该WiFi。
如果同时找到多个预存WiFi,NodeMCU将会尝试连接信号最强的WiFi。

*/

#include <ESP8266WiFi.h>          // 本程序使用ESP8266WiFi库
#include <ESP8266WiFiMulti.h>   // 本程序使用ESP8266WiFiMulti库

ESP8266WiFiMulti wifiMulti;     // 建立ESP8266WiFiMulti对象,对象名称是'wifiMulti'

void setup() {
  Serial.begin(9600);            // 启动串口通讯

//通过addAp函数存储  WiFi名称       WiFi密码
  wifiMulti.addAP("taichi-maker", "12345678");  // 这三条语句通过调用函数addAP来记录3个不同的WiFi网络信息。
  wifiMulti.addAP("taichi-maker2", "87654321"); // 这3个WiFi网络名称分别是taichi-maker, taichi-maker2, taichi-maker3。
  wifiMulti.addAP("taichi-maker3", "13572468"); // 这3个网络的密码分别是123456789,87654321,13572468。
                                                // 此处WiFi信息只是示例,请在使用时将需要连接的WiFi信息填入相应位置。
                                                // 另外这里只存储了3个WiFi信息,您可以存储更多的WiFi信息在此处。
                                                
  Serial.println("Connecting ...");         // 通过串口监视器输出信息告知用户NodeMCU正在尝试连接WiFi
  int i = 0;                                 
  while (wifiMulti.run() != WL_CONNECTED) {  // 此处的wifiMulti.run()是重点。通过wifiMulti.run(),NodeMCU将会在当前
    delay(1000);                             // 环境中搜索addAP函数所存储的WiFi。如果搜到多个存储的WiFi那么NodeMCU
    Serial.print('.');                       // 将会连接信号最强的那一个WiFi信号。
  }                                           // 一旦连接WiFI成功,wifiMulti.run()将会返回“WL_CONNECTED”。这也是
                                              // 此处while循环判断是否跳出循环的条件。

  
  Serial.println('\n');                     // WiFi连接成功后
  Serial.print("Connected to ");            // NodeMCU将通过串口监视器输出。
  Serial.println(WiFi.SSID());              // 连接的WiFI名称
  Serial.print("IP address:\t");            // 以及
  Serial.println(WiFi.localIP());           // NodeMCU的IP地址
}

void loop() { 
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
物联网开发是指通过互联网将设备、传感器和其他物体连接起来,使其能够相互交流和共享数据。为了帮助初学者了解和掌握物联网开发的基础知识和技术,可以提供一本简易的物联网开发教材PDF。 这本教材应该以简明扼要的方式介绍物联网的基本概念、原理和应用。首先,教材可以解释物联网的定义和背景,包括其与传统物联网的区别和发展趋势,使读者对物联网的整体概念有一个清晰的认识。 然后,教材可以讲解物联网的关键技术,包括传感器、通信技术、云计算和数据分析等。对于每一项技术,可以简要介绍其原理和特点,并结合实际应用案例进行说明。此外,教材还可以提供一些常用的物联网平台和开发工具的介绍,以帮助读者在实践中更好地应用所学知识。 除了技术知识,教材还应该包含一些具体的实例和实践项目。通过给出一些简单的物联网开发案例,如家庭智能化、智能农业或智能城市等,读者可以更好地理解物联网开发的具体过程和步骤。教材还可以提供一些实践项目的详细指导,以帮助读者动手实践,并从中学习和提高自己的物联网开发能力。 最后,教材可以提供一些参考资料和进一步学习的资源,如相关网站、论坛、社区等。这样读者可以继续深入学习和探索物联网开发的更高级技术和应用。 总之,一本简易的物联网开发教材PDF应该既涵盖了物联网的基本概念与原理,又具有实用的案例和实践项目。通过学习这本教材,读者可以初步掌握物联网开发的基础知识,并能够进行简单的物联网开发实践。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值