久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 6453|回復(fù): 14
收起左側(cè)

請問ESP8266和單片機(jī)串口互聯(lián)的問題

[復(fù)制鏈接]
ID:373010 發(fā)表于 2018-7-25 17:36 | 顯示全部樓層 |閱讀模式
各位好,我有一塊hc6800-es開發(fā)板和ESP8266 esp1的wifi模塊。在使用USB轉(zhuǎn)串口連接開發(fā)板時候,hc6800-es開發(fā)板和串口助手可以正常發(fā)發(fā)數(shù)據(jù)。
在使用USB轉(zhuǎn)串口連接ESP8266 esp1時候, ESP8266 esp1和串口助手可以正常發(fā)發(fā)數(shù)據(jù)。

遇到問題如下:
在使用USB轉(zhuǎn)串口(COM1)連接開發(fā)板,ESP8266 esp1使用USB轉(zhuǎn)串口(COM2)僅提供供電。
用杜邦線將ESP8266 esp1和hc6800-es開發(fā)板的TXD,RXD交互鏈接。

這個情況下,我使用串口助手鏈接COM1,發(fā)送給開發(fā)板指令,讓開發(fā)板執(zhí)行AT指令,發(fā)現(xiàn)都似乎被ESP8266 esp1攔截執(zhí)行,開發(fā)板不反饋信息,但是ESP8266 esp1會反饋錯誤信息。

例如我發(fā)送ON指令,ESP8266 esp1直接反饋ERROR,發(fā)送AT,ESP8266 esp1直接反饋OK.
就像是ESP8266 esp1攔截了所有的AT指令,又像是串口助手直接發(fā)給了ESP8266 esp1,開發(fā)板根本沒收到指令。
保持原有通電狀態(tài)下,斷開ESP8266 esp1和hc6800-es開發(fā)板的杜邦線,再用串口助手發(fā)送指令,開發(fā)板正確的收到了指令并亮起LED燈。

我啟動開發(fā)板時候,設(shè)定了main函數(shù)里面等候一會兒,執(zhí)行以下AT指令讓ESP8266 esp1改變?yōu)锳P模式,但發(fā)現(xiàn)也是沒有正確執(zhí)行,請問這個情況是什么原因?我應(yīng)該如解決?感謝各位指導(dǎo)!

評分

參與人數(shù) 1黑幣 +10 收起 理由
yousunny + 10 很給力!

查看全部評分

回復(fù)

使用道具 舉報

ID:277550 發(fā)表于 2018-7-25 20:48 | 顯示全部樓層
先進(jìn)入透傳模式
回復(fù)

使用道具 舉報

ID:373010 發(fā)表于 2018-7-26 08:04 | 顯示全部樓層
devcang 發(fā)表于 2018-7-25 20:48
先進(jìn)入透傳模式

謝謝兄臺!

關(guān)鍵是我在開發(fā)板啟動時候,延時后執(zhí)行AT+CWMODE=3都無效,如果用串口助手的話,那沒任何問題。
就是開發(fā)板啟動都無法和esp2866溝通我才頭痛。
回復(fù)

使用道具 舉報

ID:303383 發(fā)表于 2018-7-26 09:09 | 顯示全部樓層
提示: 作者被禁止或刪除 內(nèi)容自動屏蔽
回復(fù)

使用道具 舉報

ID:379279 發(fā)表于 2018-7-26 09:56 | 顯示全部樓層
先進(jìn)入透傳模式
回復(fù)

使用道具 舉報

ID:379279 發(fā)表于 2018-7-26 09:56 | 顯示全部樓層

這個需要你耐心來調(diào)試,給你兩個不同方式的控制實例你看看

ESP8266配置成服務(wù)器(PC或單片機(jī)發(fā)指令):
1、  測試AT指令:AT
2、  復(fù)位重啟模塊:AT+RST
3、  設(shè)置為AP模式:AT+CWMODE=2
4、  查看主機(jī)端的ip地址:AT+CIFSR
5、  設(shè)置模塊傳輸模式為TCP模式:AT+CIPMODE=0
6、  設(shè)置為多連接模式,啟動模塊:AT+CIPMUX=1
7、  服務(wù)器的設(shè)置端口:AT+CIPSERVER=1,5000
回復(fù)

