在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

電子發燒友App

硬聲App

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示
電子發燒友網>電子資料下載>電子資料>太陽能喂鳥器相機開源分享

太陽能喂鳥器相機開源分享

2022-10-27 | zip | 0.07 MB | 次下載 | 免費

資料介紹

描述

圣誕節,我女兒收到了她祖父的“建立你自己的喂鳥器”。我認為制作太陽能喂鳥器相機會是一個有趣的項目,這樣她就可以看到喂鳥器中的鳥兒!我以前在這里看到過一些圖像識別喂鳥器項目,但它們帶有相當大的 Raspberry Pi SBC 和硬接線供電我想我會試一試帶有低功率 MCU 的太陽能版本。隨著我對 Edge Impulse 越來越滿意,我想我也可以添加一些圖像識別功能!像往常一樣,我遇到了一些小問題,但總的來說,我對項目的結果感到滿意。

該項目從我 5 年的建筑開始,繪制和裝飾鳥屋。你可以在上面的照片中看到她的成品。一旦她的杰作完成,我就接手了。

我有一塊 1W 的太陽能電池板,還有太陽能充電器、Powerboost 和一塊 2500 mAh 的 3.7V 電池。我也有一個 ESP32 攝像頭。這是一個相當便宜的微控制器USB 適配器約 10 美元),但用于圖像識別模型的內存不多(約 520 kB),但是,它確實有 Wifi 與 ESP32-S!

因為我要把喂鳥器放在離我家很遠的地方,所以我想我需要一個外部 WiFi 天線來為 MCU 增加 WiFi 范圍。ESP-32 Cam 已經有一個 uFL 連接器,所以它只是即插即用,對吧?好吧,沒那么多……原來天線有 2 種設置:默認的板載天線(帶 0 歐姆電阻)和外部天線。

poYBAGNYrZCAehT4AACYAc3aWUg221.png
ESP-32 CAM 的 2 個設置。這是真的很小。
?

Random Nerd Tutorials 有一個很棒的教程,介紹了我遵循的如何設置外部天線。使用我的基本設備(帶標準尖端的烙鐵,無放大倍數),卸下電阻器并放入外部天線的兩個焊盤之間的焊橋是一件很痛苦的事情。上圖是放大的,那些墊子很小。但是我搞定了!我建議你為你的烙鐵和一個放大鏡準備一個很好的尖端來做到這一點。我發現大多數電路板都將板載天線作為默認設置,因此如果您打算使用外部天線,則必須這樣做。

一旦我在 MCU 上配置和測試了外部天線,我在喂鳥器的側面鉆了一個孔,將天線電纜穿過食物儲存區,我將把相機放在那里。我使用我找到的 3D 打印外殼安裝了相機(并且已經在我當地的圖書館打印了!)和雙面膠帶安裝到喂鳥器的塑料外殼之一。然后我將太陽能電池板安裝在朝南的喂鳥器的屋頂上(因為我在北半球)。

poYBAGNYrZeAQDE-ABFQmcRhvEE929.jpg
太陽能電池板安裝在屋頂上。你可以看到右邊的天線
?

我找到一個舊塑料容器,將太陽能充電器、Power boost 和電池放入一個整潔的包裝中。我在側面切了一些孔,以便將太陽能電池板的連接器和 USB 電纜連接到喂鳥器中的 ESP-32 凸輪。完成設置后,我使用一些雙面膠帶將其安裝到喂鳥器的底部。

pYYBAGNYrZyARzHIAAjnnmeypZA089.jpg
我使用了一個舊塑料容器作為電池、Power Boost 和太陽能充電器的外殼。
?

然后是時候開始編碼了!我從 Arduino IDE 中的 ESP-32 庫附帶的 CameraWebServer 示例開始。我花了一些時間來了解它是如何工作的,然后我對其進行了精簡以從網絡服務器中刪除許多功能。基本上,我希望能夠看到視頻的實時流,使用 Edge Impulse 模型對該視頻進行推理,然后將任何鳥類照片保存到 ESP32 Cam 上的 SD 卡中。

