99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

原來ESP32竟可《一“芯”兩用》既做人體檢測傳感器也做Wi-Fi數(shù)據(jù)傳輸

機(jī)智云 ? 2024-12-18 18:12 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

今天將介紹ESP32如何"一芯兩用",既做人體檢測傳感器也做Wi-Fi數(shù)據(jù)傳輸模塊;

對于使用ESP32做Wi-Fi數(shù)據(jù)通訊,相信玩ESP32的基本上都知道怎么玩了,但是如何使用ESP32來做人體檢測傳感器,對我來說還是挺新鮮的事兒,對你來說是否有也一樣呢?接下來我會重點來展開說說如何通過ESP32來實現(xiàn),這里我用的的是ESP32C3模組;

0、前言

之前看過樂鑫演示了他們家的ESP-CSI智能人體感知檢測方案,覺得很有意思,居然可以使用Wi-Fi來檢測人體移動等一系列檢測,其中能夠檢測到的狀態(tài)有:有人/無人、運動/靜止;

8511a6d2-bd28-11ef-8084-92fbcf53809c.jpg

ESP-CSI檢測

于是就想著自己動手實踐一下這個方案的實際效果;

最后通過修改參考代碼,實現(xiàn)了一個基于ESP-CSI方案的ESP32C3人體檢測傳感器,同時接入到了HomeAssistant平臺,可以通過HomeAssistant來觀察整個檢測的過程;

一句話:本文基于ESP32C3實現(xiàn)了一個人體檢測方案,讓ESP32C3既做人體檢測傳感器也做Wi-Fi數(shù)據(jù)傳輸模塊,并且接入到了HomeAssistant平臺。

1、一些關(guān)于ESP-CSI基礎(chǔ)知識介紹

CSI:Channel Sstate Information,信道狀態(tài)信息,是描述無線信道特性的重要參數(shù),包括信號幅度、相位信號延遲等指標(biāo)。在Wi-Fi通信中,CSI用于測量無線網(wǎng)絡(luò)的信道狀態(tài)。

通過分析和研究CSI的變化,可以推斷引起信道狀態(tài)變化的物理環(huán)境變化,實現(xiàn)非接觸式智能傳感。

CSI對環(huán)境變化非常敏感。它不僅能感知人或動物的行走、奔跑等大動作引起的變化,還能捕捉靜態(tài)環(huán)境中人或動物的細(xì)微動作,如呼吸、咀嚼等。這些能力使得 CSI 在智能環(huán)境監(jiān)測、人體活動監(jiān)測、無線定位等應(yīng)用中具有廣泛的應(yīng)用前景。

2、一些Wi-Fi CSI的有趣例子

網(wǎng)上還有很多關(guān)于CSI的有趣例子,這里羅列幾個有趣的例子,就當(dāng)為了提升你對CSI的興趣吧。

通過CSI檢測人的運動姿態(tài)

852fc8ec-bd28-11ef-8084-92fbcf53809c.png
  1. CSI檢測人的運動姿態(tài)

人在檢測

  1. 人在檢測

通過以上的例子,讓我們了解到CSI的應(yīng)用方向還是挺多的,而樂鑫通過對CSI數(shù)據(jù)進(jìn)行一系列的處理,最終封裝為一個esp-radar庫,讓我們無需再進(jìn)行復(fù)雜的技術(shù)分析,只需要會調(diào)用esp-radar相關(guān)的APi即可,即可完成檢測到有人/無人、運動/靜止這些情況。

所以利用ESP-CSI我們本質(zhì)上是理解相關(guān)API的作用和使用流程;

3、ESP-CSI相關(guān)API介紹

我并沒有看到樂鑫有對這個庫的API做比較詳細(xì)的說明,其作用我都是通過看源碼注釋理解進(jìn)行說明,如果有不正確的歡迎留言指出,一起交流;

通過打開esp_radar.h文件,可以看到總共提供了11個API,通過API名稱其功能大概也能猜出個7,8成,具體的API如下

