树莓派摄像头监控&Android手机查看&浏览器查看

2023-11-13

树莓派摄像头监控&Android手机查看&浏览器查看

usb摄像机直接接入树莓派USB接口

1. 安装motion

pi@raspberrypi:~/code/camera $ sudo apt-get install motion

2.配置motion

打开motion daemon守护进程,让他可以一直后台运行

# 需要root权限
pi@raspberrypi:~/code/camera $ sudo vi /etc/default/motion 

# 查看下修改结果
pi@raspberrypi:~/code/camera $ cat /etc/default/motion 
# set to 'yes' to enable the motion daemon
start_motion_daemon=yes


修改motion配置文件

#daemon off
daemon on
# 尺寸
# Image width (pixels). Valid range: Camera dependent, default: 320
width 1920
# Image height (pixels). Valid range: Camera dependent, default: 240
height 1080


# 端口和是否只本机查看
webcontrol_port 8080 # 我没动

#webcontrol_localhost on# 改成off
webcontrol_localhost off 


# 设置访问密码
stream_localhost off

# 链接需要密码认证
stream_auth_method 1 #密码认证 

3. 查看画面

树莓派执行命令

sudo motion

浏览器查看 http://192.168.1.101:8081/

image.png

4. 参数调优,提升流畅度

以上参数虽然可以在浏览器看到画面但延迟非常高,很难试用与智能小车等实时监控,可以通过调整motion配置文件,提升流畅度

# 编辑motion配置文件
pi@raspberrypi:~ $ sudo vi /etc/motion/motion.conf 

# 调整帧数
framerate 50 			#我调整50 change frame rate

# 调整质量
stream_quality 50 # 如果觉着卡慢可以降低下质量 chenxzongcf

# 默认是1 我调100 超级流畅
stream_maxrate 100  

5. 在Android手机上查看画面

5.1 编辑布局文件

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <WebView
        android:id="@+id/webview"
        android:layout_gravity="center_horizontal"

        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_width="800dp"
        android:layout_height="400dp"/>

</RelativeLayout>

5.2 MainActivity

package com.chen.raspi;

import android.os.Bundle;
import android.view.KeyEvent;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebView;

import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {

    private WebView webview;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
//        if (getSupportActionBar() != null) {
//            getSupportActionBar().hide();
//        }
        webview = (WebView) findViewById(R.id.webview);


        load();


    }


    @Override
    public boolean dispatchKeyEvent(KeyEvent event) {

        return super.dispatchKeyEvent(event);
    }

    private void load() {
        WebSettings webviewSettings = webview.getSettings();
        webviewSettings.setJavaScriptEnabled(true);
        webviewSettings.setJavaScriptEnabled(true);
        webviewSettings.setJavaScriptCanOpenWindowsAutomatically(true);
        webviewSettings.setAllowFileAccess(true);// 设置允许访问文件数据
        webviewSettings.setSupportZoom(true);
        webviewSettings.setBuiltInZoomControls(true);
        webviewSettings.setJavaScriptCanOpenWindowsAutomatically(true);
        webviewSettings.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);
        webviewSettings.setDomStorageEnabled(true);
        webviewSettings.setDatabaseEnabled(true);

        //设置载入页面自适应手机屏幕,居中显示

        webviewSettings.setUseWideViewPort(true);
        webviewSettings.setLoadWithOverviewMode(true);
//        webview.setWebViewClient(new WebViewClient());

        webview.setWebChromeClient(new WebChromeClient());
        webview.loadUrl("http://192.168.1.101:8081/");
//        webview.loadUrl("https://www.baidu.com/");
    }
}

5.3 效果图

image.png
语雀:https://www.yuque.com/docs/share/0ed0308b-3817-4e9f-bec5-b8f297ebb825?#
源码:https://gitee.com/chenxiaozong/Raspi

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

树莓派摄像头监控&Android手机查看&浏览器查看 的相关文章

  • JDBC规范与实现

    JDBC 一 JDBC的概述 二 获取数据库连接 1 JDBC sun公司提供的一套api java sqL javax sql 使用这套api可以实现对数据的连接和操作 DML DDL 2 如下代码来测试 获取mysql数据库连接要想获取
  • 如何重置或破解Ubuntu 20.04的用户密码

    1 前言 本教程主要讲解如何破解Ubuntu 20 04 Linux root密码或普通用户密码 在本教程中 您将学习到以下知识 如何重置root用户密码 如何挂载根目录读写 如何重置普通用户密码 实施准备工作 Ubuntu 20 04系统