使用道具 舉報

ID:364341 發(fā)表于 2018-7-26 10:10 | 顯示全部樓層
QQ%E6%88%AA%E5%9B%BE20150321095301.png
1
WIFI模塊ESP8266的使用指南(客戶端和服務(wù)器兩種模式建立)


ESP8266模塊硬件連接工作,以及作為服務(wù)器和客戶端情況下的配置實現(xiàn)的詳細(xì)過程,并對相關(guān)AT指令和實驗現(xiàn)象進(jìn)行說明。

1. 硬件準(zhǔn)備

模塊型號使用的是ESP-12E,基于ESP8266核心處理器的模塊,使用模塊時,需要對引腳進(jìn)行相應(yīng)的連接才能正常使用。引腳連接如下圖:
144533cb8q8hq9z99gqtbg.jpg.thumb.jpg

通過USB-TLL下載器與模塊連接到電腦,進(jìn)行AT指令通信。由于模塊引腳間距2mm。不能使用2.54mm排插,需要在洞洞板上,通過導(dǎo)線進(jìn)行引線處理,如圖:
145605uw0jzccrb3nn3xcv.jpg.thumb.jpg

當(dāng)模塊上電后,LED指示燈會閃爍一下,表示可以正常工作。下面就可以對模塊進(jìn)行調(diào)試使用了!


2. 開始調(diào)試一. 調(diào)試軟件介紹
  • 串口調(diào)試軟件:模塊默認(rèn)使用115200波特率
    145927v7ua6nw11x6a61i6.jpg.thumb.jpg

  • 網(wǎng)絡(luò)調(diào)試助手:本文用了兩個網(wǎng)絡(luò)調(diào)試助手軟件,原因是在調(diào)試過程中,有一款軟件進(jìn)行創(chuàng)建客戶端時無法連接上模塊服務(wù)器,可能是軟件版本問題,因此將模塊配置為服務(wù)器時,改用了另一款調(diào)試助手,兩款軟件分別如下:
    1)該軟件在創(chuàng)建服務(wù)器時能正常使用。而創(chuàng)建客戶端時無法使用(版本問題)。
    151601jftiqh211nccp1r9.jpg.thumb.jpg

    2)創(chuàng)建客戶端時用這款軟件。



二. 將wifi模塊作為路由器(建立局域網(wǎng))的基本配置

下面是將模塊作為服務(wù)器端的配置流程,以及對常用的AT指令進(jìn)行解釋
注:發(fā)送AT指令后面一定要加入換行(回車),再點擊發(fā)送,指令才有效!

  • 模式配置:AT+CWMODE=3,配置成AP兼station模式(AP理解為路由器,被連接,station理解為非路由器,去連接別人),一般通用配置成此模式即可。
    指令介紹:

在調(diào)試助手將指令發(fā)給模塊,如圖:

2.設(shè)置為路由器,為模塊配置路由器名稱和密碼
發(fā)送指令為:AT+CWSAP=”MYESP8266”,”ldy1314520”,11,2
名稱是MYESP8266,密碼是ldy1314520
指令介紹:

指令發(fā)送,如圖:

3.電腦連接到模塊路由器 配置完WIFI模塊后,可以通過電腦無線連接到WIFI模塊,如下圖。
電腦連接到WIFI模塊路由器,實際上就已經(jīng)建立了以路由器為中心的局域網(wǎng),這為下面建立客戶端和服務(wù)器的連接打下了基礎(chǔ)。
說明:建立局域網(wǎng)的條件,也可以讓W(xué)IFI模塊連接其他路由器,然后電腦也連接該路由器也能構(gòu)成局域網(wǎng),這里不做詳解。


三. 將模塊作為服務(wù)器端
  • 模塊復(fù)位。AT+RST,即:復(fù)位模塊,成功后返回ready,其中會返回一串亂碼是模塊內(nèi)部信息,正常現(xiàn)象。
    指令介紹:

指令發(fā)送:

2 配置為多連接。AT+CIPMUX=1,即:模塊作為服務(wù)器時,可以被多個客戶端連接,若作為客戶端時,可以連接多個服務(wù)器。
指令介紹:

指令發(fā)送:

3.配置為服務(wù)器。AT+CIPSERVER=1,8089 端口號8089的服務(wù)器 ,此時,就將模塊作為服務(wù)器創(chuàng)建好了!但是客戶端要連接上該服務(wù)器,需要知道該服務(wù)器的IP地址,因此需要下一步指令對IP地址獲取。
指 令介紹:

指令發(fā)送:

4 .獲取服務(wù)器本機(jī)IP地址。知道IP地址,客戶端才能進(jìn)行連接。
指令介紹:

指令發(fā)送如下,可以看到模塊返回的IP地址。IP是192.168.4.1 端口號是之前配置的8089.

5 .下面就是在電腦端創(chuàng)建客戶端了,用網(wǎng)絡(luò)調(diào)試助手,創(chuàng)建如下,并成功連接服務(wù)器,連接上后,模塊會響應(yīng)CONNECT。


6 .連接服務(wù)器后,WIFI模塊想知道連接上來的客戶端ID編號,IP地址,端口號的相關(guān)信息,可以通過指令:AT+ CIPSTATUS。指令介紹:

指令發(fā)送,可以獲得客戶端信息,顯示的是0號客戶端:

7.下面可以進(jìn)行雙方通信,首先客戶端給服務(wù)器發(fā)消息:

需要注意的是:由于模塊內(nèi)部有定時機(jī)制,如果雙方長時間沒通信,連接會被自動斷開!

8.服務(wù)器給客戶端發(fā)消息,需要通過指令A(yù)T+CIPSEND=0,5(多路連接下)。該指令指對0號客戶端發(fā)5字節(jié)數(shù),如果實際發(fā)的字節(jié)超過5,會被截取前面5個。發(fā)送完后,模塊返回字符‘>’,此時AT指令失效,用戶可以任意發(fā)自己想要的信息,發(fā)送成功,返回“SEND OK”。

指令發(fā)送如圖,模塊返回字符‘>’:

任意發(fā)送想要的5字節(jié)數(shù),發(fā)送成功返回“SEND OK”:

9.上面就是雙方的通信過程,如果想要關(guān)閉連接,可以通過指令A(yù)T+CIPCLOSE=0(多連接模式),可以將0號客戶端關(guān)閉連接。

指令發(fā)送如圖:


四. 將模塊作為客戶端

將模塊作為客戶端,應(yīng)在WIFI模塊作為路由器的基本配置下,再進(jìn)行如下的操作。

1.通過網(wǎng)絡(luò)調(diào)試助手創(chuàng)建服務(wù)器,服務(wù)器IP必須為電腦連接路由器后的本機(jī)IP。這樣才能確保在局域網(wǎng)下的同網(wǎng)段。

2.模塊復(fù)位。AT+RST,成功后返回ready。同上,不做詳細(xì)介紹

3.配置為多連接。AT+CIPMUX=1,即:模塊作為服務(wù)器時,可以被多個客戶端連接,若作為客戶端時,可以連接多個服務(wù)器。同上,不做詳細(xì)介紹。

4.不作為服務(wù)器。AT+CIPSERVER=0。
指令發(fā)送如下:

5.連接到服務(wù)器,通過指令:AT+CIPSTART= “TCP”, “192.168.4.2”, 9085 意思為:建立TCP連接到IP為192.168.4.2,端口9085的服務(wù)器
指令介紹:

指令發(fā)送如下,若連接成功將返回CONNECT OK,并且在網(wǎng)絡(luò)調(diào)試助手顯示連接進(jìn)來的客戶端IP。

6.雙方數(shù)據(jù)通信,服務(wù)器給客戶端發(fā),只要直接在網(wǎng)絡(luò)調(diào)試助手里發(fā)送想發(fā)的信息就行。如圖:

7.客戶端給服務(wù)器發(fā)消息,需要通過指令:AT+CIPSEND=0,6(多路連接下)。該指令指對0號服務(wù)器發(fā)6字節(jié)數(shù),如果實際發(fā)的字節(jié)超過6,會被截取前面6個。AT+CIPSEND指令詳解見上。
指令發(fā)送如圖:

出現(xiàn)‘>’字符就可以發(fā)送想發(fā)的數(shù)據(jù):

  • 以上就是對ESP8266WIFI模塊作為服務(wù)器和客戶端的使用過程,重點是掌握AT指令的使用和理解。該模塊不僅用于通信,還自帶了很多其他功能,如可以輸出多路PWM,ADC等功能,可謂短小精悍。