在大多數情況下,編碼進行得很好。了解 app_httpd.cpp 文件與 Arduino 草圖的關系有點棘手,但你花在其中的時間越多,它就越有意義。我也花了一點時間才知道網絡服務器的網頁是一個編碼數組。我使用Cyber?? Chef將數組解碼為 html,進行更改,然后再次編碼回十六進制格式。它讓我慢了一點,但能夠弄清楚并繼續前進。

poYBAGNYraCAA8gnAAH6yb1un7U725.png
我使用 Cyber?? chef 對 webserver html 進行解碼和編碼
?

現在我已經啟動并運行了網絡服務器,是時候制作Edge Impulse模型了!我已經公開了我的項目,所以你可以在這里看到它我保持模型非常簡單。我從 kaggle下載了一個鳥類數據集,并過濾了我所在地區常見的鳥類。我在 Edge Impulse 中創建了一個由鳥類而非鳥類組成的數據集,每個類別大約有 1400 張圖像。由于 MCU 上的內存限制,我必須保持模型簡單,因此必須使用二進制分類器。我保持顏色 (RGB) 的脈沖,但我確實將分辨率降低到 48x48 以保持模型更小。不理想,但我必須做出權衡。

pYYBAGNYraWAatCAAADekm_D0gw218.png
鳥類圖像分類器脈沖
?

然后我訓練了 50 個 epoch,結果還不錯:

poYBAGNYraiAPfaJAACinvu7G_s288.png
訓練鳥類分類器數據集的結果
?

為了快速將模型組合在一起,這些是我可以接受的結果。還要注意 RAM 和閃存大小。足夠小,可以在 MCU 上運行。

然后我將模型部署到 Arduino 庫。這是我真正欣賞 Arduino 生態系統的地方。Edge Impulse 可以輕松地以 Arduino 庫的形式導入模型。您只需像添加任何庫一樣添加它,然后在 Arduino 草圖中包含您的推理頭文件。Edge Impulse 的 Louis Moreau 有一個很好的教程,介紹了如何將 Edge Impulse 模型集成到 ESP-32 Cam 中。我花了很多時間研究他的代碼,看看它是如何工作的。

我的代碼有點長,所以我不會在文章中放很多片段,但你可以在我的 github上看到它但一般流程是從 ESP-32 CAM 接收圖像(也稱為幀緩沖區)。該幀緩沖區被轉換為 RGB888 格式,然后調整為 48 x 48 像素(邊緣脈沖模型所期望的大小)。一旦調整大小,緩沖區就會被分類。Edge Impulse 分類代碼實際上非常簡單:

//Perform Edge Impulse classification
void classify()
{
  signal_t signal;
  signal.total_length = EI_CLASSIFIER_INPUT_WIDTH * EI_CLASSIFIER_INPUT_WIDTH;
  signal.get_data = &raw_feature_get_data;

  // Feed signal to the classifier
  EI_IMPULSE_ERROR res = run_classifier(&signal, &result, false /* debug */);

  // Returned error variable "res" while data object.array in "result"
  if (res != 0) {
    Serial.printf("Error....returning\n");
    return;
  }

  //bird found!
  if(result.classification[0].value > 0.8)
  {
    ei_printf("**** Bird found with %f probability! ****\n", result.classification[0].value);
    jpg_sent = true;
  }
}

如果找到一只鳥,則會設置一個標志,以便代碼可以將圖像保存到 SD 卡中。并且這個過程會重復!我讓這段代碼運行了 6 個小時,然后我讓 MCU 進入深度睡眠狀態,這樣我就可以給電池充電一點。我認為 ESP32 Cam 的運行功率約為 1W(~ 310 mA @ 3.3V),而我擁有的太陽能電池板只有 1W(并且由于損失和不完美的太陽,它可能是輸入的一半)所以我需要一些停機時間讓電池充電. 下面是在 Arduino 草圖的 loop() 方法中運行的深度睡眠代碼。

//plan would be to wakeup during daylight, stay on for a certain period of time (6 hours), then go into deep sleep at night
//wakeTime is the amount of time that the camera is awake, if this time is exceeded by the run time, go to sleep
unsigned long wakeTime = 6 * ms_TO_S_FACTOR * s_TO_HOUR_FACTOR;
if(millis() > wakeTime) {
  Serial.print("Time in ms: ");
  Serial.print(String(millis()));
  Serial.println(". Going to sleep now");
  Serial.flush(); 
  esp_deep_sleep_start();
}

