在程式設計之前,首先得有Arduino的開發環境,即Aruino IDE;作者現在所使用的是ESP8266 Wemos D1板,某寶價格18塊,既便宜又簡單,還賊有趣。最後所需要就是WeMos的Pack包。準備好之後就能開始開程式設計了。
include <ESP8266WiFi.h> //8266的標頭檔案
char *_SSID="ASDASD"; // 雙引號裡是你家裡的WiFi名稱,這裡只是做個示範
char *_PASSWD="1345678"; // WiFi的密碼
//WiFi初始化
void InitWiFi_Sta()
{
WiFi.mode(WIFI_STA);//設定為WiFi的STA模式,即射頻模式
WiFi.begin(_SSID,_PASSWD); //連線上面的WiFi
while(WiFi.status()!=WL_CONNECTED) //判斷8266的啟動狀態
{
Serial.print(".");
delay(500);
}
Serial.println(WiFi.localIP()); //列印8266的IP地址
}
void setup() {
Serial.begin(115200);//啟動串列埠
InitWiFi_Sta(); //初始化8266
server.begin(); //啟動伺服器,但是現在伺服器還不能用,別急,繼續往下看
}
void loop() {
}
到這之後,WeMos就能連線WiFi了,也可以看到8266的IP地址了。
在完成上面的程式碼之後,ESP8266已經可以連線上我們家裡的路由器或者熱點了,但是這樣並沒有啥用處,我們想要用手機(百度所搜TCP連線app——僅安卓手機)遠端去控制這塊板子,那就需要把8266設定成伺服器。那就要在上面程式碼的基礎上加入以下程式碼:
//WiFi要連線的熱點
char *_SSID="SawHi-Mo";
char *_PASSWD="www.msh7073.com";
//加入以下程式碼
int point =8888;//埠號
WiFiServer server(point);//設定伺服器埠號
........
void loop() {
char cmd;
WiFiClient client =server.available();//伺服器初始化
while(client.connected()){ //等待使用者端接入,即手機App的接入
while(client.available()>0){ //等待使用者端訊息
cmd=client.read(); //讀取訊息內容
Serial.println(cmd); //把訊息內容列印出來
}
}
}
}
在手機和WeMos接入同一個WiFi的情況下,開啟手機下載好的TCP連線App,點選連線主機,輸入在串列埠上顯示IP地址和我們設定的埠號,就能連線並可以給WeMos傳送訊息了。