国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【K210-ESP8266】開發(fā)板上傳圖像數(shù)據(jù)到服務(wù)器并實時顯示

這篇具有很好參考價值的文章主要介紹了【K210-ESP8266】開發(fā)板上傳圖像數(shù)據(jù)到服務(wù)器并實時顯示。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

本文章主要記錄基于 【K210-ESP8266】 圖傳和顯示的過程,結(jié)合人臉識別,實現(xiàn)嵌入式邊緣設(shè)備的無線通訊和AI推流,是系列文章,歡迎學(xué)習(xí)交流。
關(guān)于上位機(jī)的開發(fā)過程,請參考以下博文:
【K210+ESP8266圖傳上位機(jī)開發(fā)】TCP server + JPEG圖像解析上位機(jī)開發(fā)

  • ?? 作者簡介:大家好,我是喜歡記錄零碎知識點的小菜鳥。??
  • ?? 個人主頁:歡迎訪問我的 Ethernet_Comm 博客主頁??
  • ?? 支持我:點贊??+收藏??+留言??
  • ?? 系列專欄:K210開發(fā)板二次開發(fā) ??
  • ??格言:寫文檔啊不是寫文章,重要的還是直白!??

1. K210 - esp8266 圖傳

1.1 系統(tǒng)架構(gòu)

  • K210 開發(fā)板的 OV2340攝像頭采集圖像
  • K210 開發(fā)板串口接 樂鑫科技的 ESP8266 模塊,使用其 WIFI 功能
  • ESP8266 連接wifi后通過連接上位機(jī)TCP服務(wù)器,并將K210采集的圖像數(shù)據(jù)通過透傳的方式傳輸至 TCP server
  • 上位機(jī) TCP server 將圖像數(shù)據(jù)解析并還原顯示

【K210-ESP8266】開發(fā)板上傳圖像數(shù)據(jù)到服務(wù)器并實時顯示

1.2 圖像格式解析

一幀圖像,格式 RGB56516位數(shù)據(jù),每個像素占用2字節(jié)

320*240 分辨率 = 76800 像素

數(shù)據(jù)量 = 像素 * 2 字節(jié) = 76800 * 2 = 153600字節(jié) = 150 kb

img = sensor.snapshot() 
#返回值:{"w":320, "h":240, "type"="rgb565", "size":153600} 一幀圖像字節(jié)數(shù) 153600
img_bytes = img.to_bytes() #轉(zhuǎn)化為 字節(jié)
print(len(img_bytes))      #字節(jié)長度為 153600

# 圖像壓縮
img = sensor.snapshot()
lcd.display(img) 
img = img.compress(quality=60)    # 對原始圖像壓縮  壓縮的 quality 越大 對原始圖像的破壞率越大
img_bytes = img.to_bytes()    #轉(zhuǎn)化為 字節(jié)
print(len(img_bytes))         #   #輸出 6900 多  對原圖進(jìn)行壓縮后,字節(jié)數(shù)變少,
#lcd.display(img)   #注意,壓縮后再顯示,會報錯  格式不支持

1.3 圖像發(fā)送方式解析

發(fā)送時,單次發(fā)送2048個字節(jié),用block的形式,先發(fā)送2048的整數(shù)倍,再發(fā)送剩余字節(jié)數(shù):

 img = sensor.snapshot()
        lcd.display(img)
        img = img.compress(quality=50)  # 對原始圖像壓縮  quality 越小 對原始圖像的破壞率越大
        img_bytes = img.to_bytes() #轉(zhuǎn)化為 字節(jié)
        print("send len: 壓縮后的字節(jié)數(shù) ", len(img_bytes))
        try:
            block = int(len(img_bytes)/2048)  #單次傳2048個字節(jié)
            #print("發(fā)送的block數(shù) ", block)
            for i in range(block):  # 先發(fā)送2048 的整數(shù)倍
                send_len = sock.send(img_bytes[i*2048:(i+1)*2048])  #返回發(fā)送的字節(jié)數(shù)
                #time.sleep_ms(500)
            send_len2 = sock.send(img_bytes[block*2048:]) #然后發(fā)啊送剩余不到2048個字節(jié)
            #print("send len2: ", send_len2)

            #time.sleep_ms(500)
            if send_len == 0:
                raise Exception("send fail")
        except OSError as e:
            if e.args[0] == 128:
                print("connection closed")

1.4 ESP8266 配置AT指令:

一般來說,ESP8266 模塊默認(rèn)的波特率是115200,AT指令全部以\r\n結(jié)尾;發(fā)送AT命令后,返回OK即認(rèn)為設(shè)置成功

