『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
查看: 4386|回复: 7

[流程系列] 请教esp32-cam刷esphome后如何用node-red截图

[复制链接]

33

主题

312

帖子

1849

积分

金牌会员

Rank: 6Rank: 6

积分
1849
金钱
1532
HASS币
40
发表于 2021-9-19 11:23:52 | 显示全部楼层 |阅读模式
请教一下,想用esp32-cam做触发人脸识别,现在esp32-cam已经刷好了esphome固件,请问怎么才能用node-red来截取图片
想法是想用esp32-cam模块上空余的针脚接一个微动开关,当微动开关被触发时,触发node-red自动化,nodre-red自动截取按键触发后10秒内的多张图片进行人脸识别。
回复

使用道具 举报

27

主题

2143

帖子

8926

积分

论坛元老

Rank: 8Rank: 8

积分
8926
金钱
6778
HASS币
30

论坛元老

发表于 2021-9-19 19:54:17 | 显示全部楼层
换个思路呗,微动作为condition条件,触发后为true ,delay 3秒,false,

这样你的这个需求就只剩下了截图人脸识别,这个课题好多作业可以抄了
回复

使用道具 举报

33

主题

312

帖子

1849

积分

金牌会员

Rank: 6Rank: 6

积分
1849
金钱
1532
HASS币
40
 楼主| 发表于 2021-9-19 23:00:36 | 显示全部楼层
我的意思是怎么用node-red来获取esp32-cam拍摄的照片,或者用node-red来截取esp32-can视频流,(视频流转换照片我到时会)
回复

使用道具 举报

73

主题

1165

帖子

6641

积分

论坛元老

Rank: 8Rank: 8

积分
6641
金钱
5471
HASS币
30
发表于 2021-9-20 07:51:34 | 显示全部楼层
同问:怎么用node-red来获取esp32-cam拍摄的照片和视频?
回复

使用道具 举报

33

主题

312

帖子

1849

积分

金牌会员

Rank: 6Rank: 6

积分
1849
金钱
1532
HASS币
40
 楼主| 发表于 2021-9-20 11:12:54 | 显示全部楼层
自己在测试了,使用node-red的call-service节点,Domain中选择camera, Service中选择snapshot,Entity Id中选择你的esp32-cam的名称,Data有点搞,暂时按提示选择了默认的数据,然后改了文件夹路径,已经可以使用。现在在试如何把文件按照时间来保存,以区分不同时间拍到的照片
回复

使用道具 举报

0

主题

69

帖子

346

积分

中级会员

Rank: 3Rank: 3

积分
346
金钱
277
HASS币
0
发表于 2023-5-6 10:03:22 | 显示全部楼层
lione95678 发表于 2021-9-20 11:12
自己在测试了,使用node-red的call-service节点,Domain中选择camera, Service中选择snapshot,Entity Id ...

请教,你这区分保存的搞定了没有?
回复

使用道具 举报

33

主题

312

帖子

1849

积分

金牌会员

Rank: 6Rank: 6

积分
1849
金钱
1532
HASS币
40
 楼主| 发表于 2023-5-6 13:16:14 | 显示全部楼层
本帖最后由 lione95678 于 2023-5-6 13:17 编辑

搞定了,在触发节点和call-service节点前面增加2个节点,第一个是simpletime节点,需要你自己安装,在这个节点你选择一下需要传输下去的时间(包括年月日分秒等),然后跟一个函数节点,让函数节点把拍到的照片命名为‘****.jpg’,这里的***就是节点触发时间。

                               
登录/注册后可看大图



                               
登录/注册后可看大图



函数节点如下:
msg.day = msg.myymd+'-'+msg.myhour+'-'+msg.myminute+'-'+msg.mysecond+'-'+msg.mymillis
msg.filename = `${msg.day}.jpg`
msg.payload = {}
msg.payload.domain = 'camera'
msg.payload.service = 'snapshot'
msg.payload.data = {}
msg.payload.data.filename = `/media/${msg.filename}`
msg.payload.data.entity_id = 'camera.esp32_cam_menling'
return msg;


回复

使用道具 举报

1

主题

20

帖子

240

积分

中级会员

Rank: 3Rank: 3

积分
240
金钱
220
HASS币
0
发表于 2023-9-8 16:23:07 | 显示全部楼层
等esp32到了试试看
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-22 09:12 , Processed in 0.163575 second(s), 30 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表