小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

OCROBOT ESP8266 WIFI模塊之重新定義

 quasiceo 2015-09-27

OCROBOT ESP8266 WIFI模塊之重新定義

姜糖水 969 閱讀

首先上個圖,最新研究的這么一個很便宜的wifi模塊。
這是個串口轉(zhuǎn)wifi信號的模塊。可以用UDP TCP通信。

我寫的教程帖子一般不解釋底層原理什么的。因為我也不懂!

這次的測試就是板子發(fā)送一個UDP消息(setup done..)給電腦上的socket調(diào)試軟件。
再由socket調(diào)試軟件發(fā)送一個字符串給板子。

這次修改的開發(fā)庫添加了4個接口。使程序更簡潔明了。
用的是arduino mega 2560軟串口。迷你強寫的兩個開發(fā)庫一個mega 一個328。因為我沒328所以,就改了mega2560。
所以接下來準備好一個mega 2560開始玩。只有328的不好意思。。。
可以用SocketTool等工具,這里推薦弘毅大大他們家的通信軟件,更簡單一點。
 USR-TCP232-Test.rar (375.4 KB, 下載次數(shù): 20) 

 

選擇UDP,因為我也只測試了UDP。。其他的雖然都寫好了~但我沒測試~
原因是我懶!

另外注意這里的UDP 是 UDP Server
第二行是自己的IP  端口不要設(shè)置為8080  因為8080端口比較特殊
都改好了 就點connect~

接下來搞arduino部分~

ESP8266 — ARDUINO
           V  ——– 3v3
           G  ——- GND    
           T ——— Serial1 RX
           R ——— Serial1 TX
交叉通信


先來個開發(fā)庫:
 uarlWIFI_D.rar (7.38 KB, 下載次數(shù): 29) 
GitHub ESP8266開發(fā)庫最新版本下載地址  << 點擊

第一部分代碼:

[C] 純文本查看 復(fù)制代碼

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
#include <uarlWIFI.h>
WIFI wifi;
void
setup()
{

Serial.begin(9600);

bool
b = wifi.Initialize(STA,
"SSID"
,
"PASSWORD"
);

if
(!b)

{

Serial.println(
"Init error"
);

}

else

{

Serial.println(
"Init done.."
);

}

wifi.ipConfig(UDP,
"192.168.0.103"
, 60000);

Serial.println(
"setup done.."
);

wifi.SendMessage(
"setup done.."
);

pinMode(13, OUTPUT);
}

這里提供了wifi模塊3個接口
第一個是初始化,初始化成功返回true
////////////////////////////////////////////////////////////////////////////////////////
WIFI初始化的類型 
STA接入局域網(wǎng) AP自身為局域網(wǎng)server端 
#define    STA     1
#define    AP      2
#define    AT_STA  3

參數(shù):網(wǎng)絡(luò)方式  SSID PASSWORD   
如果網(wǎng)絡(luò)方式選擇AP模式  最后兩個參數(shù)可選擇填寫  默認通道1 加密方式2
bool Initialize(byte a, String ssid, String pwd, byte chl = 1, byte ecn = 2);

////////////////////////////////////////////////////////////////////////////////////////

第二個是ipConfig,這里設(shè)置的是給對方發(fā)送數(shù)據(jù)的IP和端口,不是自己的。
這個模塊自己的IP是接入路由器后自動分配的。
////////////////////////////////////////////////////////////////////////////////////////
參數(shù):通信方式  對方ip 對方端口
默認單對單通信boolean為0  如果改為1  可以分配ID 0~4
0號可以連接客戶端和服務(wù)器,其他只能連接服務(wù)器
void ipConfig(byte type, String addr, int port, boolean a = 0, byte id = 0);

////////////////////////////////////////////////////////////////////////////////////////

第三個是常用的接口
發(fā)送數(shù)據(jù)SendMessage
////////////////////////////////////////////////////////////////////////////////////////
void SendMessage(String str);  //單路模式發(fā)送數(shù)據(jù)
void SendMessage(byte id, String str);  //多路模式發(fā)送數(shù)據(jù)

////////////////////////////////////////////////////////////////////////////////////////

第二部分代碼:

[C] 純文本查看 復(fù)制代碼

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
void
loop()
{

//定一個接收消息用的buffer

char
buf[1024];

int
iLen = wifi.ReceiveMessage(buf);

if
(iLen > 0)

{

//判斷buf是否為規(guī)定字符串

if
(
strcmp
(buf,
"HIGH"
) == 0)

{

digitalWrite(13, HIGH);

}

else
if
(
strcmp
(buf,
"LOW"
) == 0)

{

digitalWrite(13, LOW);

}

}
}

最后一個wifi模塊的重要接口
ReceiveMessage
////////////////////////////////////////////////////////////////////////////////////////
參數(shù):接收buf 未開發(fā)參數(shù)(保留)
返回接收到的buf的長度
int ReceiveMessage(char *buf, int MsgLen = 0);

////////////////////////////////////////////////////////////////////////////////////////

下面跟著教程走的可以將兩塊代碼合到一起~燒錄arduino中~
 
首先打開串口監(jiān)視窗口,代碼運行到初始化階段,返回true。初始化沒問題。
串口監(jiān)視窗口打印出了Init done..

接下去是配置對方的IP端口,這里步驟需要5秒時間。分配好了發(fā)送一個setup done給上位機的socket軟件。
 
這時候兩者就連同了。這個有著和奇葩圖標的調(diào)試軟件也收到了arduino發(fā)送的數(shù)據(jù)。并且有了對方的IP和端口。

最后loop開始接收。這里隨便打了兩個做測試。提取接收的字符串做判斷。LED燈也順利的控制了亮暗。

P.S. 迷你強說要修改arduino的一個文件,把串口緩沖區(qū)容量提高到128以上說是如果wifi熱點多的地方就會溢出~

結(jié)貼~~P.S. Seeed wifi模塊簡直爛!史上最爛!

作者:姜糖水
又一個碼農(nóng)站點
原文地址:OCROBOT ESP8266 WIFI模塊之重新定義, 感謝原作者分享。

發(fā)表評論

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多