esp32 嵌入式linux,初體驗樂鑫 ESP32 AT 指令-嵌入式系統-與非網

樂鑫 AT 固件初體驗

初步體驗 AT 指令下 TCP 數傳,為了驗證 AT 命令解析器。

前往樂鑫官網 下載最新版本 AT 固件和 AT 指令集手冊。

硬件準備

本文使用樂鑫的 ESP-WROOM-32(ESP-WROOM-32 是 ESP32-WROOM-32 的曾用名)模塊,4MB Flash,無 PSRAM。ESP32 系列模組和開發板參考該鏈接,這里有詳細的對比介紹。

模塊接線示意圖如下:(圖片來自樂鑫文檔)

c2deaa48b8a0c3b3693aea0dc0ebe057.png

ESP32-WROOM-32 Series Hardware Connection

請在該鏈接里找到你的硬件對應的接線方式,連線必須準確無誤!

選擇 AT 固件

樂鑫的 AT 固件自 V2.0 之后就開始使用 ESP-AT(基于 ESP-IDF 或 ESP8266_RTOS_SDK 實現的軟件工程)了,不再使用 NonOS 版本。如果你使用的是 ESP8266 模塊,那么可以考慮是否可以平滑升級到新的版本。

各版本 AT 固件的差異參考該鏈接。

從該鏈接里選擇對應你硬件的 AT 固件,這里我選擇 ESP32 AT binaries / ESP32-WROOM-32 Series / v2.1.0.0 ESP32-WROOM-32_AT_Bin_V2.1.0.0.zip。

燒錄 AT 固件

燒錄過程主要參考樂鑫的官方文檔,針對我的這個 ESP-WROOM-32 模塊,有以下幾個步驟:

下載 AT 固件到 PC 上(ESP32-WROOM-32_AT_Bin_V2.1.0.0.zip)

下載燒錄工具

燒錄工具支持 Windows 和 MAC/Linux 系統,在該鏈接里下載。

正確連接 ESP-WROOM-32 模塊到 PC 上

ESP-WROOM-32 有兩路串口,一路需要使用一個 USB-A 轉 Micro-USB 的線,用于固件下載和日志查看;另外一路串口需要一個 USB 轉 TTL 串口的模塊,用于 AT 指令傳輸。

連線方式見前面的 硬件準備 章節。

打開燒錄工具,燒錄默認 AT 固件

選擇默認 AT 固件,下載到 0x0 地址,并勾選 DoNotChgBin

6a013d2e85167ff6bad951bbd728045f.png

然后選擇對應的 串口 號,波特率使用默認的即可。最后點擊 START 開始燒錄。

90bdc44e1d548912beaf560848ea8be9.png

確認燒錄成功(發送 AT 和 AT+GMR 命令確認)

4273132afc2939ffd58c336ca950b00e.png

發 AT 指令返回 OK 標識 AT 服務已經正常啟動,發 AT+GMR 查看 AT 固件信息是否跟你燒錄的一致。

打開工具 flash_download_tool_v3.8.5.exe

選擇 Developer Mode

7d3a3d7de503648de67acd04cad88695.png

選擇芯片型號(本文里,我使用 ESP32 DownloadTool)

e44b4c90ca58a97eef8374e5cd83f83d.png

AT 指令測試 TCP Server 連接

確定 WiFi 模塊即將連接的路由器

將 PC 接入該路由器,保證 WiFi 模塊與路由器在同一個局域網下

PC 機開啟 TCP Server

b67f95153a02ad26de607ac5f78874a1.png

如上圖所示,開啟 TCP Server,ip:192.168.50.190 端口:8089。

AT 模塊連接 AT 串口到 PC,并上電,確定 AT 功能正常

發送 AT 返回 OK。

設置 AT 模塊為 STA 模式(STA 模式下才能連接路由器 AP 熱點)

發送 AT+CWMODE=1 進入 STA 模式,1 為 STA,2 為 AP,3 為 AP+STA。

AT+CWMODE=1

OK

連接路由器

發送 AT+CWJAP="SSID","PWD" 連接路由器,SSID 為路由器 AP 熱點名稱,PWD 為路由器熱點密碼。示例如下:

AT+CWJAP="murphy","pwd_12345678"

WIFI?CONNECTED

WIFI?GOT?IP

OK

查詢模塊 ip 地址,判斷是否與 PC 在同一網段下

AT+CIFSR

+CIFSR:STAIP,"192.168.50.15"

+CIFSR:STAMAC,"30:ae:a4:04:75:f0"

OK

連接 TCP Server

AT+CIPSTART="TCP","192.168.50.190",8089

CONNECT

OK

如下圖所示,連接成功:

86d49ceb362f47a43492c35a203fe2eb.png

模塊發數據給 TCP Server

先發送 AT 命令 AT+CIPSEND=x,其中 x 表示要發送的數據長度,告訴 AT 解析器,我要發 x 字節的數據,你準備好接收!