AP 模式:本身作為熱點讓別人連接: AT+CWMODE=2。配置熱點信息: AT+CWSAP="Eureka1024","123456789",1,3 ---- 熱點名為 Eureka1024,密碼為 123456789,使用通道 1,加密方式為 WPA2_PSK。

station 模式: 用來連接熱點,加入外部網(wǎng)絡(luò)。AT+CWMODE=1連接到指定路由器:AT+CWJAP_DEF="PiWiFi","12345678" 。//wifi名wifi密碼

# 透傳模式:開啟透傳模式后只需要在第一次發(fā)送數(shù)據(jù)時使用 AT+CIPSEND 指令來告訴 ESP8266 開始透傳發(fā)送,隨后我們直接發(fā)送想要的數(shù)據(jù)即可,不需要在每次發(fā)送數(shù)據(jù)之前都要指定發(fā)送數(shù)據(jù)的長度
# 開啟:使用 AT+CIPMODE=1 指令開啟透傳模式,
# 結(jié)束:1、發(fā)送 +++ 這三個字符,值得注意的是該命令沒有換行符,不然后失敗。 2、接著發(fā)送 AT+CIPMODE=0 命令即可退出透傳模式,即回到正常的模式。
#ESP8266是通過AT指令進(jìn)行配置的,因此要保證ESP8266已經(jīng)燒錄了AT固件庫,一般網(wǎng)上買的ESP8266模塊默認(rèn)會燒錄AT固件庫,如若沒有,可以自行進(jìn)行燒錄
AT+RESTORE                                                      #恢復(fù)出廠設(shè)置
AT+CWMODE=1                                                  #設(shè)置ESP8266工作模式為STA
AT+RST                                                            #復(fù)位
AT+CWJAP="路由器賬號","密碼"                                      #連接路由器
AT+CIPMODE=1                                                  #設(shè)置透傳模式
AT+CIPSTART="TCP","192.168.6.117",8266                         #連接TCP服務(wù)器(上位機(jī))
AT+CIPSEND                                                       #開啟透傳,傳送數(shù)據(jù)的長度

1.5 ESP8266 透傳圖像數(shù)據(jù)

1.5.1 TcpServer 測試結(jié)果:

#上圖中可以看出,OV2640采集到的圖像數(shù)據(jù),最終經(jīng)過ESP8266發(fā)送到了上位機(jī),并成功顯示出來,只是受限于串口速率,大概3秒才會傳輸完一幀數(shù)據(jù),在實際使用時,也可以發(fā)現(xiàn),上位機(jī)數(shù)據(jù)緩沖容器時常都是空的,數(shù)據(jù)生產(chǎn)線程受限于串口速率,導(dǎo)致數(shù)據(jù)的生產(chǎn)遠(yuǎn)遠(yuǎn)小于數(shù)據(jù)的消耗,表現(xiàn)出來就是幾秒才會刷新一幀數(shù)據(jù)。
圖像幀數(shù): 157
fps: 0.1968504
send len: 壓縮后的字節(jié)數(shù)  6283
圖像幀數(shù): 158
fps: 0.1975114
send len: 壓縮后的字節(jié)數(shù)  6285
圖像幀數(shù): 159
fps: 0.1968117
send len: 壓縮后的字節(jié)數(shù)  6265
圖像幀數(shù): 160
fps: 0.1976675
send len: 壓縮后的字節(jié)數(shù)  6232
圖像幀數(shù): 161
fps: 0.1969279
send len: 壓縮后的字節(jié)數(shù)  6190
圖像幀數(shù): 162
fps: 0.1970055
send len: 壓縮后的字節(jié)數(shù)  6205
圖像幀數(shù): 163
fps: 0.1970055
send len: 壓縮后的字節(jié)數(shù)  6193

1.6 TCP 服務(wù)器+圖像數(shù)據(jù)解析上位機(jī)

1.6.1 上位機(jī):

【K210-ESP8266】開發(fā)板上傳圖像數(shù)據(jù)到服務(wù)器并實時顯示

上位機(jī)使用說明:
上位機(jī)下載:C#上位機(jī) 網(wǎng)絡(luò)調(diào)試軟件 可實時顯示JPEG圖像
https://download.csdn.net/download/qq_39217004/86946865