我遇到麻煩的下一個領域是,將照片存儲到 SD 卡后如何查看它們?我看到的大多數教程只是從 ESP32 Cam 中取出 SD 卡并將其放入計算機中查看照片。每次我想看照片時,我都不想去喂鳥器并嘗試取出 SD 卡。我認為必須有一種方法可以使用 Wifi 來查看網絡服務器中的圖像。下班后我花了兩個晚上試圖找出一種方法,用我微薄的編碼技能來做這件事。我終于偶然發現了jameszah的 ESP32 SD 文件管理器。它很簡單,只需幾行就可以集成到我的代碼中,而且效果很好。它讓我在嘗試創建自己的時候省去了很多麻煩,所以謝謝詹姆斯!

一旦我設置了網絡服務器,我就可以從 SD 卡下載照片。成功!

poYBAGNYrauATTGTAAGgY5Qjprk963.png
我實現 jameszah 的 ESP32 SD 文件管理器的快照
?

當我第一次使用它時,我只是使用 millis() 來獲取文件名的唯一 ID。后來我了解到您可以使用 NTP 服務器來獲取當前時間,因此我可以將日期時間添加到我的文件中。更容易閱讀和知道照片的拍攝時間!

相機在行動!

以下是相機拍攝的一些示例快照。非常令人興奮!

pYYBAGNYra2ASMUEAAA9BwQLB9o941.jpg
你在看什么?
?
poYBAGNYrbCAZM_4AABFLzWWRt4302.jpg
為它奔跑(飛行?)
?
poYBAGNYrbSADyp5AAA6_wYUbnE403.jpg
“等等,那是照相機嗎?”
?

總的來說,這是一個真正考驗我的偉大項目。我喜歡它是一個獨立的系統,它從太陽中獲取能量并將其存儲到電池中。這測試了我的系統工程技能,并迫使我考慮圍繞一個已經建成的喂鳥器進行設計。它在資源相當有限的 MCU 上使用 Edge AI 模型對我進行了測試。如果我能再做一次,如果可以的話,我會使用更大的太陽能電池板(可能 1.5-2W)和更大的電池(3 Ah)。

總的來說工作量很大,但我對結果很滿意。繼續我的下一個項目!!!


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數據手冊
  2. 1.06 MB  |  532次下載  |  免費
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費
  5. 3TC358743XBG評估板參考手冊
  6. 1.36 MB  |  330次下載  |  免費
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費
  9. 5元宇宙深度解析—未來的未來-風口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費
  11. 6迪文DGUS開發指南
  12. 31.67 MB  |  194次下載  |  免費
  13. 7元宇宙底層硬件系列報告
  14. 13.42 MB  |  182次下載  |  免費
  15. 8FP5207XR-G1中文應用手冊
  16. 1.09 MB  |  178次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關電源設計實例指南
  8. 未知  |  21549次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數字電路基礎pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅動電路設計》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉中文版)
  4. 78.1 MB  |  537798次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191187次下載  |  免費
  13. 7十天學會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費
主站蜘蛛池模板: 亚洲第一视频在线| 人操人摸| 久久h| 丝袜美腿视频一区二区三区| 国模精品视频一区二区三区| 特黄特色大片免费播放路01| 久久美女精品| 黄视频在线播放| 亚洲成熟| 美女扒开尿口给男人桶爽视频| 丁香婷婷亚洲| 欧美xxxxbbbb在线播放| 四虎影视地址| 欧美性黑人十极品hd| 77788色淫免费网站视频| 国内精品久久久久久影院老狼| 欧美日韩中文字幕| 免费 视频 1级| 激情欧美一区二区三区中文字幕| 欧美成人综合在线| 久久夜色精品国产亚洲| 久久久精品免费视频| 国产一级毛片外aaaa| 琪琪see色原网一区二区| 四虎永久免费在线| 69国产| h网址在线观看| 无码一区二区三区视频| 国产精品第9页| 日本在线不卡免| 欧美一级淫片免费播放口| 亚洲人成网站色7799在线播放 | 日本久久久| 国内自拍网红在综合图区| 不卡一级毛片免费高清| 国模视频一区二区| 一级特黄aaa大片大全| 91色在线观看| 在线免费视频| 午夜在线观看福利| 九九热在线视频观看|