AT 解析器成功識別之后返回下面信息:

OK

>

當看到 > 的時候,我們就可以發數據了,但一定要發送 x 字節數據,否則多余的數據會被丟掉,并返回 busy p...。

2e09a7f99bf7567c1a2e1af16bf8e11b.png

TCP Server 發數據給模塊

TCP Server 直接發數據就可以,WiFi 模塊收到后,顯示 +IPD,x:data 格式的信息。其中 +IPD 表示 WiFi 模塊收到了對端的數據,x 表示收到的數據長度,data 表示收到的數據內容。示例如下圖所示:

01fe5b2cbaa7e557849c874725511a98.png

模塊透傳發送數據

首先設置數傳模式為透傳模式,指令 AT+CIPMODE=1。1:透傳模式;0:普通模式。他們的主要區別是在透傳模式可以在 AT+CIPSEND 指令后一直發送數據(直到退出透傳發送),而普通模式下每次發送數據必須使用 AT+CIPSEND=x 來指定數據長度。

AT+CIPMODE=1

OK

AT+CIPSEND

OK

>

這個時候就可以發送數據直達模塊了。

模塊退出透傳發送

發送 +++ 后停頓 1 秒。使用串口工具一次性發送 +++ 而不是手動一個個發送,否則會導致誤檢測成數據。

這是 AT 指令的一個標準約定。

如果此時想切換成 普通數傳模式,發送 AT+CIPMODE=0 指令。

為了更好的直觀感受,錄屏展示兩種模式下的數傳:

參考

這里給出了樂鑫官網的參考鏈接,需要閱讀原始文檔的童鞋移步這里。

樂鑫官方 ESP-AT 用戶指南

包括 AT 固件下載,AT 指令集介紹,編譯與開發。

https://docs.espressif.com/projects/esp-at/zh_CN/latest/Get_Started/index.html

樂鑫官方 ESP8266 AT 固件

https://docs.espressif.com/projects/esp-at/en/latest/AT_Binary_Lists/ESP8266_AT_binaries.htm

樂鑫工具下載

https://www.espressif.com/zh-hans/support/download/other-tool

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/538260.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/538260.shtml
英文地址,請注明出處:http://en.pswp.cn/news/538260.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

主機ping不通Virtualbox里的虛擬機

在redhat上安裝了VirtualBox,虛擬了三臺Linux機器。 宿主機網卡更換過了。三臺虛擬機無法啟動了,搭建虛擬機的運維離職了。 VirtualBox的圖形界面壞了,啟動不了。只能用命令行,今天時間就花在命令行上了。 第一個問題是&#xf…

python后端開發靠譜嗎_【后端開發】python有這么強大嗎

因為Python是一種代表簡單主義思想的語言。除此之外,Python所擁有的標準庫更是金融、營銷類人群選擇它的理由。Python 易于學習可靠且高效(推薦學習:Python視頻教程)好吧,相較于其它許多你可以拿來用的編程語言而言,它“更容易一些…

linux 卸載 openldap,Linux下安裝openldap

Ubuntu apt-getinstall安裝參考:http://dongwang.wordpress.com/category/uncategorized/普通linux安裝,以XXX用戶身份安裝:1、安裝BerkeleyDB 4.7.25:伯克利大學嵌入式數據庫解決方案,openldap拿它作為存儲方案。http://download.oracle.com…

Git之原有基礎開發新功能

場景描述 當一個項目已經上線,同時又在原有基礎上新增功能模塊,于是乎就要在原有代碼的基礎上進行開發,在新增模塊功能的開發的過程中,項目發現了一個緊急Bug,需要修復。操作流程如下: -------------------…

pantum打印機驅動安裝m6506_奔圖Pantum M6506NW 驅動

這是奔圖Pantum M6506NW 驅動,是M6506NW奔圖打印機驅動,此設備內置WIFI熱點,安裝驅動可以幫助用戶解決打印機連接和工作中出現的問題,非常方便,需要的朋友快來本站下載吧!驅動介紹奔圖M6506NW一體機驅動專為…

linux kvm查看線程狀態,kvm線程-005-線程狀態-THREAD_JUST_BORN

