本作品由安信可社區用戶
bzhou830制作
作品制作背景和制作流程可見B站視頻:https://www.bilibili.com/video/BV1E1421b7m2/?spm_id_from=333.337.search-card.all.click&vd_source=54c5db21948db2378659b7e8e42bafbf
01、設備端固件
在安信可澤神(安信可社區用戶ID:Ai-Thinker小澤)發布新的小安派 Cam-D200 固件前,之前發布的固件是 AP 模式運行的。也就是說設備是作為一個 Wi-Fi 路由端的,那么想要連接到小安派 Cam-D200 就必須要把終端設備連接到小安派 Cam-D200 的Wi-Fi信號上。這就限制了小安派 Cam-D200 去接入局域網,讓其他設備來訪問的能力。
本人研究了舊的固件,將原來 AP 模式,修改成了 STATION 模式。源碼可以從如下的帖子中獲取:小安派 CamD200 Station 模式 - 小安派 Cam - 物聯網開發者社區-安信可論壇 - Powered by Discuz! (ai-thinker.com)
主要的設備連接代碼如下:
uint8_t wifi_connect(char* ssid, char* passwd)
{
int ret = 255;
// struct fhost_vif_ip_addr_cfg ip_cfg = { 0 };
uint32_t ipv4_addr = 0;
char* queue_buff = pvPortMalloc(128);
memset(queue_buff, 0, 128);
if (NULL==ssid || 0==strlen(ssid)) {
return 1;
}
//先斷開WiFi
if (wifi_mgmr_sta_state_get() == 1) {
wifi_sta_disconnect();
}
printf("WiFi STA connect .....");
if (wifi_sta_connect(ssid, passwd, NULL, NULL, 0, 0, 0, 1)0) {
vPortFree(queue_buff);
return 4;
}
printf("Wating wifi connet");
//等待連接成功
sta_ConnectStatus = 0;
for (int i = 0;i10*30;i++) {
vTaskDelay(100/portTICK_PERIOD_MS);
switch (sta_ConnectStatus) {
case CODE_WIFI_ON_MGMR_DONE:
return 3;
case CODE_WIFI_ON_SCAN_DONE:
vPortFree(queue_buff);
return 2;
case CODE_WIFI_ON_DISCONNECT: //連接失敗(超過了重連次數還沒有連接成功的狀態)
return 4;
case CODE_WIFI_ON_CONNECTED: //連接成功(表示wifi sta狀態的時候表示同時獲取IP(DHCP)成功,或者使用靜態IP)
printf("Wating wifi connet OK");
break;
case CODE_WIFI_ON_GOT_IP:
wifi_sta_ip4_addr_get(&ipv4_addr, NULL, NULL, NULL);
printf("wifi connened %s,IP:%s", ssid, inet_ntoa(ipv4_addr));
return 0;
default:
//等待連接成功
break;
}
}
vPortFree(queue_buff);
printf("wifi connened time out!");
return 14; //連接超時
}
void http_server_task(void *param)
{
while(wifi_connect("TP-LINK_3F2D", "buyaolianwo") != 0);
mhttp_server_init();
}
在設備啟動時,啟動 HTTP Server 任務,并在里面去連接局域網中的路由器。完整的代碼可以去上面的鏈接去下載。
好巧不巧,澤神也發布了新的固件實現了 STATION 模式,也修復了硬件上的一些問題。
【小安派-Cam-D200】更快更穩,D200 升級啦 - 小安派 Cam - 物聯網開發者社區-安信可論壇 - Powered by Discuz! (ai-thinker.com)
02、HA 的搭建和接入
2.1 HA 的搭建
作為一個對智能家居完全不懂的小白,當然時跟著社區的大神們學習,然后自己動手搭建。恰好手邊正有一個樹莓派 4B, 遂使用它來安裝 HA。安裝 HA 的過程在之前的帖子中分享過:
【記錄從零學智能家居】1.樹莓派 4B 上安裝 HA - 智能家居 - 物聯網開發者社區-安信可論壇 - Powered by Discuz! (ai-thinker.com)

搭建是直接使用 Docker 鏡像搭建的,如果手上有不同的硬件也可以去參考如下的鏈接:
智能家居之旅,第一站:了解 HomeAssistant - 智能家居 - 物聯網開發者社區-安信可論壇 - Powered by Discuz! (ai-thinker.com)
樹莓派或香橙派安裝 Home Assistant - 智能家居 - 物聯網開發者社區-安信可論壇 - Powered by Discuz! (ai-thinker.com)
2.2 小安派 Cam-D200 接入 HA
搭建完成后就可以把攝像頭接入到 HA 了。在接入前,鼠鼠還思考著是不是需要修改固件代碼,讓設備推流到 HA 上接入。但是當我打開 HA 的界面的時候發現一個有意思的卡片。
沒錯!就是這個圖片,原來這個圖片卡片可以直接去拉去視頻流,那么過程就變得很簡單了。

把小安派 Cam-D200 的視頻流地址填入即可,就這么簡單!

03、外形設計
在了解到 3D 打印之前,經常苦惱自己做的東西就是一塊裸露的電路板,沒有一點點美感。這次外形的設計思路參考的是 B 站大佬阿奇的桌面小屏幕的設計思路。
設計主要分成前殼,后殼和支架三個部分:
前殼上的方形空間預留給小安派 Cam-D200 的攝像頭。
后殼復雜鎖緊 PCB 電路板,同時中間預留的空間可以正好放進入小的鋰電池,這樣攝像頭可以移動使用。
支架主要是在設備放在桌面的時候,用來調整攝像頭在 Z 軸上的。

換個角度看一下

04、應用擴展
當這個攝像頭接入到樹莓派,那么和圖像相關的應用就都可以掛上鉤了。
接入 HA, 手機端可以查看攝像頭,和家用的監控攝像頭功能一樣;
在樹莓派端讀入圖像,可以運行起來圖像識別和檢測等,這部分大家可以任意想象。
05
更多資料
原貼地址:【電子DIY作品】監控攝像頭 + 小安派Cam-D200 + Home Assistant
https://bbs.ai-thinker.com/forum.php?mod=viewthread&tid=45014&highlight=%E7%9B%91%E6%8E%A7%E6%91%84%E5%83%8F%E5%A4%B4&_dsign=13926965
外殼STL文件(見原貼評論區):

-
攝像頭
+關注
關注
61文章
5091瀏覽量
103130 -
智能家居
+關注
關注
1943文章
9995瀏覽量
197435 -
監控攝像頭
+關注
關注
1文章
71瀏覽量
12422
發布評論請先 登錄
RK3576基于UVC協議USB攝像頭配置指南,手把手教你搞定
解鎖物聯網攝像頭潛力:低成本低功耗硬件設計實戰技巧!
一個套件就能讓多路高清攝像頭接入樹莓派5?
用 樹莓派 打造安全+可定制的安防攝像頭 — 完整指南!
明遠智睿SSD2351開發板:智能家居的智能核心
(開源代碼版)手把手教學:DVP攝像頭拍照&上傳功能示例 !
社區安裝IPC攝像頭,跟安裝一般安防監控攝像頭有什么區別?
如何用手把手用小安派做1個監控攝像頭?(智能家居)
評論