2.ESP8266 WIFI模塊實現(xiàn)遠(yuǎn)程wifi控制








如果你剛買了一個ESP8266板,你可以用樹莓派直接與它通信。由于它們都是使用3.3V的信號,所以不需要電平轉(zhuǎn)換。

第一步:所需材料
  • 樹莓派的桌面設(shè)置(任何PI都應(yīng)該有的,但與電池、鍵盤、屏幕和網(wǎng)絡(luò)等接入更佳)
  • esp8266-01
  • 一些跳線、鉗子和剝離器
  • 無焊面包板
  • 2個上拉、下拉電阻
  • 按鍵開關(guān)(可選)


第二步:接線
如圖。

第三步:配置Raspbian Linux
啟動樹莓派和超級用戶進(jìn)行編輯(如: “sudo nano”)。
  • 禁用內(nèi)核串口控制臺
在文件Edit /boot/cmdline.txt ,去除:
dwc_otg.lpm_enable=0 rpitestmode=1 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 rootwait
  • [tr]禁用串口登錄
在文件 /etc/inittab 去除(通常是)最后一行:
2:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100
  • 重啟:sudo shutdown -r now


第四步:開始與ESP8266通信

  • 連接到串行端口
[tr]你現(xiàn)在應(yīng)該能夠通過終端仿真程序與ESP8266互動。
[tr]
  • 備注/說明
[tr]如果你試圖使用復(fù)位按鈕,效果可能不好。[tr]最好關(guān)掉樹莓派,然后切斷電源再重啟。
[tr]當(dāng)接通電源時不要亂拔電線。[tr]關(guān)掉樹莓派("sudo shutdown -h now"),等任何發(fā)光二極管閃爍停止并斷開電源再嘗試連接/斷開電線。
[tr]這個鏈接本身無法通過ESP8266給你樹莓派網(wǎng)絡(luò)接口[tr]。[tr]但它至少讓你嘗試,配置,甚至改變它。
[tr]如果你只是關(guān)閉一個窗口或斷開連接,屏幕仍然串行端口不變的。
[tr]樹莓派和ESP8266可以使用大量的電力。[tr]這種設(shè)置只依賴于樹莓派的3.3V電源,如果兩個設(shè)備都全力啟動,可能是不夠的。[tr]一個更可靠的和永久性的解決方案,為ESP8266提供獨立電源。





如果你剛買了一個ESP8266板,你可以用樹莓派直接與它通信。由于它們都是使用3.3V的信號,所以不需要電平轉(zhuǎn)換。

第一步:所需材料
  • 樹莓派的桌面設(shè)置(任何PI都應(yīng)該有的,但與電池、鍵盤、屏幕和網(wǎng)絡(luò)等接入更佳)
  • esp8266-01
  • 一些跳線、鉗子和剝離器
  • 無焊面包板
  • 2個上拉、下拉電阻
  • 按鍵開關(guān)(可選)


第二步:接線
如圖。

第三步:配置Raspbian Linux
啟動樹莓派和超級用戶進(jìn)行編輯(如: “sudo nano”)。
  • 禁用內(nèi)核串口控制臺
在文件Edit /boot/cmdline.txt ,去除:
dwc_otg.lpm_enable=0 rpitestmode=1 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 rootwait
  • [tr]禁用串口登錄
在文件 /etc/inittab 去除(通常是)最后一行:
2:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100
  • 重啟:sudo shutdown -r now


第四步:開始與ESP8266通信

  • 連接到串行端口
你現(xiàn)在應(yīng)該能夠通過終端仿真程序與ESP8266互動。

  • 備注/說明
如果你試圖使用復(fù)位按鈕,效果可能不好。[tr]最好關(guān)掉樹莓派,然后切斷電源再重啟。
當(dāng)接通電源時不要亂拔電線。[tr]關(guān)掉樹莓派("sudo shutdown -h now"),等任何發(fā)光二極管閃爍停止并斷開電源再嘗試連接/斷開電線。
這個鏈接本身無法通過ESP8266給你樹莓派網(wǎng)絡(luò)接口[tr]。[tr]但它至少讓你嘗試,配置,甚至改變它。
如果你只是關(guān)閉一個窗口或斷開連接,屏幕仍然串行端口不變的。
樹莓派和ESP8266可以使用大量的電力。[tr]這種設(shè)置只依賴于樹莓派的3.3V電源,如果兩個設(shè)備都全力啟動,可能是不夠的。一個更可靠的和永久性的解決方案,為ESP8266提供獨立電源。




