基于Nanopi duo2的WiFi智能摄像头

news2025/3/29 9:09:20

1.固件包烧录

https://wiki.friendlyelec.com/wiki/index.php/NanoPi_Duo2/zh#.E8.BF.9E.E6.8E.A5WiFi
固件包链接以及烧录工具都在上面链接中
在这里插入图片描述
烧录过程
使用读卡器将SD卡插入到电脑,然后打开烧录工具
在这里插入图片描述

在这里插入图片描述

2.通过串口工具连接板子使其连接WiFi

对应的串口工具,就是这个HyperTerminal
在这里插入图片描述
由于是第一次启动板子,板子还没有连接WiFi,所以需要通过该软件来连接
在这里插入图片描述
然后需要连接WiFi(root账号的密码为fa)
在这里插入图片描述
使用ifconfig命令查看给板子分配的IP地址
在这里插入图片描述
然后就不需要串口线,我们只需要对板子供电即可
接着我们直接使用云服务器来访问板子,通过给板子分配的ip地址,用户名为root,密码为fa
在这里插入图片描述
此时我们可以理解该云服务器就是这块Linux板子,也可以直接在这个上面编译,但是不建议
在Nanopi duo2板子会在云服务器上搭建,而确实也可以直接在板子上编译,但是由于Linux板子其CPU,内存等资源相对有限,所以我们会使用交叉编译,在虚拟机中编译好,然后将编译好的程序发送到云服务器上跑。
板子对应的架构是ARM,而虚拟机在电脑上是X86架构,二者对应生成的二进制文件不太一样,就相当于一个是中文版的,一个是英文版的,我们需要在虚拟机中使用交叉编译器将代码编译,然后发送到板子对应的云服务器下,就可以直接在板子上跑了

3.交叉编译器的下载

在这里插入图片描述

在这里插入图片描述
将下载包直接拖动到虚拟机上根目录的opt下
在这里插入图片描述
在这里插入图片描述
使用命令将其解压形成4.9.3

tar -xz arm-cortexa9-linux-gnueabihf-4.9.3-20160512.tar.xz

在/opt/4.9.3/bin/可以找到arm-linux-gcc交叉编译器,但是还是不能之间使用该命令进行编译,需要将该交叉编译器的路径导入到环境变量中就可以了。
使用root账户vim打开文件/root/.bashrc
在这里插入图片描述
退出来记得使用指令让配置文件生效

source /root/.bashrc

随便写一段代码
在这里插入图片描述
然后使用交叉编译器编译

arm-linux-gcc -o tt tt.c

在这里插入图片描述
使用file命令查看tt二进制文件信息
在这里插入图片描述
发现是ARM架构的,现在就可以下载到板子上了,通过下面的指令

在这里插入图片描述

4.mjpg-streamer

在Nanopi duo2上会带mjpg-streamer,摄像头会将采集到的摄像头数据放到/dev/video0文件中去,而mjpg-streamer会将/dev/video通过输入文件读到mjpg-streamer tcp服务器上,然后通过socket输出文件到网页上去,因为板子连接到路由器,我们就可以在浏览器上通过访问分配给板子的ip地址+端口号8080,就可以获得摄像头了,不过需要先编译形成输入库文件和输出库文件
在这里插入图片描述

在这里插入图片描述
如果没有的话需要使用make指令编译makefile,使其产生,然后运行start.sh即可
在这里插入图片描述
在浏览器上输入ip地址+端口号8080
在这里插入图片描述
就可以看到摄像头采集的图像
如果要修改分辨率的话,使视频更流程,我们可以降低分辨率通过设置start.sh文件

 vim start.sh

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5.通过板子控制舵机转动

因为要使摄像头转动,我们使用到舵机,我们直接在板子上编译程序实现舵机转动,舵机转动的原理及操作方法在我之前的博客上有用到,通过设置PWM
在这里插入图片描述

首先需要上述操作进行编译安装
在这里插入图片描述
在这里插入图片描述

通过./bulid将二进制文件下载到开发板上

在这里插入图片描述
通过gpio readall指令查看
在这里插入图片描述
找到我们要操作的引脚
在这里插入图片描述
如图是我们接舵机的引脚,GPIOA11对应13号引脚

#

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2303296.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java 内存区域详解

1 常见面试题 1.1 基本问题 介绍下Java内存区域(运行时数据区)Java对象的创建过程(五步,建议能够默写出来并且要知道每一步虚拟机做了什么)对象的访问定位的两种方式(句柄和直接指针两种方式)…

MyBatis框架详解与核心配置解读

目录 前言 一、MyBatis框架概述 1.1 什么是MyBatis 1.2 MyBatis的优点 二、MyBatis的使用入门与案例 2.1 MyBatis核心配置文件(mybatis-config.xml) 2.2 XML映射文件(UserMapper.xml) 三、MyBatis的常用注解及其用法 3.1…

Windows 快速搭建C++开发环境,安装C++、CMake、QT、Visual Studio、Setup Factory

安装C 简介 Windows 版的 GCC 有三个选择: CygwinMinGWmingw-w64 Cygwin、MinGW 和 mingw-w64 都是在 Windows 操作系统上运行的工具集,用于在 Windows 环境下进行开发和编译。 Cygwin 是一个在 Windows 上运行的开源项目,旨在提供类Uni…

Unity Excel导表工具转Lua文件

思路介绍 借助EPPlus读取Excel文件中的配置数据,根据指定的不同类型的数据配置规则来解析成对应的代码文本,将解析出的字符串内容写入到XXX.lua.txt文件中即可 EPPlus常用API //命名空间 using OfficeOpenXml;//Excel文件路径 var fileExcel new File…

