ESP8266硬體機理
- 1.ESP8266簡介
- 2.硬體結構
- 3.運行機理
- 3.1 Warning
- 3.2 機理
- 4.快速搭建服務器
- Attention
- 4.1進入STA模式
- 4.2復位
- 4.3獲取附近能夠連接上的wifi
- 4.4找到你要接入的wifi,添加賬號和密碼
- 4.5獲取此時esp8266的IP地址
- 4.6開啟多通道模式
- 4.7開啟服務器,設定服務埠
- 5.esp8266的定位
- 總結
1.ESP8266簡介
ESP8266是上海樂鑫資訊科技設計的低功耗WiFi芯片,集成完整的TCP/IP協議堆疊和MCU,而ESP8266模塊是深圳安信可公司基于ESP8266芯片研發(增加必要外圍電路、串口flash、板載天線等)的串口WiFi模塊,成本低、使用簡便、功能強大,
和串口藍牙模塊一樣,串口WiFi模塊也是擴展單片機功能的又一神器,在沒有接觸8266之前,我對單片機如何聯網的問題很是好奇,在書里看過用笨重繁瑣的以太網模塊實作,但一點都不帥好吧,而小巧的 ESP8266 WiFi模塊通過串口AT指令與單片機通訊,實作串口透傳,非常好上手,
esp8266可以用作很多用途,而我想把esp8266用做一個用于系統監視和資料處理的服務器轉介面!
系統監視和資料處理這兩個應用會在之后的博客中發布!
但是在開發這兩個應用之前得先要對esp8266這個模塊進行熟悉,
2.硬體結構
我使用的esp8266是正點原子的ATK-esp8266,樣子長什么樣我就不貼圖了,
使用這個wifi模塊非常簡單,是通過串口進行通訊的,直接用USB轉串口模塊除錯就可以了,
PS:像一般的除錯用一些小模塊然后配合上位機除錯是很方便的,先要驗證是不是可行然后再進行下一步,
3.運行機理
3.1 Warning
在講這個運行機理之前,先說明一下,這個機理僅僅只是針對于ATK-esp8266,
3.2 機理
- esp8266最多能夠接受5個客戶端,ID0 ~ ID4
- 客戶端不能一直占著茅坑不拉屎,超過最大服務時間就會把客戶端踹開,并回傳
ID,CLOSED\r\n比如“0,CLOSED\r\n” - esp8266是通過串口與目標板卡進行資料互動和命令收發
- 最重要的一點:新加入的客戶端被分配的ID號總是當前ID號串列中的最小的
以上,第四點是最重要的,我再說明一下:
假如有這樣一種情況,
現在esp8266接待了5個客戶端,他們的ID號分別為 ID0 ID1 ID2 ID3 ID4
但現在ID3 和 ID0這兩個客戶端退出了,不需要esp8266的服務了,那么此時,esp8266的服務串列中就只有 ID1 ID2 ID4
那么,如果此時又有一個新的用戶進來了,那它被分配的ID號是什么呢?
答案是 : ID0
這個機理希望大家都能夠自己親自去驗證,非常容易實作,順便說一句:matlab非常好用,用一行命令就可以生成一個客戶端,而不需要你自己去開多個網路除錯助手,
PS:有的時候我發現,上位機其實是不能給很好的適用于任何場景,只能在某些特定的場景下可以適用,但是如果你對matlab和python編程的話,你就可以快速的呼叫相應的工具包,因此,我覺得,如果你向提高你的嵌入式開發效率,你真的需要學習一下matlab和python,建議兩個都學,因為都是面向資料處理的語言,只是語法不同,組織代碼塊的形式不同,
4.快速搭建服務器
我在全網看了這么多篇博客,我發現他們都是以AP模式充當服務器,我覺得這其實是非常麻煩的一件事,
如果你用你電腦上的上位機與esp8266進行網路通信的話,前提是你的電腦要連入esp8266組好的局域網內,那你的電腦此時就不能給上網了,而你此時有需要查資料,那你怎么辦,
因此,我覺得上面那種方法搭建服務器是非常愚蠢的,
你直接讓esp8266連入你電腦連入的局域網,然后再建立服務器不就可以 了嗎,
Attention
AT指令發送的時候記得加\r\n
4.1進入STA模式
AT+CWMODE=1
4.2復位
AT+RST
4.3獲取附近能夠連接上的wifi
AT+CWLAP
4.4找到你要接入的wifi,添加賬號和密碼
AT+CWJAP="s008","dianxin132"
4.5獲取此時esp8266的IP地址
AT+CIFSR
Attention:記住這個IP地址,你訪問esp8266的時候需要這個ip地址
4.6開啟多通道模式
AT+CIPMUX=1
4.7開啟服務器,設定服務埠
AT+CIPSERVER=1,1001
好了,你已經esp8266已經進入的服務器模式了,這個時候怎么驗證呢,你怎么去找一個客戶端去訪問esp8266呢
- 使用網路除錯工具
- 使用matlab創建客戶端物件
5.esp8266的定位
esp8266并不是一個嚴格意義上的服務器,我更愿意把esp8266當作是一個前臺小姐,它的作用是接待客戶,每當有一個新的客戶來享受服務的時候,前臺小姐先問你需要什么服務,然后客戶提出自己的需求,當前臺小姐獲知客戶的需求之后,就把這個需求告訴倉庫管理員(目標板卡),倉庫管理員把相應的資料遞給前臺小姐,前臺小姐再將資料給客戶,
由于客戶最多有5個,但是前臺小姐只有一個,它一個人服務5個客戶肯定是會忙不過來的,因此服務質量肯定會隨著客戶數量的增加而降低,并且前臺小姐從倉庫管理員獲取資料,再把資料給客戶這一個程序中,每一次拿的資料里量都是有限的,因此,客戶端獲取資料的速度在質量保證的情況下可能要低一點,

總結
本篇博文總的來說是介紹esp8266硬體知識,它的機理,我覺得上面一張圖足以說明了esp8266為什么要加入到嵌入式平臺,
在這個服務器搭建好之后,我想弄兩個APP:
系統監視和資料處理
但是,現在只是把esp8266的最基本的機理解決完了接下來就是實作服務器了,下一篇博客將的就是esp8266服務器的實作,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/301119.html
標籤:其他
下一篇:對抗博弈搜索——吃豆人