ESP8266在接受到K210開發(fā)板通過串口傳輸?shù)膱D像數(shù)據(jù)之后,會將其發(fā)送給上位機(jī),那么ESP8266和上位機(jī)之間是如何通訊的呢?是通過TCP/IP協(xié)議。本軟件使用C#語言,基于TCP/IP協(xié)議,寫了一個簡單的上位機(jī)服務(wù),該服務(wù)接受ESP8266的連接,并將其發(fā)送過來的數(shù)據(jù)編碼為圖像進(jìn)行顯示。由于軟件寫的很簡單,因此很多功能并沒有進(jìn)行擴(kuò)充實現(xiàn),如其只支持一個設(shè)備的圖傳,后續(xù)可以進(jìn)行升級改進(jìn)。感謝各位的下載使用

使用說明:配置好您的本機(jī)IP和port口,port口在 0-65536任選一個即可,下位機(jī)和上位機(jī)的連接配置要一致,配置好趴之后可以實現(xiàn)連接使用

若有問題歡迎大家留言交流,祝大家工作學(xué)習(xí)順利

修改不同的IP地址后,測試:
【K210-ESP8266】開發(fā)板上傳圖像數(shù)據(jù)到服務(wù)器并實時顯示

下位機(jī):請留言交流





關(guān)于上位機(jī)的開發(fā)過程,請參考以下博文:
【K210+ESP8266圖傳上位機(jī)開發(fā)】TCP server + JPEG圖像解析上位機(jī)開發(fā)文章來源地址http://www.zghlxwxcb.cn/news/detail-413788.html