#設(shè)置Wi-Fi radar配置,相關(guān)配置可以通過wifi_radar_config_t結(jié)構(gòu)體查看
esp_err_tesp_radar_set_config(constwifi_radar_config_t*config);
#獲取Wi-Fi radar配置
esp_err_tesp_radar_get_config(wifi_radar_config_t*config);
#啟動Wi-Fi radar
esp_err_tesp_radar_start(void);
#停止Wi-Fi radar
esp_err_tesp_radar_stop(void);
#初始化Wi-Fi radar
esp_err_tesp_radar_init(void);
#釋放Wi-Fi radar 初始化
esp_err_tesp_radar_deinit(void);
#訓(xùn)練Wi-Fi radar 相關(guān)配置,主要用于自主校準(zhǔn),校準(zhǔn)之后可以獲取相關(guān)的參數(shù),如有無人的閾值
esp_err_tesp_radar_train_start(void);
#移植訓(xùn)練Wi-Fi radar后相關(guān)的配置,一般用于需要重新校準(zhǔn)的情況,不然上一次校準(zhǔn)的數(shù)據(jù)可能會影響本次的結(jié)果
esp_err_tesp_radar_train_remove(void);
#停止訓(xùn)練,可以通過入?yún)@取訓(xùn)練后的兩個結(jié)果 wander和jitter這兩個閾值
esp_err_tesp_radar_train_stop(float*wander_threshold,float*jitter_threshold);
#獲取模組的增益
esp_err_tesp_radar_get_rx_gain(uint8_t* agc_gain,int8_t*fft_gain);
#設(shè)置模組的增益
esp_err_tesp_radar_set_rx_gain(uint8_tagc_gain,int8_tfft_gain);

4、ESP-Radar編程實現(xiàn)=>人體檢測連接到HomeAssistant

通過對esp-radar庫api和相關(guān)工程流程的理解,接下來就是編程實現(xiàn)文章開頭說的,功能: 基于ESP-CSI方案例程connect_rainmaker,使用ESP32C3實現(xiàn)人體檢測傳感器,同時接入到了HomeAssistant平臺;

4.1、工程配置;

  1. 檢查SDK是否啟動CSI:Menuconfig>Components config>Wi-Fi>Wi-Fi CSI (Channel State Information)
  2. 由于我們要添加把檢測到的狀體有人/無人、運動/靜止,上報到HA平臺,所以我定義了兩個實體,一個是人在實體,一個是移動實體,然后通過MQTT接入到HA,所以我們需要在工程中添加mqtt模塊,我們在idf_component.yml添加mqtt,如下圖
854c7b86-bd28-11ef-8084-92fbcf53809c.png

4.2 整體程序主要CSI邏輯

85508c9e-bd28-11ef-8084-92fbcf53809c.png

image 4

4.3 通過MQTT協(xié)議鏈接到HomeAssistant

我們通過MQTT協(xié)議來把監(jiān)聽到的數(shù)據(jù)上報到HA,具體如何通過MQTT來聲明設(shè)備的屬性服務(wù)以及如何上報可以參考我之前寫的文章

  • HomeAssistant|【入門篇】基于MQTT的零代碼、少配置,設(shè)備高效接入方法
  • HomeAssistant|【高級篇】基于MQTT的零代碼、少配置,設(shè)備高效接入方法
  • HomeAssistant|【實戰(zhàn)篇】基于MQTT的零代碼、少配置,設(shè)備高效接入方法

5、工程效果展示

  1. 通過ESP-RainMkaker APP 把設(shè)備配置網(wǎng)絡(luò)
85687318-bd28-11ef-8084-92fbcf53809c.jpg
  1. 通過在APP上校準(zhǔn)設(shè)備,校準(zhǔn)設(shè)備過程需要確保沒有人在房間,整個校準(zhǔn)過程60秒
8573f9ea-bd28-11ef-8084-92fbcf53809c.jpg
  1. 通過通過HomeAssistant顯示捕捉到:有人/無人、運動/靜止
85895ad8-bd28-11ef-8084-92fbcf53809c.png
  1. 同時我們通過HA的歷史記錄也可以更好的觀察過去一段時間的檢測情況
