NodeMCU學習(三) : 進入網絡世界

閱讀原文可以訪問我的個人博客

NodeMCU連接到路由器網絡上

? NodeMCU可以被配置為Station模式和softAP模式或者Station + AP模式,當它被配置為Station模式時,就可以去連接Access Point(如路由器)。當它被配置為Soft Access Point模式時,其他的Station(如手機、電腦)就可以連接到它,并與它進行通信。當它被配置為Station + AP模式時,即可作為Station也可以作為Access Point

?

3-1 模塊被配置為Station模式

?

3-2 模塊被配置為SoftAP模式

如下程序配置NodeMCU將其連接到路由器上:

 1 /*--------------------------------------------------
 2                   written by helio, 2019
 3   ConnectToWifi.ino - 串口打印NodeMCU連接到路由器WiFi
 4 名稱和密碼,并打印自身ip地址
 5 --------------------------------------------------*/
 6 #include "ESP8266WiFi.h"
 7 
 8 void setup()
 9 {
10   Serial.begin(115200);
11   Serial.println();
12   
13   WiFi.begin("CEET305", "office305");  // 設置連接到的WiFi名稱和密碼
14   Serial.print("Connecting...");
15   
16   while (WiFi.status() != WL_CONNECTED)
17   {
18     delay(500);
19     Serial.print(".");
20   }
21   
22   Serial.println();
23   Serial.print("Connected Succeful to ");
24   Serial.println(WiFi.SSID()); // 打印連接到的WiFi名稱
25   Serial.print("The Password of this WiFi is:");
26   Serial.println(WiFi.psk()); // 打印連接到的WiFi的密碼
27   Serial.print("IP-address is:");
28   Serial.println(WiFi.localIP()); // 打印NodeMCU的IP地址
29 }
30 
31 void loop()
32 {
33  
34 }

ConnectToWifi.ino解析

通過函數 WiFi.begin()?設置即將連接的WiFi名稱和密碼并連接到給定的WiFi。隨后根據函數 WiFi.status() 的返回值判斷是否連接得到WiFi上,如果此函數的返回值WL_CONNECTED?則說明已經連接到給定WiFi上,否則沒有連接上,通過一個循環來等待NodeMCU連接到WiFi上。當連接成功后在串口中通過函數WiFi.SSID()打印連接到的WiFi的名稱,通過函數WiFi.psk()打印連接上的WiFi的密碼,同時通過函數WiFi.localIP()打印此時NodeMCUIP地址。

程序燒錄到NodeMCU中后,打開串口監視器,可以看見NodeMCU成功連接到了設置的網絡中。

?

?

3-3 NodeMCU成功連接到路由器網絡

?

其他設備連接到NodeMCU

NodeCMCU設置為SoftAP模式時,其他設備就可以在網絡中發現它,并且可以連接到它上面。通過如下程序即可將NodeMCU設置為SoftAP模式:

?

 1 /*-------------------------------------------------
 2              written by helio, 2019
 3   SoftAp.ino - 將NodeMCU設置為soft-AP模式(熱點模式)
 4 其他設備可以連接到該熱點
 5 -------------------------------------------------*/
 6 #include <ESP8266WiFi.h>
 7 
 8 void setup() 
 9 {
10   Serial.begin(115200);
11   Serial.println();
12   Serial.println("Setting soft_AP...");
13   if (WiFI.softAP(“NodeMCU”, “Helioi1122”))
14     Serial.println("Ready");
15   else 
16     Serial.println("Failed!");
17 }
18 
19 void loop()
20 {
21   Serial.printf("Stations connected = %d\n", WiFi.softAPgetStationNum());
22   delay(3000);
23 }

SoftAP.ino解析

?通過函數WiFi.softAP()設置將要設置的熱點名稱和密碼,如果將函數的第二個參數值設置為 NULL?時,則其他設備不需要設置密碼即可連接該熱點,同時,根據函數的返回值判斷是否創建成功,同時在串口中打印反饋信息。設置成功后在,可以通過函數WiFI.softAPgetStarion() 獲知連接到其上的設備數。

