2017/3/25

WeMos D1 with Arduino IDE 掃瞄wifi網路

WeMos D1 with Arduino IDE 掃瞄wifi網路
之前預計要測試的第5項,以ESP-01s當Node MCU,不用arduino板,只利用ESP-01s連上網路並把感測的資料(如溫度、濕度等)上傳到網路IoT平台,如Thinkspeak網站。因ESP-01只有兩個GPIO接腳,想說找個比較多接腳的來試試微控+WiFi 的功能,先把ESP-01當成純通訊元件。於是就網購了一個 250元的WeMos D1 ,但買回來才知道不小心買到舊版,新的r2版已經出來了。但買來了就試試。此組裝板為基於ESP8266的一個WiFi開發板,可使用Arduino IDE開發,但需先裝ESP8266 Arduino IDE core,裝好了就可用Arduino 程式直接開發,不需透過AT命令。目前我查到的資料,此模組相關產品有: WeMos D1 ,WeMos D1 r2(天藍色),WeMos D1 r2 v2.1(黑色), WeMos D1 mini等,購買時要看乎清、認乎明,不要像我之前不小心買錯了。

安裝ESP8266 開發套件:
在IDE 檔案→偏好設定
在額外的開發板管理網址輸入
http://arduino.esp8266.com/stable/package_esp8266com_index.json

按確定後再到工具→開發板管理員 找到ESP8266,按More Info 再按安裝

完成後就可看到WeMos D1 (retired)模板,之後就可進行ESP8266 project 開發
WeMos D1特色



WeMos D1接腳 (新板為WeMos D1 r2,腳位不相容)


WeMos D1 windows 驅動程式安裝
因WeMos D1 內部有CH340 USB to Serial 晶片需到
https://www.wemos.cc/downloads
下載 CH341SER_win.zip 把WeMos D1接到USB埠解壓檔後安裝



到工具選好序列埠,模板選WeMos D1 (Retired)



WeMos D1 掃瞄wifi網路
輸入下列程式
#include "ESP8266WiFi.h"
void setup() {
   Serial.begin(115200);
   // Set WiFi to station mode and disconnect from an AP (if already 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.println(")");
         delay(10);
      }
    }
    Serial.println("");
    // Wait a bit before scanning again
    delay(5000);
}
編譯完成後準備上傳至到模組,注意USB供電線要找比較粗大的,電流才夠(最好是2A的線材)
注意下圖圖上之設定,直接按上傳就好,不需什麼線接地之類的事情。

上傳時直接按上傳完成後會顯示100%按一下板子上的reset程式便開始執行

執行結果

沒有留言:

張貼留言