随机推荐

  • windows下MongoDB的安装及配置

    https blog csdn net heshushun article details 77776706
  • 数字图像处理-数字水印的嵌入与提取

    数字水印嵌入与提取 本篇报告所有内容已上传csdn我的资源中 包括源码与报告word和ppt 欢迎大家下载进行进一步修改研究 摘要 本报告重点介绍数字水印的嵌入与提取算法 数字水印根据水印的嵌入技术不同分为空间域数字水印和变换域数字水印 本
  • 单目标跟踪综述

    0 基础知识 目标跟踪是通过在连续的视频图像序列中估计跟踪目标位置 形状或所占区域 来确定目标的运动速度 方向以及轨迹等运动信息 实现对运动目标地跟踪操作 1 主要流程 见下图 初始化目标框 下一帧生成多个候选框 提取候选框特征 对候选框评
  • 车盲普及贴系列.一.到底什么样车才安全

    车盲普及贴系列 一 到底什么样车才安全 最近几年 国内汽车产业蓬勃发展 各大汽车论坛里自然也是吵得不可开交 持不 同观点大打口水仗 初次购车的往往无法分辩各类言论的真实性 笔者虽不是汽车 工程的专业人士 但秉着客观的立场 决定写一些相关文章
  • 终于有本书把ChatGPT和AIGC讲清了!

    AIGC的各大门派是谁 典型技术都有什么 AIGC为什么在绘画领域先破圈 ChatGPT的有哪些局限性 为何科技企业争相推出大模型 人类的创新能力会被AIGC取代吗 诸如此类的这些话题呈现爆发性增长 频频被科技圈热议 与此同时 AI作画 虚
  • C语言---输出九九乘法表

    九九乘法表 观察九九乘法表 我们可以发现一个规律 数字是有重复的出现 所以我们可以用循环来解决这个问题 而且要用到嵌套的循环 在写的过程中要理解每个循环的作用 循环的条件等 不同的循环和循环条件可以形成很多种结果 现在我们从直接输出相乘的结
  • 10几个国内AI大模型,让你的工作学习效率翻倍!

    文章目录 前言 1 道和顺ChatIC 2 星期五 3 文心一言 4 讯飞星火认知大模型 5 通义千问 6 商汤 日日新 7 Moss 8 ChatGLM 9 360智脑 写在最后 创作者 全栈弄潮儿 个人主页 全栈弄潮儿的个人主页 个人社
  • H.265 3D视频编码

    实验方案 实验目的 对单视点视频 深度使用HEVC编码 编码使用不同量化步长 2 方案1 HTM 使用HTM 16 2 dev编码 选用3 view depth Nview depth qp seqContent 联合编码 注意修改3 vi
  • 《阿里大数据之路》读书笔记:第二章 日志采集

    第二章 日志采集 一 浏览器的页面日志采集 浏览器的页面型产品 服务的日志采集可分为两大类 页面浏览 展现 日志采集 指一个页面被浏览器加载呈现时采集的日志 此类日志是最基础的互联网日志 此类日志是目前所有互联网产品的两大基本指标 页面浏览
  • ssm框架中,mybatis的sql语句日志输出

    在ssm框架中 常用的日志输出为Log4j 但按照常规的配置 涉及mybatis那部分日志不能打印出来的 由于没有日志的输出 开发人员很难从控制台中迅速找出相应的sql语句 对调试和找错误带来了一定的困扰 针对这个问题 我们需要额外的配置以
  • AXI smartconnect

    AXI smartconnect 简介 AXI smartconnect 是为了一个或多个主机通过AXI总线和一个或多个从机进行数据读写而用的 此前常用的应该是AXI interconnect这个IP 实质上smartconnect是int
  • [无线]433M天线、2.4G天线、5G天线长度设计

    无线 无线传输距离预估计算 我们回顾一下 天线最佳长度为波长的1 4 波长 波速 频率 波速 光速 3 100000000 一段金属导线中的交变电流能够向空间发射交替变化的感应电场和感应磁场 这就是无线电信号的发射 相反 空间中交变的电磁场
  • 关于==和equals的深入了解

    关于 和equals的深入了解 比较的是地址 这里指的是对象的比较 如果是基本数据类型 则比较的是值 未被重写的equals比较也是地址 因为调用的是Object的equals方法 Object类中equals源码如下 public boo
  • angularjs2 ajax请求,AngularJS - 将ajax请求传递给另一个控制器

    我的页面中有两个表 当点击第一个表上的一行时 我想调用ajax请求来更新第二个表 我正在尝试使用两个控制器执行此操作 每个控制器都使用ng repeat填充带有值的行 我已经烧掉了我能买得起的每一个神经元 而且我仍然难过 这是我的代码 ap
  • 机器学习——逻辑回归

    一下理解均为本人的个人理解 如有错误 欢迎指出 文章目录 什么是逻辑回归 如何处理因变量取值离散的情况 如何求解w b 梯度下降法的推导 逻辑回归的用途 如何衡量逻辑回归模型的好坏 逻辑回归的使用条件 pytorch实现逻辑回归 什么是逻辑
  • React笔记(七) React路由

    React笔记 七 1 React路由理解 React实现的是SPA应用 即单页Web页面 整个应用中只有一个完整的页面 点击页面中的链接也不会刷新页面 只会对页面进行局部的刷新 因此在更换页面时需要使用路由实现 路由就是一个键值对映射关系
  • pip升级 以及python3升级python3.9

    Ubuntu16 04 升级pip问题 you are using pip version 8 1 1 however version 20 0 2 is available you should consider upgrading vi
  • python中的删除:remove()、pop()、del

    这三种方法都是list的删除方法 其中remove是针对可变列表的元素进行搜索删除 而pop和del是针对可变列表的下标进行搜索删除 具体区别如下 remove item 方法是直接对可变序中的元素进行检索删除 返回的是删除后的列表 不返回
  • 【AD20】关于AD设计过程中一些小细节

    线上实习学习AD的过程中 学习到的一些懒狗快捷技巧以及一些因版本问题的不同操作 就浅浅归纳了一下 目录 原理图相关 1 批量命名元件 2 阵列式粘贴 3 给元器件添加属性 PCB相关 1 自绘元件封装 2 自定义板子的形状 3 按板子形状铺
  • 树莓派摄像头监控&Android手机查看&浏览器查看

    树莓派摄像头监控 Android手机查看 浏览器查看 链接USB相关参考 源码 usb摄像机直接接入树莓派USB接口 1 安装motion pi raspberrypi code camera sudo apt get install mo