最简单DIY基于ESP32CAM的物联网相机系统⑥(用上位机VS2013 MFC实现WIFI图传)
第一篇:最簡單DIY基于ESP32CAM的物聯網相機系統①(用網頁實現拍照圖傳)
 第二篇:最簡單DIY基于ESP32CAM的物聯網相機系統②(在JAVAWEB服務器實現圖片查看器)
 第三篇:最簡單DIY基于ESP32CAM的物聯網相機系統③(在JSP服務器圖傳相片給所有客戶端欣賞)
 第四篇:最簡單DIY基于ESP32CAM的物聯網相機系統④(用調試串口助手實現串口圖傳)
 第五篇(上):最簡單DIY基于ESP32CAM的物聯網相機系統⑤(用1306OLED實現WIFI黑白屏照相機)
 第五篇(下):最簡單DIY基于ESP32CAM的物聯網相機系統⑤(用C#上位機實現串口圖傳)
 第六篇:最簡單DIY基于ESP32CAM的物聯網相機系統⑥(用上位機VS2013 MFC實現WIFI圖傳)
文章目錄
- 前言
- 一、最簡單DIY基于ESP32CAM的物聯網相機系統⑥(用上位機VS2013 MFC實現WIFI圖傳)是什么?
- 二、運行環境說明
- 1.PC軟件環境
- 2.單片機開發環境Arduino
- 3.修改上面2的源碼變成自己的源碼
 
- 三、運行與調試
- 總結
前言
????daodanjishui物聯網核心原創技術之最簡單DIY基于ESP32CAM的物聯網相機系統⑥(用上位機VS2013 MFC實現WIFI圖傳)。
 ????該專欄的第五篇博文(下):最簡單DIY基于ESP32CAM的物聯網相機系統④(用調試串口助手實現串口圖傳) 實現的是用ESP32CAM用網頁控制拍攝照片通過串口傳輸到電腦的C#客戶端顯示圖片,其實這樣很麻煩。缺點就是:串口傳輸圖片的速度慢,還要有線連接。
 ????現在本文采用的是高速WIFI的方式傳輸圖片,ESP32通過總線采集出來的圖片在內存里面直接通過高速WIFI輸出到電腦MFC服務器上。那么可以通過ESP32CAM的嵌入式網頁來控制拍照和傳輸,因為ESP32CAM開發板上沒有可用的開關,所以我就還是采用一貫的風格,采用嵌入式網頁來實現拍照和上傳了。如果是做嵌入式圖像處理的讀者,我稍微推薦借鑒我這次的開源方案,這個C++代碼跟C#不同的,適合老手修改達到二次開發,現在界面編程確實流行C#,因為根植于Windows系統,體積小,運行流暢,所以下載了我這個項目的源碼的讀者,現在可以做一個基于ESP32CAM監控攝像頭監控之類的設計了,也可以學會圖像傳輸和接收和編碼等熱門知識!
 優酷視頻演示地址:https://v.youku.com/v_show/id_XNTE2NTI1NzU4MA==.html
ESP32CAM物聯網相機(用上位機VS2013 MFC實現WIFI圖傳)
請看看下面的效果圖(為了相機穩定我加了電源控制模塊輸出穩定的5V電壓):
 
 
 
 
一、最簡單DIY基于ESP32CAM的物聯網相機系統⑥(用上位機VS2013 MFC實現WIFI圖傳)是什么?
????這個MFC上位機確實不是我親自寫的,是一個免費開源的項目,在網上下載的,大家想免費的話自行去下載,附上免費下載鏈接:http://www.openedv.com/forum.php?mod=viewthread&tid=65762&highlight=%C9%E3%CF%F1%CD%B7%2B%C9%CF%CE%BB%BB%FA 代碼經過我整理,完美匹配我 本博文涉及到的硬件,所以硬件配置和使用可以去參考前幾篇博文的介紹。并且在源碼的關鍵地方加上了我的注釋,但是這套上位機源碼是用來接收智能小車發送的圖片的,后期也有可能用到我智能小車系列項目當中。現在我用來作為服務器無線WIFI接收我ESP32CAM相機拍攝的圖片,還是有一定的區別的, 因為這個項目的下位機單片機代碼跟前幾篇類似,只不過換了封面罷了,我的代碼都是一個系列的,上一個項目會與下個項目密切相關。
二、運行環境說明
1.PC軟件環境
????運行這個MFC工程需要用到VS2013軟件,我當時用的是VS2010這個軟件來開發OpenCV和C++和C#,后面也沒有更新過這個軟件,所以只能硬著頭皮在另一臺電腦安裝了VS2013,順便說一下,這個版本的軟件是真的龐大,占了不少硬盤空間。其實在網上稍微配置一下就可以實現在高版本的VS軟件上使用了,不過我也懶得去弄了。該MFC客戶端工程免費下載鏈接:http://www.openedv.com/forum.php?mod=viewthread&tid=65762&highlight=%C9%E3%CF%F1%CD%B7%2B%C9%CF%CE%BB%BB%FA
????下面順便談談該開源MFC代碼的故事:據我所知WIFI圖傳的MFC開源歷史要追溯到正點原子開源論壇2016-1-5 21:04:40 那是一個神圣的日子,一個無私奉獻的大神將他MFC源碼奉獻給這個論壇,從此之后很多復制者就把這個代碼拿來賣了,我在這里不是賣,我賣的知是我原創的下位機客戶端。從那個時間以后,這么多年以來 正點原子論壇或者其他論壇,也沒有見如此靠譜的開源代碼了!打開這個代碼,不少標準的英文格式注釋,看起來國人無私奉獻的大神不是原創,可能是總結了幾個代碼模塊組合起來的,總的來說是一個復雜的源碼。2021年我想寫一個最簡單DIY基于ESP32CAM的物聯網相機系統,才發現這個2016年產的開源客戶端和服務端,直接拿來作為服務器驗證我寫的相機程序,**甚至目前我也沒有完全看完該開源項目的源碼,只是稍微修改了我原創的下位機ESP32CAM的原創開源代碼去匹配這個源碼,從而實現WIFI高速圖傳。**說實話啃這個代碼啃得很辛苦,還不如我自己寫一個服務器出來,呵呵,還真的被我寫出了一個JAVA Swing GUI的圖傳系統出來。**下一期就開源我寫的java版的圖傳系統。**這個免費源碼的精髓就是知道它是通過Socket傳輸jpg格式的文件就可以了,通過修改我下位機的程序來匹配這個上位機服務器。我這個收費開源代碼值錢的地方不是服務器上位機,而是我對這個上位機和下位機配合使用的說明和見解,而是我的下位機單片機用http協議接收嵌入式主頁的ajax技術觸發的get請求,再用http請求傳輸圖片文件給上位機socket長鏈接的服務器。這個明修棧道暗度陳倉的功能多少人想寫這個功能都寫不出來!魯迅筆下的“拿來主義”在我這里表現的淋漓盡致,這也是當代程序開發者高效的真實寫照。
2.單片機開發環境Arduino
官方攝像頭源碼路徑是(只要讀者正確安裝了ESP32開發環境,這個源碼可以在Arduino里面按照下面截圖的方式打開的):
 
3.修改上面2的源碼變成自己的源碼
需要全部工程源碼的請到最后鏈接去下載了。想要自己寫出來,不簡單的,連MFC里面的C++代碼看得都犯迷糊了,不信讀者可以下載開源的MFC服務器看看。看看能不能寫一個下位機來匹配這個服務器完成圖傳。現在很多人都在說MFC C++技術是30年前流行用的技術,現在都用C#了,沒有必要去啃C++這個硬骨頭,確實我看這個C++代碼有點頭疼,不過實現要實現的功能,一點問題都沒有的。對個人而言,我反而喜歡用java去寫一些簡單的界面,復雜的界面我交給jsp網頁去實現,現在能聯網的界面一般都用網頁顯示了。這也是物聯網發展的潮流!據說鴻蒙系統的GUI是用JAVAScript來寫的,我相機的主頁也采用了JAVAScript觸發拍照和圖傳,所以到這里可以看到未來是腳本的天下。
三、運行與調試
概括:用戶登錄CAM相機的主頁,通過相機的主頁,輸入服務器的IP地址和圖傳指令,點擊發送按鈕,就可以控制相機拍照上傳圖片給MFC圖傳服務器,服務器收到圖片之后就直接顯示出來。
(1)開機上電,相機連上無線路由器,根據串口打印相機的IP信息,啟動MFC上位機打開其服務器的功能,生成服務器IP信息,根據相機IP信息用瀏覽器登錄相機的主頁,輸入服務器的IP地址,點擊send拍攝一張圖片并發送給服務器。輸入接收圖片服務器的IP地址之后點擊send按鈕 就可以看到紅色的 時間變化了,說明拍照上傳成功了。如果是失敗也會顯示出來的,讀者在這里可以學習到嵌入式服務器反饋技術,這是官方程序沒有的技術。
 
 
MFC服務器:IP地址是192.168.1.103 端口號是8080,端口號是自己輸入的,所以我輸入跟下位機匹配的端口號,開啟的是服務端的模式,讓客戶端CAM連上就可以傳圖了。
 相機單片機的IP是192.168.104端口號是8081
 注意:前提是所有聯網的設備都需要在同一個局域網實現,否則玩完!
(2)WIFI通信成功之后會在MFC的界面看到下面的圖像:
 
(3)看看MFC調試的界面打印的信息,知道圖傳工作完成。
 原來官方歷程的的功能保留供買家測試:IP地址是192.168.1.104 端口是80,拍照和看視頻都OK,讀者可以在這里找到官方歷程的味道。
 
調試到此結束,根據結果可以滿足博文提出的要求。
總結
總結: 在這個項目,讀者可以學到很多技術,下載源碼這點付出對于這些核心技術來說不值一提,學核心技術不花錢是有可能的,不過可能性不大,收費開源對得起我付出的努力編寫此次博文,也對得起我深夜編碼付出的勞動。下一期將會推出全網獨家第一個ESP32CAM JAVA SWing GUI 技術編寫的java版圖傳服務器,全部邏輯由我daodanjishui全部完成,歷時兩周時間研發成功,代碼精妙無比,后期會加上遠程MQTT控制和圖像處理,擴展功能水到渠成,敬請期待。
代碼工程下載鏈接:https://www.cirmall.com/circuit/24701/
 點我直接跳轉
總結
以上是生活随笔為你收集整理的最简单DIY基于ESP32CAM的物联网相机系统⑥(用上位机VS2013 MFC实现WIFI图传)的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: oracle form on query
- 下一篇: iOS APP启动函数调用顺序~详解