打開電腦或者手機的WiFi管理界面即可發現它設置的網絡。

?

?

3-4 可以在電腦的WiFi管理中心中發現之前設置的網絡

?

打開串口監視器,可以在看到連接到NodeMCU上的設備數量。

?

3-5 串口監視器中可以查看NodeMCU設置的WiFi狀態

轉載于:https://www.cnblogs.com/Helio/p/10656401.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/248199.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/248199.shtml
英文地址,請注明出處:http://en.pswp.cn/news/248199.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

操作系統原理之進程調度與死鎖(三)

一、進程調度的功能與時機 進程調度&#xff1a;進程調度的功能由操作系統的進程調度程序完成 具體任務&#xff1a;按照某種策略和算法從就緒態進程中為當前空閑的CPU選擇在其上運行的新進程。 進程調度的時機&#xff1a;進程正常或異常結束、進程阻塞、有更高優先級進程到來…

模擬京東側邊欄

思路&#xff1a; // 1. 獲取元素 // 1.1 獲取一組li // 1.2 獲取一組類名為item的div // 1.3 獲取類名為slide的div// 2. 循環遍歷給每一個li注冊onmouseenter&#xff0c;并且每一個li添加一個index表示索引 // 2.1 循環遍歷把所有的li的類名設置為,把所有的item的display設…

ViewPager + TabLayout + Fragment + MediaPlayer的使用

效果圖 在gradle里導包 implementation com.android.support:design:28.0.0 activity_main <?xml version"1.0" encoding"utf-8"?><LinearLayout xmlns:android"http://schemas.android.com/apk/res/android" xmlns:tools"http…

vs code打開文件顯示的中文亂碼

這種情況下&#xff0c;一般是編碼格式導致的&#xff0c;操作辦法&#xff1a; 鼠標點擊之后&#xff0c;上面會彈出這個界面&#xff0c;雙擊選中 然后從UTF-8換到GB2312&#xff0c;或者自己根據情況&#xff0c;更改編碼格式 轉載于:https://www.cnblogs.com/132818Creator…

操作系統原理之內存管理(第四章第一部分)

內存管理的?標&#xff1a;實現內存分配和回收&#xff0c;提高內存空間的利用率和內存的訪問速度 一、存儲器的層次結構 寄存器&#xff1a;在CPU內部有一組CPU寄存器&#xff0c;寄存器是cpu直接訪問和處理的數據&#xff0c;是一個臨時放數據的空間。 高速緩沖區&#xff1…

自寫圖片遮罩層放大功能jquery插件源代碼,photobox.js 1.0版,不兼容IE6

版權聲明&#xff1a;本文為博主原創文章。未經博主同意不得轉載。 https://blog.csdn.net/u010480479/article/details/27362147 阿嚏~~~ 話說本屌絲沒啥開發插件的經驗&#xff0c;可是天公不作美&#xff0c;公司須要讓我自己開發個圖片放大的插件 但公司老大的話&#xff0…

黑白兩客進入頁面(1)

<div><span>歡</span><span>迎</span><span>來</span><span>到</span><span><strong>黑白兩客</strong></span><span>的</span><span>博</span><span>客</sp…

zookeeper學習之原理

一、zookeeper 是什么 Zookeeper是一個分布式協調服務&#xff0c;可用于服務發現&#xff0c;分布式鎖&#xff0c;分布式領導選舉&#xff0c;配置管理等。這一切的基礎&#xff0c;都是Zookeeper提供了一個類似于Linux文件系統的樹形結構&#xff08;可認為是輕量級的內存文…

mysql鎖表查詢和解鎖操作

解除正在死鎖的狀態有兩種方法&#xff1a; 第一種&#xff1a; 1.查詢是否鎖表 show OPEN TABLES where In_use > 0; 2.查詢進程&#xff08;如果您有SUPER權限&#xff0c;您可以看到所有線程。否則&#xff0c;您只能看到您自己的線程&#xff09; show processlist 3.殺…

前端js基礎智能機器人