在kvm內部定義了線程狀態,如下:enum {THREAD_JUST_BORN 1, /* 還沒有啟動*/THREAD_ACTIVE 2, /* 當前正在運行,或者在等待運行的隊列中*/THREAD_SUSPENDED 4, /* 等待monitor或者alarm */THREAD_DEAD 8, /* 線程退出 */THREAD_MONITOR_WAIT 16, // 等待鎖THREAD_CONVAR_WA…

詳解VirtualBox虛擬機網絡環境解析和搭建-NAT、橋接、Host-Only、Internal、端口映射

原文鏈接:http://www.jb51.net/article/98575.htm -------------------------------------------------- 本文以VirtualBox為例 如果出現主機無法ping通虛擬機的情況,請首先確認虛擬機防火墻已關閉。 一、NAT模式 特點: 1、如果主機可以上網…

os.popen read()報編碼錯誤_數據科學家易犯的十大編碼錯誤,你中招了嗎?

選自 Medium作者:Norm Niemer機器之心編譯參與:李詩萌、王淑婷數據科學家比軟件工程師擅長統計,又比統計學家擅長軟件工程。聽起來牛逼轟轟,事實卻是,許多數據科學家有統計學背景,卻沒有什么軟件工程方面的…

linux怎么添加工作組,linux 用戶與工作組

在linux 里面,用戶的編號UID ,也就是用戶的ID號。工作組的編號為GID 也就是工作組的ID 號 。1、用戶的分類超級用戶:root用戶,系統安裝過程中自動創建,UID 為0。普通用戶:操作權限受到限制的用戶id在 500-6…

MySQL5.7.12新密碼登錄方式及密碼策略

原文鏈接:http://www.cnblogs.com/jonsea/p/5510219.html --------------------------------------------------------------------------- 松門一枝花補充 最簡單的方法: 1、配置文件中把密碼策略關了。本文中間部分有介紹。 2、重啟服務 3、用my…

聚類分析在用戶行為中的實例_聚類分析案例之市場細分

聚類是將數據分類到不同的類或者簇這樣的一個過程,所以同一個簇中的對象有很大的相似性,而不同簇間的對象有很大的相異性。從統計學的觀點看,聚類分析是通過數據建模簡化數據的一種方法。傳統的統計聚類分析方法包括系統聚類法、分解法、加入…

linux 編譯system.img,android生成sysytem.img的命令過程

Fromhttp://xianghuaclm.blog.163.com/blog/static/6668783201110221486240/使用#file system.img輸出:system.img: Linux rev 0.0 ext2 filesystem data,UUID4eb0489c-647d-49d8-9111-94657b5fd342, volume name"system"。然而本人使用命令#mkyaffs2imag…

Hive的hiveserver2后臺開啟和關閉

前提:hive/bin配置了環境變量。如果沒有配置,cd到 hive目錄下的bin里,再執行。 開啟命令: nohup hive --service hiveserver2 & 產生的日志: 默認在: 用戶文件夾里 [rootmaster ~]# ll total 80 …

記一次,jvm 內存溢出

1、什么是內存泄漏內存泄漏是指,有未被釋放的java對象,一直停留在內存中。GCRoot 無法追蹤到此對象,導致此對象無法被回收。 2、什么是內存溢出內存溢出是指,java程序創建對象需要內存,但是卻沒有內存可用了&#xff0…

ebnf范式_使用Scala基于詞法單元的解析器定制EBNF范式文法解析

前言近期在做Oracle遷移到Spark平臺的項目上遇到了一些平臺公式翻譯為SparkSQL(on Hive)的需求,而Spark采用親媽語言Scala進行開發。下面是個意外,被論文查重了,移步至我的Leanote博客查看點我,先亂碼一段時間[分后,擬使中的EB式&…

鉆石指標和完美的計算

鉆石的高度計算公式為:鉆石的高度直徑的三次方(單位毫米)0.00366(允許有0.03克拉的誤差)例如,0.5克拉的鉆石直徑是5.01毫米,則它的高為:5.01*5.01*5.01*0.003660.46說明0.5克拉的鉆石直徑只有0.46克拉鉆石的…

linux開機自動ZFS,linux – 為什么重新啟動導致我的ZFS鏡像的一面成為UNAVAIL?

我最近剛剛將批量數據存儲池(ZFS OnLinux 0.6.2,Debian Wheezy)從單設備vdev配置遷移到雙向鏡像vdev配置.之前的池配置是:NAME STATE READ WRITE CKSUMakita ONLINE 0 0 0ST4000NM0033-Z1Z1A0LQ ONLINE 0 0 0在重新啟動完成后一切都很好(我在重新啟動完成后啟動了一…

華為交換機默認vlan都是通的嗎_【思唯網絡學院】華為交換機常用的三種vlan劃分方法...

端口類型在學習劃分vlan前,必須要了解華為交換機的端口類型,以及他們的使用方法,因為端口的類型在實際配置中是必須會用到的,因為下面的vlan劃分會用到。1、Access類型端口執行命令port default vlan vlan-id,將端口加…

Spark應用日志級別設置

Spark-core包設置默認的日志級別為info,所以我們才看到一大堆日志信息。 開發的時候,把print的日志掩蓋了。 方法一: 代碼中設置日志級別 JavaSparkContext contextnew JavaSparkContext(conf); context.setLogLevel("warn"); 方…

linux 恢復操作系統,如何恢復Linux操作系統的GRUB引導程?

先使用一張修復盤進入grub,或者利用其他linux恢復盤等等進入linux系統,然后進入grub控制臺。總之就是想盡辦法進入一個控制臺就是了。然后準備引導進入硬盤上的Linux系統。如下:  grub> root (hd0,10)  grub> kernel /boot/vmlinuz…