到了這里,關(guān)于【K210-ESP8266】開發(fā)板上傳圖像數(shù)據(jù)到服務(wù)器并實時顯示的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 13-ESP8266連接MQTT服務(wù)器發(fā)送數(shù)據(jù)

    13-ESP8266連接MQTT服務(wù)器發(fā)送數(shù)據(jù)

    Author:teacherXue MQTT是一個基于客戶端-服務(wù)器的消息發(fā)布/訂閱傳輸協(xié)議。MQTT協(xié)議是輕量、簡單、開放和易于實現(xiàn)的,這些特點使它適用范圍非常廣泛。在很多情況下,包括受限的環(huán)境中,如:機(jī)器與機(jī)器(M2M)通信和物聯(lián)網(wǎng)(IoT)。其在,通過衛(wèi)星鏈路通信傳感器、偶爾撥號

    2024年02月03日
    瀏覽(49)
  • ESP8266+STM32+MQTT發(fā)送數(shù)據(jù)到阿里云服務(wù)器(三、配置ESP8266模塊并測試連接)

    ESP8266+STM32+MQTT發(fā)送數(shù)據(jù)到阿里云服務(wù)器(三、配置ESP8266模塊并測試連接)

    1、固件燒錄器 2、固件 3、串口工具 4、ESP866模塊 5、USB轉(zhuǎn)TTL模塊 (以上軟件工具文末分享的鏈接有,硬件請?zhí)詫氉孕匈徺I) 硬件如下圖: 1、按照下面對照關(guān)系進(jìn)行接線 USB轉(zhuǎn)TTL ESP8266 3.3V 3V3 GND GND RX TX TX RX IO0 GND 2、打開固件燒錄工具圖標(biāo) 3、點擊“ OK ” 4、在出現(xiàn)的界面中,

    2024年03月23日
    瀏覽(32)
  • esp8266模塊--MQTT協(xié)議連接服務(wù)器實現(xiàn)數(shù)據(jù)接收和發(fā)送+源碼

    esp8266模塊--MQTT協(xié)議連接服務(wù)器實現(xiàn)數(shù)據(jù)接收和發(fā)送+源碼

    首先推薦中國移動的代碼,我覺得中國移動的代碼更為合理:(但是有一些其他的模塊在里面) OneNET開發(fā)板代碼、資料--2020-09-27--標(biāo)準(zhǔn)板、Mini板bug修復(fù) - 開發(fā)板專區(qū) - OneNET設(shè)備云論壇 (10086.cn) 以及這位b站up做的視頻:(wifi模塊在p9節(jié)) 【挽救小白第一季】STM32+8266+小程序智能

    2024年02月08日
    瀏覽(34)
  • ESP8266連接OneNet服務(wù)器

    ESP8266連接OneNet服務(wù)器

    配置ESP8266為客戶端,連接公網(wǎng),連接上OneNet服務(wù)器,通過MQTT協(xié)議與服務(wù)器進(jìn)行交互。 一 準(zhǔn)備工作 OneNet平臺上創(chuàng)建自己的產(chǎn)品設(shè)備信息。 對MQTT協(xié)議進(jìn)行一定了解。 準(zhǔn)備一塊ESP8266,通過串口進(jìn)行ESP8266的配置。 二 配置ESP8266 1.AT 驗證硬件是否正常 硬件正常返回:AT OK 2.AT+RS

    2024年02月01日
    瀏覽(21)
  • esp8266WIFI模塊教程:ATK-ESP8266——TCP網(wǎng)絡(luò)通訊和服務(wù)器連接

    esp8266WIFI模塊教程:ATK-ESP8266——TCP網(wǎng)絡(luò)通訊和服務(wù)器連接

    ??ATK-MW8266D 模塊是正點原子推出的一款高性能 UART-WIFI(串口-無線)模塊,ATK-MW8266D 模塊板載了正點原子公司自主研發(fā)的 ATK-ESP-01 模塊,該模塊通過 FCC、CE 認(rèn)證,可直接用于出口歐美地區(qū)的產(chǎn)品。 ??ATK-MW8266D 模塊采用串口(LVTTL)與 MCU(或其他串口設(shè)備)通訊,且內(nèi)置

    2024年04月15日
    瀏覽(64)
  • ESP8266入門教程11:連接MQTT服務(wù)器

    ESP8266入門教程11:連接MQTT服務(wù)器

    將第三方庫PubSubClient下載到lib文件夾 git clone https://github.com/knolleary/pubsubclient.git 1、打開阿里云IOT官網(wǎng),登錄阿里云賬號 https://iot.console.aliyun.com 2、創(chuàng)建實例 3、新建產(chǎn)品 4、自定義主題 ?5、添加設(shè)備 ?6、查看設(shè)備配置 ? 1、修改PubSubClient.h頭文件,否則無法連接阿里云MQTT服務(wù)

    2023年04月24日
    瀏覽(44)
  • STM32通過ESP8266連接MQTT服務(wù)器

    STM32通過ESP8266連接MQTT服務(wù)器

    ? ? ? ? ESP8266有多種連接MQTT方式,本文介紹使用的是AT MQTT版本固件的ESP01s,基于此固件版本進(jìn)行說明。本文所需硬件:STM32F103RCT6、LED、ESP01s、DHT11,實現(xiàn)功能:溫濕度上傳和遠(yuǎn)程開關(guān)燈的基本功能。 B站視頻教程:STM32+ESP8266+DHT11_嗶哩嗶哩_bilibili gitee:?STM32_Share: STM32、DHT

    2024年02月09日
    瀏覽(24)
  • ESP8266調(diào)用NTP服務(wù)器進(jìn)行時間校準(zhǔn)

    ESP8266調(diào)用NTP服務(wù)器進(jìn)行時間校準(zhǔn)

    NTP是網(wǎng)絡(luò)時間協(xié)議(Network Time Protocol,簡稱NTP),是一種用于同步計算機(jī)時間的協(xié)議。NTP服務(wù)器指的是提供NTP服務(wù)的計算機(jī)或設(shè)備。NTP服務(wù)器的主要功能是保證網(wǎng)絡(luò)上的所有設(shè)備的時間同步,以確保各個設(shè)備相互之間的時間協(xié)調(diào)一致。NTP服務(wù)器通常連接到具有高度精確時間源

    2024年02月08日
    瀏覽(25)
  • STM32通過esp8266連接WiFi接入MQTT服務(wù)器

    STM32通過esp8266連接WiFi接入MQTT服務(wù)器

    上文我們講到如何搭建本地MQTT服務(wù)器http://t.csdn.cn/aHNcO,現(xiàn)在介紹如何通過stm32連接MQTT 一.首先我們初始化esp8266這里我們使用的是USART4與其通信代碼如下 二.通過數(shù)據(jù)間隔時間來判斷是否是一串?dāng)?shù)據(jù)如果間隔時間大于30ms則判定為不是一串?dāng)?shù)據(jù),接收緩沖器清零。 代碼如下!

    2024年02月07日
    瀏覽(36)
  • STM32+ESP8266上傳溫濕度數(shù)據(jù)至新版OneNET

    STM32+ESP8266上傳溫濕度數(shù)據(jù)至新版OneNET

    本文詳細(xì)介紹了,STM32連接新版OneNET平臺上報溫濕度數(shù)據(jù)的操作與步驟。 使用資源: STM32F103C8T6、ESP826612F、DHT11溫濕度傳感器 通訊協(xié)議: MQTT 數(shù)據(jù)格式: CJson 一、OneNET平臺創(chuàng)建 1.? 登錄https://open.iot.10086.cn/,注冊賬號、登錄。 2.? 點擊右上角的“開發(fā)者中心”進(jìn)入產(chǎn)品開發(fā)界

    2024年02月05日
    瀏覽(77)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包