對(duì)于智能家居的開(kāi)發(fā),我一貫遵循的原則是獨(dú)立核心原創(chuàng),學(xué)習(xí)模仿的年齡已經(jīng)過(guò)去了,現(xiàn)在正式奮起拼搏的時(shí)候,做什么事情只有做到一個(gè)系列,一個(gè)傳承,一個(gè)方向,咬住青山不放松,堅(jiān)定自己的信念,有一個(gè)穩(wěn)定的生活條件,就可以全身心投入創(chuàng)作之中,靠其他什么之類(lèi)的,模仿其他什么之類(lèi)的很難取得成功。所以我發(fā)布的電路方案很多都是一個(gè)系列的,我深知要做好一個(gè)方案,要經(jīng)過(guò)不斷推敲和改進(jìn)才能成為人生中得意的作品,雖然這作品賣(mài)不了什么錢(qián),但是意義何在呢?意義在于:我能造車(chē)!
請(qǐng)看下面的B站視頻:https://www.bilibili.com/video/BV1Z4411y7dz/?spm_id_from=autoNext
視頻內(nèi)容大概的意思是:我國(guó)的機(jī)器狗跟外國(guó)機(jī)器狗的大比拼,外國(guó)機(jī)器狗雖然說(shuō)是開(kāi)源的,但是國(guó)產(chǎn)機(jī)器人的表現(xiàn)也是讓我們大吃一驚!對(duì)于開(kāi)源代碼這個(gè)問(wèn)題,用一句話來(lái)形容最合適了:“一直在抄襲模仿,從來(lái)很難超越原創(chuàng)開(kāi)源!”區(qū)別就在于拿來(lái)形容哪一方而已,大疆、華為這些少數(shù)的私企現(xiàn)在成為了行業(yè)的佼佼者,有了自己的原創(chuàng)技術(shù),但是他們開(kāi)始的時(shí)候是模仿還是原創(chuàng)?大家應(yīng)該也會(huì)推測(cè)出來(lái)。
天下代碼一大抄,也不知道誰(shuí)抄了誰(shuí)的,誰(shuí)又是原創(chuàng)的??偟膩?lái)說(shuō),造車(chē)輪的事情誰(shuí)愿意做呢?公司急著出成果,能外包的就外包,編程能調(diào)包的就調(diào)包,編程能調(diào)庫(kù)的就調(diào)庫(kù)。溫飽問(wèn)題永遠(yuǎn)是優(yōu)先考慮的,不過(guò)國(guó)外吃不飽去搞科研人不在少數(shù),所以外國(guó)人的人口數(shù)量少是有原因的。所以呢,daodanjishui要引入下面正題了。國(guó)外著名的開(kāi)源物聯(lián)網(wǎng)智能家居系統(tǒng)Home Assistant,B站地址:https://www.bilibili.com/video/BV1UV411273h?from=search&seid=2503432711405868730 這個(gè)作者只是學(xué)會(huì)了如何搭建而已,源碼能讀完嗎?我單單去讀完一個(gè)老外研發(fā)小組寫(xiě)的Mjpg_streamer的源碼就花了我兩年的生命,當(dāng)然我?jiàn)蕵?lè)的時(shí)間也包含進(jìn)去了,呵呵,人生又有多少個(gè)兩年呢,有多少個(gè)人能堅(jiān)持呢?學(xué)會(huì)搭建一個(gè)智能家居系統(tǒng)意義何在呢?意義在于:會(huì)開(kāi)車(chē)不用造車(chē)輪,也不用造車(chē)!
如今呢,中美科技對(duì)抗,芯片禁售,論文造假,在國(guó)內(nèi)現(xiàn)在學(xué)術(shù)已經(jīng)淡化論文的影響,評(píng)職稱(chēng)也不按照論文的質(zhì)量去一票通過(guò)了,GitHub也許某一天不能順利登錄了。核心原創(chuàng)成為這個(gè)時(shí)代的主流,抄襲永遠(yuǎn)跟別人的腳后跟,現(xiàn)在有些私人智能家居公司已經(jīng)開(kāi)始自己寫(xiě)庫(kù),雖然看起來(lái)很艱辛很吃力,但是精神可嘉,也許將來(lái)的某一天,崛起的就是它!那堅(jiān)持核心原創(chuàng)的意義何在呢:可以造車(chē),可以開(kāi)戰(zhàn)!
先看看我拍攝的優(yōu)酷視頻演示效果:https://v.youku.com/v_show/id_XNTE0ODgxODIwMA==.html
在上一個(gè)項(xiàng)目:最簡(jiǎn)單DIY基于ESP32CAM的物聯(lián)網(wǎng)相機(jī)系統(tǒng)①(用網(wǎng)頁(yè)實(shí)現(xiàn)拍照?qǐng)D傳) 地址是:https://www.cirmall.com/circuit/23966/ 實(shí)現(xiàn)了在ESP32嵌入式主頁(yè)控制攝像頭拍照上傳到瀏覽器主頁(yè)實(shí)現(xiàn)遠(yuǎn)程采集攝像頭圖片數(shù)據(jù),將數(shù)據(jù)拷貝到圖片查看器就可以看到無(wú)線拍照的效果的。當(dāng)時(shí)使用的圖片查看器如下圖所示:
但是我要獨(dú)立設(shè)計(jì)一個(gè)物聯(lián)網(wǎng)相機(jī)系統(tǒng)必須要有一個(gè)屬于自己的一個(gè)開(kāi)源圖像查看器組件才能將我相機(jī)拍攝的照片在服務(wù)器的網(wǎng)站上顯示出來(lái)!做一個(gè)東西要一步一個(gè)腳印,這次我成功設(shè)計(jì)出一款在JSP服務(wù)器解析圖片數(shù)據(jù),現(xiàn)場(chǎng)查看圖片效果的服務(wù)器程序。效果如下所示:
第一個(gè)效果圖是在谷歌瀏覽器測(cè)試的,紅色的字體是我親筆簽名的圖片。
第二個(gè)效果圖是在Eclipse自帶的瀏覽器上測(cè)試的,是一個(gè)放大的圖像,有三個(gè)功能,第一個(gè)功能就是輸入正確的密碼和賬號(hào)才可以上傳圖片和查看圖片,不需要數(shù)據(jù)庫(kù),密碼在后臺(tái)寫(xiě)死了;第二個(gè)功能就是在“請(qǐng)輸入Base64編碼的圖片數(shù)據(jù)”的表單框里面輸入你在https://base64.us/網(wǎng)站上在線編碼復(fù)制過(guò)去的編碼,圖片資源用服務(wù)器工程路徑下images文件夾下的2.png圖片進(jìn)行編碼,注意大圖不行的。大圖需要用專(zhuān)門(mén)的軟件去發(fā)送post請(qǐng)求測(cè)試,點(diǎn)擊查看圖片就可以看圖片顯示在正下方,現(xiàn)在用的是get請(qǐng)求,后期我會(huì)出專(zhuān)門(mén)傳大圖的項(xiàng)目專(zhuān)題,敬請(qǐng)期待。第三個(gè)功能就是計(jì)算器功能,計(jì)算結(jié)果是1~5的整數(shù),那么下面左邊就會(huì)顯示images文件夾下面以這些整數(shù)命名的圖片。
第三個(gè)效果圖就是功能二的效果圖,這個(gè)功能其實(shí)就是為我的ESP32上傳圖片做準(zhǔn)備的,到時(shí)候傳輸過(guò)來(lái)的圖片直接在服務(wù)器上解析顯示出來(lái)。
第四個(gè)效果圖就是功能三的效果圖。可以看出來(lái)1+0=1,計(jì)算器將計(jì)算結(jié)果為1的圖片顯示出來(lái),這個(gè)功能的作用是準(zhǔn)備給我ESP32拍攝的照片進(jìn)行存檔到服務(wù)器,到時(shí)候遍歷相冊(cè)就可以瀏覽歷史照片了。
第五個(gè)效果圖就是功能一的效果圖。可以看出亂輸入密碼和賬號(hào)的時(shí)候,是不能正確上傳照片到服務(wù)器正常解碼查看圖片的,不需要安裝數(shù)據(jù)庫(kù),所以這個(gè)代碼很容易可以移植到ESP32嵌入式服務(wù)器上,也適合懶人diy,也能保證數(shù)據(jù)的安全性和隱秘性。
第六個(gè)效果圖就是我88行核心原創(chuàng)的代碼,濃縮就是精華,一個(gè)開(kāi)源的帶服務(wù)器功能的圖片查看器就此從世界上誕生了。
第七個(gè)效果圖就是在線編碼測(cè)試的效果圖。對(duì)工程2.png圖片進(jìn)行編碼,然后拷貝到服務(wù)器輸入框去查看圖片。
經(jīng)過(guò)上述的軟件測(cè)試準(zhǔn)備,驗(yàn)證了我ESP32CAM物聯(lián)網(wǎng)相機(jī)系統(tǒng)的可行性。買(mǎi)家可以借鑒我原創(chuàng)開(kāi)源程序進(jìn)行二次開(kāi)發(fā)自己的產(chǎn)品或者是設(shè)計(jì),下期相關(guān)開(kāi)發(fā)內(nèi)容繼續(xù)開(kāi)展,值得期待。
為了程序可讀性好,代碼不做復(fù)雜的設(shè)計(jì),精簡(jiǎn)為主,后期逐步深化,模塊化設(shè)計(jì),增加復(fù)雜程度,擴(kuò)展功能。下期開(kāi)源項(xiàng)目更精彩,值得期待。