回復(fù)

使用道具 舉報

ID:373010 發(fā)表于 2018-7-26 21:17 | 顯示全部樓層
devcang 發(fā)表于 2018-7-25 20:48
先進(jìn)入透傳模式

兄臺,我已經(jīng)試過無效。
其實我就是啟動了單片機(jī),向esp8266發(fā)送了一個AT+CWMODE=3,理論上發(fā)送后,可以在手機(jī)上搜索到這個wifi的,但是就是看不到。
回復(fù)

使用道具 舉報

ID:373010 發(fā)表于 2018-7-26 21:21 | 顯示全部樓層
小貓貓愛吃魚 發(fā)表于 2018-7-26 09:09
這個需要你耐心來調(diào)試,給你兩個不同方式的控制實例你看看

ESP8266配置成服務(wù)器(PC或單片機(jī)發(fā)指令):1 ...

謝謝兄臺指點!
我的TXD,RXD和單片機(jī)的TXD,RXD連接方法是和你一樣的。
就是供電是獨立的,地線和開發(fā)板的gnd共地,但是發(fā)送指令依然無效,請問這個是否存在問題?
AT+CWMODE=3這個指令讓wifi模塊變成ap,理論上手機(jī)就可以看到了,但實際無效。

我寫法是
send_str("AT+CWMODE=2\r\n");

void send_byte(unsigned char c)
{
ES = 0;
        TI=0;
        SBUF = c;
while(!TI);

TI = 0;
        ES = 1;
}

void send_str(unsigned char *s)
{
while(*s != '\0')
{
  send_byte(*s);
  s++;
}
}
回復(fù)

使用道具 舉報

ID:241423 發(fā)表于 2018-7-29 08:19 | 顯示全部樓層
stinfo 發(fā)表于 2018-7-26 21:21
謝謝兄臺指點!
我的TXD,RXD和單片機(jī)的TXD,RXD連接方法是和你一樣的。
就是供電是獨立的,地線和開發(fā)板 ...

請問巨佬解決了沒有,我也在這里打轉(zhuǎn)
回復(fù)

使用道具 舉報

ID:308437 發(fā)表于 2018-7-29 09:35 | 顯示全部樓層
那個你先測試保證你單片機(jī)發(fā)送的指令是對的(用串口看一下,保證不是亂碼),還有,波特率記得要匹配(8266出廠默認(rèn)波特率有9600也有115200的),然后再重新測試一下,應(yīng)該是可以的。除非你模塊壞了
回復(fù)

使用道具 舉報

ID:532836 發(fā)表于 2019-5-19 14:27 | 顯示全部樓層
大佬誰有解決方案嗎
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 天天综合91 | 国产精品96久久久久久 | 亚洲精品一区在线观看 | 天天操天天插 | 91久久视频| 成年人黄色免费视频 | 欧美成人a | 97caoporn国产免费人人 | 欧美综合精品 | 亚洲成人免费 | 久久精品视频99 | 男女啪啪高潮无遮挡免费动态 | 欧美v在线| 国产福利网站 | 欧美国产亚洲一区二区 | 日韩欧美三区 | 国产精品久久精品 | 日韩精品成人网 | 狠狠久久 | 超碰人人爱 | 国产a级黄色录像 | 国内自拍真实伦在线观看 | 91观看| 国产精品成人一区二区 | 亚洲精品www久久久久久广东 | 密桃av| 国产免费一区 | 成人网址在线观看 | 亚洲视频在线观看免费 | 午夜专区| 亚洲视频在线一区 | 色婷婷在线视频 | 日韩日韩日韩日韩日韩日韩日韩 | 欧美综合国产精品久久丁香 | 日韩欧美在线视频 | 亚洲精品一区二区 | 久久69精品久久久久久久电影好 | 男人的天堂久久 | 亚洲精品v| 日韩一区二区免费视频 | 激情在线视频 |