如何使用 Raspberry Pi 从网络摄像头发送图像?

物联网 树莓派
2021-06-02 06:09:50

我想将 3 个网络摄像头从我的 RPi 捕获(并存储在 RPi 上)的图像发送给世界上任何地方的任何用户。用户只需要输入一个网址并访问图像。我该怎么做呢?我有一个加密狗、RPi 和 3 个网络摄像头。我可以将多个摄像头连接到我的 Pi。我不能做第二部分。

我正在尝试使用 CNN 制造一辆自动驾驶汽车。因此,最初出于训练目的,我需要来自汽车的图像:

  1. 前置摄像头
  2. 左相机
  3. 右摄像头

我已经从所有网络摄像头中捕获了图像并将其连接起来制作了一个大图像。现在我想在任何 IoT 平台(我不知道使用哪个平台)上发布此图像,将每个图像存储在硬盘中,以便我可以从世界各地的任何地方使用。我将使用 4G/3G Dongle 将汽车连接到网络。

2个回答

如果您在 Raspberry Pi 设备上使用 Node.js 服务器(如何在1 中设置),则提供文件基本上是单行1

res.sendFile('./myImage.gif');

设置 node.js 时需要的完整代码:

#!/usr/bin/env nodejs
var http = require('http');
http.createServer(function (req, res) {
  res.writeHead(200, {'Content-Type': 'image/gif'});
  res.sendFile('./myImage.gif');
}).listen(8080, 'localhost');
console.log('Server running at http://localhost:8080/');
  1. 如何在 Ubuntu 16.04 上设置用于生产的 Node.js 应用程序
  2. Node JS在rest api响应中返回图像

如果是网络摄像头,则是 HTTP/HTTPS(也称为 Web)。Webhooks 是一个越来越多地用于通过 HTTP/HTTPS 触发事件的术语。网络钩子。还要在软件/SDK 中搜索“事件”。Webhooks 启用推送类型模型,例如,相机运动传感器触发 Webhook/将信息发送到云中的特定服务器。

如果您只想在线提供实时视频流,这通常是通过为每个摄像头端点分配一个 IP 地址来完成的。然后通常有一个特定的端口为流提供服务。添加域名,配置您的 DNS 服务器,并根据需要通过 Web 地址进行连接,或者仅使用 IP 地址。

具体到 Raspberry Pi,请参阅Raspberry Pi 文档。