開發與維運

【趣味應用】“老闆來了!!”

底層互聯網民工的苦衷

作為互聯網設計民工,我們嚮往“快樂工作,認真生活”。無奈整天對著電腦,眼睛乾澀,脣乾舌燥。偶爾站起來活動活動,或者在表情分享群收集靈(biao)感(qing)的時候,被後面悄然靠近的老闆拍拍肩膀,那感覺,簡直是驚悚片現場,直接當前頭髮-10%!
image.png

“老闆來了”解決方案!

在頭髮掉了40.951%之後,痛定思痛,秉著“今天最好的表現是明天最低的要求”的價值觀,作為IoT設計民工,我們要改變這個情況!使用物聯網的手段,做一個“老闆來了”的“後視鏡”提示!
1585725441438-01f4fee3-664b-4c17-98fc-e967946f5cb0.gif

(比《功夫》這個高科技一點)

我們要使用一個簡單的攝像頭識別老闆,如果識別到老闆,就往釘釘(八卦)群裡緊急推送這個消息,這樣就可以減少上班時的驚悚程度與掉髮。

就差一個程序員?

然而,我們都是設計民工,不會寫算法,更不懂服務器啊!就差(不止)一個程序員了?!

這時候,我們物聯網事業部的低代碼開發平臺IoT Studio就派上用場了!我們決定使用基於Arduino環境的ESP-EYE攝像頭WIFI模塊 + IoT Studio搭建一個視頻監控+告警的應用。

ESP-EYE識別“老闆”

ESP-EYE是一款專注於圖像識別與語音處理的開發板,板載ESP32芯片,集成200萬像素攝像頭、數字麥克風,擁有8 MByte PSRAM和4 MByte flash的豐富存儲,支持Wi-Fi圖像傳輸與Micro USB調試與供電,可廣泛應用於智能物聯網領域的應用開發。
image.png
image.png

200大洋的電路板實驗

ESP-EYE兼容Arduino IDE,官方Github有直接提供示例程序。需要先安裝開發板。這裡略過Arduino IDE本身的安裝。
在preferences裡面加上這兩行:
image.png

https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json

image.png
image.png
然後從官方下載源碼,使用“CameraWebServer”進行改造。
image.png
CameraWebServer這個代碼裡,需要修改開發板類型定義的註釋,如圖
image.png
此外需要修改WIFI的信息。這裡我修改為自己手機的熱點。
image.png
選擇對應的開發板進行Demo程序的燒錄。
image.png
燒錄成功之後,打開串口監視器,可以看到連上WIFI的ESP-EYE有反應了。
image.png
使用同一個熱點(作者是手機熱點所以直接手機瀏覽器打開即可)打開其上報的IP地址,可以看到推的流以及一些設置項,點擊下方“start stream”開始推流。注意,這裡的推流是基於局域網的,如果想用電腦看,電腦也要連到同一個熱點才能用這個IP進行瀏覽。
image.png
image.png
看到了帥氣但掉髮的作者。
image.png
這樣完成了ESP-EYE的初步調試。然後打開推流設置裡的“Face Detection”和“Face Recogntion”選項,等待識別即可。下一步就是要將這個數據上報到阿里雲了。

攝像頭連接阿里雲

在阿里雲物聯網平臺,我們在設備接入中創建一個產品,命名為“ESP-EYE”。產品相當於一種“類”的定義,定義同樣的功能,最後實例化為設備身份。

物聯網平臺這個產品有一定的免費額度,跑這個應用夠用了

image.png
在這個產品裡,我們定義一個FACE_ID的“屬性”,用來表示目前識別到第幾個人臉,目前第0個人臉就是老闆。同時定義一個IP,方便接入不同的局域網(熱點)時不需要重新輸入IP地址完成推流展示。
image.png
然後創建一個設備,設備DeviceName命名為esp_eye_001,獲得DeviceName和DeviceSecret,加上之前產品的ProductKey,構成一個完整的“三元組”完成設備身份上雲的認證。
image.png
接下來我們在之前的Arduino測試代碼上增加部分MQTT接入的代碼。這裡有一個取巧的地方,ESP-EYE與阿里雲官方的DFRobot套裝都是基於ESP32的,因此這部分固件可以通過重複使用DFRobot的代碼完成構建。
image.png

image.png
加上上報topic和人臉識別/IP地址的屬性配位符之後(見示例代碼壓縮包),燒錄程序到ESP-EYE裡。打開熱點,看看數據有沒有上報上來。
1585734428143-76b48aad-56d4-4314-9232-16f35a725620.gif
物聯網平臺人臉變化跟設備的subject編號對上了,KO!

IoT Studio告警應用

一個H5實時監控應用

數據上來了,當然要使用!我們使用IoT Studio做一個H5應用,能看到攝像頭的實時狀況,並且每當老闆靠近的時候頁面顏色變紅!
在物聯網平臺IoT Studio頁面,創建一個項目,叫“老闆來了!”
image.png
將剛才的產品和設備導入到項目裡。
image.png
並新建一個Web應用。
image.png
需要首先把Web應用的分辨率調整成手機使用的375*667。
image.png
首先加入一個iframe組件。用於接收ESP-EYE的推流。

1585738571754-62180acb-974e-4d45-8167-f03684b1ab09.gif
注意由於推流的IP地址是基於局域網的,實際使用的時候需要把電腦也連到同一個熱點上。同時由於安全政策,IoT Studio使用基於http協議的iframe需要應用綁定已備案域名才能使用。
一個指示燈組件。用於更明顯的提醒是否有目標人物靠近。
1585738603140-a906e0bd-c209-4306-b14b-4470a304c699.gif
最後改成這樣,在開發態看不到效果。
image.png
發佈之後綁定自己的域名。打開手機熱點,將電腦和ESP-EYE都連上看看效果。
image.png

image.png
KO!

一個釘釘群告警

釘釘群裡怎麼能沒有告警?每當檢測到老闆的時候,自動往釘釘群推送一個警告!
首先新建一個業務服務。
image.png
我們規定根據ESP-EYE上報的值是否為老闆的faceID進行告警.
image.png
image.png
image.png
image.png
然後部署,用ESP-EYE試一試。
image.png
KO!

實踐是檢驗真理的唯一標準

image.png
講了那麼多,把demo部署到現場試試看!

1585740607729-55b3c77a-6d73-49ea-9fc1-9f7dceac7224.gif

老闆の反♂擊♂

1585741139737-dc44d430-6954-42e2-a294-fbe61efac160.gif
聽說阿里雲IoT非洲分部缺設計師,你這麼有才華,不如。。。
image.png

歡迎使用IoT Studio!

物聯網開發服務(IoT Studio,原Link Develop),是阿里雲針對物聯網場景提供的生產力工具,可覆蓋各個物聯網行業核心應用場景,幫助您高效經濟地完成設備、服務及應用開發。物聯網開發服務提供了移動可視化開發、Web可視化開發、服務開發與設備開發等一系列便捷的物聯網開發工具,解決物聯網開發領域開發鏈路長、技術棧複雜、協同成本高、方案移植困難的問題,重新定義物聯網應用開發。

以下為IoT Studio的案例,歡迎閱讀:

IoT SaaS加速器——助力阿爾茨海默病人護理

https://yq.aliyun.com/articles/706042

IoT Studio + LoRa打造“又猛又持久”的智能廁所

https://yq.aliyun.com/articles/689174

如何用Link Develop開發一個智能廁所

https://yq.aliyun.com/articles/645793

Leave a Reply

Your email address will not be published. Required fields are marked *