一、前言本项目的资料已上传到夸克网盘(包括软件工具、传感器代码),需要的可以去下载:https:pan.quark.cns145a9b3f7f53也可以在本文章附件里进行下载。1.1项目介绍【1】项目开发背景随着现代生活节奏的加快,人们对于健康管理的需求日益增长,尤其是对于睡眠健康的关注度显著提升。良好的睡眠质量不仅关系到个人的精神状态,更直接影响着工作和学习效率乃至整体生活质量。然而,快节奏的生活压力、不规律的生活作息等因素导...
2024-10-29 11:02:05 3143浏览 1点赞 2回复 0收藏
一、前言1.1项目介绍项目设计里用到的全部工具软件和文档源码,已上传夸克网盘(社区的附件上传机制出BUG,尝试了几十次无法上传附件)https:pan.quark.cns145a9b3f7f53【1】项目开发背景矿山环境作业安全监测系统的开发背景主要源于对矿井作业环境中潜在危险因素的有效监控需求。矿山作为重要的资源开采场所,其工作环境往往存在诸多安全隐患,如瓦斯爆炸、粉尘超标等,这些因素不仅威胁着矿工的生命安全,还可能导致严重的经...
2024-10-14 10:52:55 9911浏览 2点赞 2回复 1收藏
一、前言1.1项目介绍项目设计里用到的全部工具软件和文档源码,都可以在这里下载。https:pan.quark.cns145a9b3f7f53【1】项目开发背景随着现代农业技术的发展,智能农业逐渐成为提高农作物产量和品质的关键手段之一。传统的农业生产方式依赖于人工经验,这种方式不仅效率低下,而且难以应对气候变化带来的挑战。特别是在水资源管理和光照控制方面,传统方法往往无法提供精确的控制,这直接影响到了农作物的生长周期和最终产量。...
2024-10-12 14:37:20 8091浏览 0点赞 0回复 0收藏
一、前言【1】功能总结选择树莓派4B设计一款家庭影院系统,可以播放本地视频、网络视频直播、游戏直播、娱乐直播、本地音乐、网络音乐,当做FM网络收音机。软件采用Qt设计、播放器引擎采用ffmpeg。当前的硬件选择的是树莓派4B,烧写官方系统,完成最终的开发。本篇文章主要从树莓派开箱体验、系统烧写、远程登录、Qt开发环境搭建、FFMPEG相关库编译、播放器软件设计几个部分介绍。在文章还分析了ffmpeg解码原理,渲染原理等等。...
2023-03-17 09:16:25 1.1w浏览 4点赞 2回复 2收藏
一、前言做音视频开发过程中,经常需要获取媒体文件的详细信息。比如:获取视频文件的总时间、帧率、尺寸、码率等等信息。获取音频文件的的总时间、帧率、码率,声道等信息。这篇文章贴出2个我封装好的函数,直接调用就能获取媒体信息返回,copy过去就能使用,非常方便。如果要获取详细信息,可以使用ffprobe实现,也可以调用ffmpeg函数直接打开视频解析获取。下面会演示两种方式,一种直接调用ffprobe.exe实现,一种是调用ffmp...
2023-03-15 13:12:19 3760浏览 1点赞 0回复 0收藏
一、项目功能介绍当前基于MQTT协议设计了一个实时图传系统,通过这个项目来演示,两个MQTT设备如何互相订阅,进行消息流转。在阿里云服务器上创建2个设备,分为为设备A和设备B;设备A负责采集本地摄像头画面上传,设备B负责接收设备A上传的数据然后解析显示出来。在阿里云服务器上需要配置云产品流转,让设备A的数据上传后自动发送给设备B。这样就完成了视频画面数据的流转。不过因为阿里云的最大数据限制,每次最大发送10240字...
2023-03-07 23:33:38 6243浏览 5点赞 4回复 3收藏
【本文正在参加2023年第一期优质创作者激励计划】一、前言VLC是一款简单且非常优秀的免费开源软件,所有开源软件的好处他都有,而且是为数不多开源并长期更新维护的播放器,兼容性等各个方面都很好。VLC提供了libvlc库,可以很方便进行二次开发。稳定版本,3.0版本官网:https:www.videolan.org目前VLC已经推出了全新的4.0版本,解决了很多3.0里一直存在的问题。并且4.0的VLC支持提供了渲染接口,支持opengl、D3D渲染,二次开发...
2023-03-03 11:08:59 7735浏览 2点赞 3回复 0收藏
一、设计说明设计思路:每个测量点采用4G+STM32+温度测量模块组成;采集温度数据之后直接上传到OneNet物联网云平台,在OneNET云平台上设计可视化界面进行显示,并且也可以在手机APP设备云上显示。当前采用的物联网平台是OneNET云平台,OneNET中国移动物联网开放平台是由中国移动打造的PaaS物联网开放平台。平台能够帮助开发者轻松实现设备接入与设备连接,提供综合性的物联网解决方案,实现物联网设备的数据获取,数据存储,数据...
2022-10-25 22:50:58 1.1w浏览 8点赞 7回复 7收藏
一、前言当前的场景是,在高速公路上部署温度采集设备,在高速路地表安装温度检测传感器,检测当前路段的路面实际温度。一段高速路上有多个地点需要采集温度数据。采集温度数据需要上传到云平台进行数据存储,并且通过可视化界面展示温度变化曲线,支持查询最近几天的温度信息。二、设计思路(1)云平台选型:使用华为云物联网云平台。(2)云数据存储:使用OBS存储,存放设备上传的历史数据。(3)设备选项:NBIOT模块+温度采...
2022-10-24 11:45:33 7912浏览 7点赞 5回复 6收藏
一、前言Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。有了Git之后团队协作,版本控制都非常方便。场景:(1)版本管理。Git提供了版本管理的功能。可以很方便的上传当前项目到服务器,如果本地代码修改错误,想回退之前版本,只需几条命令,就能轻松回退到某个版本之前的状态。(2)团队开发。团队开发就是多个人对同一份项目进行编写和修改。Git提供了很好的机制,保证团队开发之...
2022-10-21 00:30:17 5620浏览 1点赞 0回复 1收藏
一、Linux内核动态内存分配与释放1.1kmalloc函数Kmalloc分配的是连续的物理地址空间。如果需要连续的物理页,可以使用此函数,这是内核中内存分配的常用方式,也是大多数情况下应该使用的内存分配方式。传递给函数的最常用的标志是GTPATOMIC和GTPKERNEL。前面的标志表示进行不睡眠的高优先级分配。在中断处理程序和其他不能睡眠的代码段中需要。后面的标志可以睡眠,在没有持自旋锁的进程上下文中使用。此函数返回内核逻辑地址...
2022-10-19 21:59:07 7640浏览 0点赞 0回复 0收藏
一、前言近年来,物联网引领了继计算机、互联网之后世界信息产业的第三次发展浪潮,且逐步在各行各业得到更广泛的应用。物联网的定义是万物互联,表示任何设备都可以连在一起,进行数据交互。那么物联网到底是什么?设备如何上云?云平台又是什么?很多不是物联网专业的,不是搞嵌入式的或者是刚学习物联网的都不太清楚,虽然概念性的东西百度一大堆,书上也是各种专业词汇,如果无法将这些概念性的东西实体化,最终还是理解不...
2022-10-18 22:59:23 8237浏览 3点赞 1回复 2收藏
一、IIC协议介绍说起IIC,搞单片机,嵌入式的那肯定是接触的比较多的。串口、IIC、SPI这3个协议在单片机阶段应该是用比较多的,很多的外设模块,芯片都是串口、IIC、SPI等协议与主控芯片进行通信,完成逻辑开发。在Linux系统驱动层使用IIC其实本质上与单片机没什么差别的,最终反正是和芯片进行交互通信,本身IIC协议并不难,但是在Linux下为了标准化,加了很多框架导致理解上就觉得复杂,听起来xxx子系统就很神秘高大上,其实...
2022-10-18 00:22:15 6550浏览 3点赞 1回复 2收藏
一、前言块设备主要为存储设备设计的框架。在前面章节里介绍了块设备驱动编写思路,并且利用内存模拟了硬件存储,完成了块设备驱动开发测试。这一篇文章将采用SD卡作为存储硬件,利用SPI协议与SD卡通信,完成块设备驱动开发测试。SD卡可以更加形象的表示块设备开发过程,明白硬件如何交互,完成数据读写。SD卡本身支持SPI协议、SDIO协议,一般能跑Linux系统的CPU都在硬件上支持SPI协议、SDIO协议,如果要提高读写速度,肯定是采...
2022-10-17 13:47:24 7542浏览 1点赞 0回复 1收藏
一、前言在Linux系统上主要有两个时间基准,一个数是系统时间和,一个是RTC时间。其中系统时间是系统运行时由定时器(滴答定时器)维护的时间,掉电不保存数据。而RTC时间,是由RTC实时时钟芯片维护的时间,一般都接了后备电源(常见表现行为就是一颗纽扣电池供电),系统掉电后它不受影响,还是会运行保证时间准确。每次系统开机时,系统会从RTC芯片里读取当前时间给系统时间赋值,保证系统开机之后时间也是准确的。那么系统开...
2022-10-16 13:31:36 7835浏览 1点赞 0回复 1收藏
一、前言块设备驱动块是Linux下3大设备驱动框架之一,块设备主要是针对存储类型的设备设计的驱动,配合文件系统完成数据存储。在应用层的cp、cd、touch、vim、mount等等可以操作文件,可以操作目录的命令都会通过文件系统,通过块设备驱动完成对底层存储设备的访问,实现数据读取或者写入。所以大致总结下:块设备驱动的目的是给Linux文件系统提供底层接口。二、编写块设备驱动的思路既然学到了驱动开发,了解到块设备开发。那...
2022-10-15 16:49:01 6204浏览 2点赞 0回复 1收藏
开发环境说明内核版本:3.5.0交叉编译器:armlinuxgcc4.5.1PC宿主机:红帽REDHAT++前面写了一篇WIFI驱动的移植,着重于WIFI测试,驱动安装,网络连接等操作。这篇文章主要是详细介绍驱动源码从下载到编译安装,WIFI工具交叉编译安装,从0开始给嵌入式开发板开发一个可以正常使用的WIFI驱动。能够完成网络管理,网络连接。++一、移植WIFI驱动当前采用的WIFI是360随身WIFI,这款随身WIFI所用的网卡芯片是Ralink(雷凌科技)的解决方...
2022-10-14 17:23:08 1.1w浏览 2点赞 2回复 1收藏
一、前言本篇文章要的做的事情是,移植一款USBWIFI芯片的驱动到嵌入式Linux环境下,让嵌入式开发板能够通过这款USBWIFI实现上网,说白了就是安装无线网卡驱动。这款USBWIFI无线网卡型号是:MT7601,这是Ralink(雷凌科技)出品的芯片,是一款USB协议的WIFI。目前这款芯片被很多厂家制作成随身WIFI使用了,比如:百度的小度WIFI,小米的WIFI,360的随身WIFI一代等等,都是采用这款芯片。在电脑上使用当然很简单,直接下载官方驱动...
2022-10-13 17:52:49 1.1w浏览 5点赞 3回复 3收藏
一、前言现在很多手机都支持红外线发送了,支持家电控制。红外线协议有很多,当前介绍的是NEC协议(红外线传输协议中的一种),也是常说的万能遥控器的协议。对于接收端而言,NEC协议最先收到的是9ms高电平时间,然后时4.5毫秒低电平时间。这表示引导码。随后会发送32位数据码,也就是4个字节。接收数据码的时候:前面都会有一个0.56毫秒的低电平,随后就是数据。如果是0.56ms高电平就是0,如果是1.68ms高电平就是1。在单片机里...
2022-10-12 16:08:51 6572浏览 4点赞 1回复 3收藏
一、框架模型linux下设备驱动都有一套标准的结构,字符设备,块设备,网络设备都是自己的一套框架。编写驱动只需要把内核的框架搞清楚,然后照着结构填入参数,注册进内核,在应用层就可以按照标准的形式调用了。对于网络设备而言,主要目的就是网络数据的收发,编写驱动时将linux网络设备驱动里的接口与实际网卡硬件的操作接口对应上,应用层就可以操作网卡完成网络通信了。底层驱动里编写网卡驱动与单片机一样。这是网络设备...
2022-10-11 15:02:15 5799浏览 1点赞 0回复 1收藏