8594a906-bd28-11ef-8084-92fbcf53809c.png
  1. 具體的編程實現(xiàn)可以參考我添加的代碼ha_mqtt
85b397c6-bd28-11ef-8084-92fbcf53809c.png

我們使用了使用了樂鑫的例程實踐,直觀感受到了esp32既可以做傳統(tǒng)的數(shù)據(jù)傳輸模塊也可以用來同時做人在和移動檢測傳感器,最后通過加入自己的代碼,實現(xiàn)把檢測到的狀態(tài)也上報到了HA平臺;工具安利最后給大家推薦我做的一個無線串口數(shù)據(jù)采集工具,感興趣的童鞋可以點擊看看一種讓你的MCU日志可無線查看和實時記錄跟蹤的方法

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 傳感器
    +關(guān)注

    關(guān)注

    2566

    文章

    53008

    瀏覽量

    767713
  • 數(shù)據(jù)傳輸
    +關(guān)注

    關(guān)注

    9

    文章

    2019

    瀏覽量

    66096
  • ESP32
    +關(guān)注

    關(guān)注

    21

    文章

    1017

    瀏覽量

    19288
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    Wi-Fi 8:開啟極高可靠性 (UHR) 連接的新紀(jì)元——2

    。盡管藍(lán)牙與Wi-Fi 的調(diào)制方式存在差異,但在某些使用場景與連線環(huán)境下,者之間仍然可能互相干擾或降低連線質(zhì)量。傳統(tǒng)的解決方式是讓藍(lán)牙設(shè)備在Wi-Fi不進(jìn)行數(shù)據(jù)傳輸時發(fā)射信號,以避免
    發(fā)表于 06-13 11:15

    ?迅通PTR7002 Wi-Fi 6模塊技術(shù)解析

    實測,在20節(jié)點并發(fā)傳輸測試中,模塊的MU-MIMO調(diào)度延遲穩(wěn)定在3ms以內(nèi)(5GHz頻段),較Wi-Fi 5方案降低40%;在電池供電的傳感器場景下(10分鐘/次數(shù)據(jù)傳輸),配合TW
    發(fā)表于 06-10 10:38

    ESP32-C6 智能網(wǎng)關(guān)設(shè)備WiFi6高性能通信應(yīng)用

    隨著物聯(lián)網(wǎng)設(shè)備的不斷增多,對無線連接技術(shù)的要求越來越高,無線連接技術(shù)不僅需要提供更高的數(shù)據(jù)傳輸速率,還需要更強(qiáng)的網(wǎng)絡(luò)連接穩(wěn)定性和更低的功耗。 在這場智能化的浪潮中,Wi-Fi 6技術(shù),不僅提供了
    發(fā)表于 05-30 13:54

    基于SiWG917Y的無電池Wi-Fi 6傳感器

    本開發(fā)視頻將幫助您快速了解Silicon Labs(科科技)與合作伙伴Sigma Connectivity協(xié)力打造的款無電池Wi-Fi 6傳感器設(shè)備。該參考設(shè)計中的開發(fā)板基于高能效
    的頭像 發(fā)表于 04-19 15:46 ?800次閱讀

    nRF Cloud Wi-Fi 定位服務(wù)

    中實現(xiàn)高性能和超低功耗。對于 Wi-Fi 定位請求,nRF Cloud 借助 Wi-Fi 數(shù)據(jù)庫計算設(shè)備位置,該數(shù)據(jù)庫包含不同
    發(fā)表于 04-17 15:07

    Wi-Fi 定位服務(wù)

    Wi-Fi 網(wǎng)絡(luò)數(shù)據(jù)庫進(jìn)行比較。 Wi-Fi 定位系統(tǒng)包含以下關(guān)鍵組件: 用戶設(shè)備中的 Wi-Fi 無線電設(shè)備,用于檢測附近的網(wǎng)絡(luò)。 將
    發(fā)表于 04-17 15:01

    2.4GHz+5GHz雙頻低功耗 Wi-Fi 6協(xié)同IC -nRF7002

    數(shù)據(jù)傳輸速率、更大的容量和更高的能效,使用戶在虛擬世界中獲得更穩(wěn)定、低延遲的體驗。nRF7002 Wi-Fi 6協(xié)同IC是款低功耗IC,專為提供無線連接和基于Wi-Fi的定位功能而
    發(fā)表于 02-26 14:54

    樂鑫ESP32調(diào)試Wi-Fi常用調(diào)試API

    在使用ESP32調(diào)試Wi-Fi功能時,由于場景和各種因素的影響,難免會遇到各種連接不上,Wi-Fi斷連等問題。下面介紹些API,方便新手調(diào)試Wi-
    的頭像 發(fā)表于 02-07 18:10 ?2622次閱讀
    樂鑫<b class='flag-5'>ESP32</b>調(diào)試<b class='flag-5'>Wi-Fi</b>常用調(diào)試API

    Simplelink? Wi-Fi?傳感器標(biāo)簽

    電子發(fā)燒友網(wǎng)站提供《Simplelink? Wi-Fi?傳感器標(biāo)簽.pdf》資料免費下載
    發(fā)表于 11-25 14:17 ?0次下載
    Simplelink? <b class='flag-5'>Wi-Fi</b>?<b class='flag-5'>傳感器</b>標(biāo)簽

    Wi-Fi與藍(lán)牙的波特率對比分析

    Wi-Fi與藍(lán)牙是種不同的無線通信技術(shù),它們在波特率(或稱數(shù)據(jù)傳輸速率)方面存在顯著的差異。以下是對Wi-Fi與藍(lán)牙波特率的對比分析:
    的頭像 發(fā)表于 11-22 09:54 ?1860次閱讀

    基于ESP32-C3FN4為核心自主研發(fā)的Wi-Fi+BT模塊-RF-WM-ESP32B1

    WI-FI模組 - RF-WM-ESP32B1是基于ESP32-C3FN4為核心自主研發(fā)的Wi-Fi+BT模塊,支持IEEE 802.11b/g/n (2.4 GHz
    的頭像 發(fā)表于 11-07 09:45 ?673次閱讀
    基于<b class='flag-5'>ESP32</b>-C3FN4為核心自主研發(fā)的<b class='flag-5'>Wi-Fi</b>+BT模塊-RF-WM-<b class='flag-5'>ESP32</b>B1

    代無線局域網(wǎng)標(biāo)準(zhǔn)Wi-Fi 7(802.11be)

    Wi-Fi7(稱為802.11be)是下代無線局域網(wǎng)標(biāo)準(zhǔn),旨在提供更高的數(shù)據(jù)傳輸速度、更低的延遲以及更強(qiáng)大的網(wǎng)絡(luò)容量。以下是Wi-Fi7
    的頭像 發(fā)表于 11-05 08:01 ?2485次閱讀
    下<b class='flag-5'>一</b>代無線局域網(wǎng)標(biāo)準(zhǔn)<b class='flag-5'>Wi-Fi</b> 7(802.11be)

    【AI技術(shù)支持】ESP32無線Wi-Fi常用調(diào)試API

    Wi-Fi常用調(diào)試API在使用esp32調(diào)試Wi-Fi功能時,由于場景和各種因素的影響,難免會遇到各種連接不上,Wi-Fi斷連等問題。下面介紹
    的頭像 發(fā)表于 10-26 08:00 ?1826次閱讀
    【AI技術(shù)支持】<b class='flag-5'>ESP32</b>無線<b class='flag-5'>Wi-Fi</b>常用調(diào)試API

    esp8266和esp32區(qū)別是什么

    以下是關(guān)于ESP8266和ESP32的主要區(qū)別: 處理和架構(gòu) : ESP8266 :使用個Tensilica L106 80MHz的處理
    的頭像 發(fā)表于 08-19 18:16 ?7360次閱讀

    esp32什么軟件編程

    ESP32款由樂鑫(Espressif)推出的低功耗、高性能的Wi-Fi和藍(lán)牙雙模微控制,廣泛應(yīng)用于物聯(lián)網(wǎng)、智能家居、智能穿戴等領(lǐng)域。要對ES
    的頭像 發(fā)表于 08-19 17:24 ?7026次閱讀