<script>var flag true;while(flag) {//獲取用戶輸入信息 var code prompt(你好,我是小娜\n請輸入編號或者關鍵詞選擇功能,輸入Q(q)退出聊天\n1.計算\n2.時間\n3.笑話);switch( code ) {case q:case Q:alert(狠心的拋棄了小娜);flag false;break;case 1:case 計算:var…

2018-2019-2 《Java程序設計》第6周學習總結

20175319 2018-2019-2 《Java程序設計》第6周學習總結 教材學習內容總結 本周學習《Java程序設計》第七章和第十章&#xff1a; 內部類&#xff1a; 1.內部類可以使用外嵌類的成員變量和方法。 2.類體中不可以聲明類變量和類方法。 3.內部類僅供外嵌類使用。 4.類聲明可以使用s…

Hbase基本原理

一、hbase是什么 HBase 是一種類似于數據庫的存儲層&#xff0c;也就是說 HBase 適用于結構化的存儲。并且 HBase 是一種列式的分布式數據庫&#xff0c;是由當年的 Google 公布的 BigTable 的論文而生。HBase 底層依舊依賴 HDFS 來作為其物理存儲。 二、hbase的列式存儲結構 行…

最終的動畫函數封裝(2)

<button>點擊觸發1</button><button>點擊觸發2</button><div></div><style>*{margin: 0;padding: 0;}div{width: 100px;height: 100px;background-color: red;position: relative;top: 100px;left: 0;}.div1{display: block;width: …

第二次JAVA作業

感覺和C語言后面都差不多&#xff0c;就是開頭的定義和輸入輸出有點差別&#xff0c;多寫幾次應該能搞清楚開頭的定義&#xff0c;接下來是四道題目的截圖。 第一題&#xff1a; 第二題&#xff1a; 第三題&#xff1a; 第四題&#xff1a; 轉載于:https://www.cnblogs.com/YSh…

springmvc框架下Filter過濾器中過濾文件后 后續 controller為空的問題

開發過程中遇到過濾文件類型的問題&#xff0c;需要校驗文件的頭信息&#xff0c;&#xff0c;在過濾器中通過request獲取文件流信息 但是后續的controller中的MultipartFile一直都是空的&#xff0c;網上的網友的方案使用了一堆比如 使用BodyReaderHttpServletRequestWrapper…

js(Dom+Bom)第七天(1)

JavaScript BOM介紹 概念 BOM&#xff08;Browser Object Model&#xff09;即瀏覽器對象模型。 本質&#xff1a; 通過對象抽象瀏覽器中的一些功能 例如&#xff1a;&#xff08;刷新頁面&#xff0c;alert,confirm,pormpt,跳轉 ...&#xff09;BOM頂級對象 window對象是js中…

「十二省聯考 2019」皮配——dp

題目 【題目描述】 #### 題目背景一年一度的綜藝節目《中國好碼農》又開始了。本季度&#xff0c;好碼農由 Yazid、Zayid、小 R、大 R 四位夢想導師坐鎮&#xff0c;他們都將組建自己的夢想戰隊&#xff0c;并率領隊員向夢想發起沖擊。 四位導師的**派系**不盡相同&#xff0c;…

收藏一個在線思維導圖的制作網站

https://www.processon.com/ 轉載于:https://www.cnblogs.com/132818Creator/p/11447077.html

js(Dom+Bom)第七天(2)

webAPI 01-動畫封裝 應用到的知識點 點擊事件 給元素設置一個絕對定位 定時器(setInterval) 封裝動畫1的步驟: 讓元素設置為絕定位設置元素的開始位置(從哪開始移動)設置元素的目標位置(移動到哪)設置元素每次移動的距離設置元素每次移動的時間間隔(越短越好) 封裝動畫1遇…

鏈表中環的入口結點

題目描述 給一個鏈表&#xff0c;若其中包含環&#xff0c;請找出該鏈表的環的入口結點&#xff0c;否則&#xff0c;輸出null。 分析 第一步&#xff1a;確定一個鏈表中是否有環 我們可以用兩個指針來解決&#xff0c;定義兩個指針&#xff0c;同時從鏈表的頭結點觸發&#xf…