mini D1 WiFi模塊簡介
六月份每月活動將使用此模塊連接WiFi。
該模塊上有一個RESET按鍵,用于復位模塊;
有一個Micro USB座,用于與CH340芯片相連,用于實現USB轉串口,該串口可以用于下載固件、程序,打印輸出串口信息使用。
模塊的TX、RX引腳可以跟單片機的串口交叉相連,進而可以實現單片機與WiFi模塊的聯用。
我們六月份的智能風扇的實現就會選用這個模塊,然后使用這兩個引腳與STM32的串口相連,使用STM32解析接收到的串口數據,進而判斷應該執(zhí)行某種指令。
該模塊基于ESP-12F模組,各個引腳的說明如下圖所示:
上電測試
剛買回來的模塊串口打印輸出情況:
最開始顯示亂碼的原因是,因為esp8266模塊上電時,默認打印波特率為74880,而固件中的比特率是115200,所以我們在115200比特率下查看輸出,就是亂碼。使用友善之臂的串口調試助手,可以自定義串口比特率,設置為74880,那么顯示就正常了,但是固件輸出的信息又變成亂碼了。
Arduino IDE 環(huán)境搭建
下載arduino-1.8.8-windows.zip,解壓之后,打開Arduino IDE “arduino.exe”,然后點擊選擇:文件-->首選項。
在“附加開發(fā)板管理器網址”處輸入:
http://arduino.esp8266.com/stable/package_esp8266com_index.json
進入:工具-->開發(fā)板-->開發(fā)板管理器
選擇ESP8266庫,并按下“安裝”,下載安裝ESP8266開發(fā)板類型文件庫(Arduino官方庫文件更新,下載需要一定時間,請耐心等待?。?/p>
安裝完畢之后,就在IDE工具-->開發(fā)板中找到咱們的mini D1模塊【WeMos D1 R1】。
示例代碼
打開WiFiScan示例:
#include "ESP8266WiFi.h"
void setup() {
Serial.begin(115200);
// Set WiFi to station mode and disconnect from an AP if it was previously connected
WiFi.mode(WIFI_STA);
WiFi.disconnect();
delay(100);
Serial.println("Setup done");
}
void loop() {
Serial.println("scan start");
// WiFi.scanNetworks will return the number of networks found
int n = WiFi.scanNetworks();
Serial.println("scan done");
if (n == 0) {
Serial.println("no networks found");
} else {
Serial.print(n);
Serial.println(" networks found");
for (int i = 0; i < n; ++i) {
// Print SSID and RSSI for each network found
Serial.print(i + 1);
Serial.print(": ");
Serial.print(WiFi.SSID(i));
Serial.print(" (");
Serial.print(WiFi.RSSI(i));
Serial.print(")");
Serial.println((WiFi.encryptionType(i) == ENC_TYPE_NONE) ? " " : "*");
delay(10);
}
}
Serial.println("");
// Wait a bit before scanning again
delay(5000);
}
代碼中可以看到,每隔五秒,模塊會打印出周圍的SSID的信息,如此反復。
硬件連接并測試
找一個MicroUSB線與模塊相連:
點擊下圖向右箭頭,編譯并下載程序,成功燒錄程序如下圖所示:
打開串口助手,設置串口號為模塊的串口號,比特率:115200,按一下模塊上的Reset鍵,復位模塊,打印日志如下圖所示:
Arduino軟件菜單中的“文件”-->“示例”-->“WeMos D1 R1的例子”中有很多Demo代碼,大家可以自己下載驗證,學習一下。
資料下載
微信公眾號后臺回復“Arduino_ESP8266”,可以下載Arduino軟件及mini D1模塊相關資料。
免責聲明:本文內容由21ic獲得授權后發(fā)布,版權歸原作者所有,本平臺僅提供信息存儲服務。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯系我們,謝謝!