Helix——Figure 02发布通用人形机器人控制的VLA:一组神经网络权重下的快与慢双系统,让两个机器人协作干活

前言 过去一周,我花了很大的心思、力气,把deepseek的GRPO、MLA算法的代码解析通透,比如GRPO与PPO的详细对比,再比如MLA中,图片 公式 代码的一一对应 2.20日晚,无意中刷到figure 02发布Helix的一个演示视频…

进程的介绍--进程状态/切换

1.冯 • 诺依曼体系结构 1.1 体系结构 冯•诺依曼结构也称普林斯顿结构,是一种将程序指令存储器和数据存储器合并在一起的存储器结构。数学家冯•诺依曼提出了计算机制造的三个基本原则,即采用二进制逻辑、程序存储执行以及计算机由五个部分组成&#x…

goby(蓝队红队版)扫描工具扫描使用时候报错解决方法

1.Goby 是一款开源的网络安全扫描工具,主要用于漏洞扫描、资产发现和信息收集。它旨在帮助安全研究人员、渗透测试人员和红队成员自动化和简化网络漏洞扫描过程。Goby 提供了多种功能,能够在大量的目标中高效地识别出潜在的安全漏洞。 2.今天在官网下载…

Word文档中插入的图片不能完整显示

在在Word文档中插入图片,只显示图片最下面的一小部分。 将“固定值”更改为“单倍行距”

模电知识点总结(6)

1.选取频率高于1000Hz的信号时,可选用高通滤波器;抑制50Hz的交流干扰时,可选用带阻滤波器如果希望抑制500Hz以下的信号,可选用高通滤波器。 2.有用信号频率高于1000Hz,可选用高通滤波器;希望抑制50Hz的交流…

Linux操作系统4-进程间通信4(共享内存原理,创建,查看,命令)

上篇文章:Linux操作系统4-进程间通信3(基于管道的进程池设计)-CSDN博客 本篇Gitee代码:myLerningCode/l24 橘子真甜/Linux操作系统与网络编程学习 - 码云 - 开源中国 (gitee.com) 本篇重点:使用共享内存来实现两个进程…

使用Ubuntu搭建Java部署环境

White graces:个人主页 🙉专栏推荐:Java入门知识🙉 🐹今日诗词:小舟从此逝,江海寄余生🐹 ⛳️点赞 ☀️收藏⭐️关注💬卑微小博主🙏 ⛳️点赞 ☀️收藏⭐️关注💬卑微小…

MATLAB学习之旅:从入门到基础实践

在当今科技飞速发展的时代,MATLAB作为一款强大的数学软件,犹如一把神奇的钥匙,能够打开众多领域的大门。无论是工程计算、数据分析,还是算法开发、可视化呈现,MATLAB都展现出了无与伦比的魅力。今天,就让我们踏上这段奇妙的MATLAB学习之旅,从最基础的部分开始,逐步探索…

蓝桥杯核心内容

核心内容 数学 质数与筛质数,分解质因数 分解质因数 所有的数都可以写成有限个数相乘质数:可以写成1✖本身(如131✖13)合数:ab1✖...✖bn-》把乘数里面是合数的再分(如b3是合数-》b3c1✖c2)进…

C/C++ | 每日一练 (2)

💢欢迎来到张胤尘的技术站 💥技术如江河,汇聚众志成。代码似星辰,照亮行征程。开源精神长,传承永不忘。携手共前行,未来更辉煌💥 文章目录 C/C | 每日一练 (2)题目参考答案封装继承多态虚函数底…

金融时间序列【量化理论】

业界常用的技术分析指标都与价格本身有关,而时间序列分析由于对数据平稳性的要求常常是基于收益率这样更加偏稳定的数据(收益率由于会涨停和跌停每天最多10%) 平稳性: 强平稳性:随时间变化,各个统计特征都…

快速入门——第三方组件element-ui

学习自哔哩哔哩上的“刘老师教编程”,具体学习的网站为:10.第三方组件element-ui_哔哩哔哩_bilibili,以下是看课后做的笔记,仅供参考。 第一节 组件间的传值 组件可以有内部Data提供数据,也可由父组件通过prop方式传…

Qt5 C++ TcpSocket 如何判断是服务主动断开tcp socket连接?

文章目录 实现思路示例代码代码解释主要功能和用法注意事项 在 Qt 5.9.9 的 C 开发中,使用 QTcpSocket 时,要判断是服务端主动断开 TCP Socket 连接,可以通过处理 QTcpSocket 的 disconnected 信号,结合 QTcpSocket 的状态以及…

DeepSeek动画视频全攻略:从架构到本地部署

DeepSeek 本身并不直接生成动画视频,而是通过与一系列先进的 AI 工具和传统软件协作,完成动画视频的制作任务。这一独特的架构模式,使得 DeepSeek 在动画视频创作领域发挥着不可或缺的辅助作用。其核心流程主要包括脚本生成、画面设计、视频合成与后期处理这几个关键环节。 …

电力通信物联网应用,国密网关守护电力数据安全

电力国密网关是用于保护电力调度数据网路由器和电力系统的局域网之间通信安全的电力专用网关机,主要为上下级控制系统之间的广域网通信提供认证与加密服务,实现数据传输的机密性、完整性。 国密算法网关功能特点 身份认证:对接入的设备和用户…

Datawhale Ollama教程笔记5

Dify 接入 Ollama 部署的本地模型 Dify 支持接入 Ollama 部署的大型语言模型推理和 embedding 能力。 快速接入 下载 Ollama 访问 Ollama 安装与配置,查看 Ollama 本地部署教程。 运行 Ollama 并与 Llama 聊天 ollama run llama3.1Copy to clipboardErrorCopied …