自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(51)
  • 收藏
  • 关注

原创 嵌入式开发从入门到入土

嵌入式开发涉及的层面很广,它既有底层硬件的开发,又涉及上层应用的开发,也就是所谓的系统集成的硬件和软件。而C语言不仅具有汇编语言操作底层的优势,又具有高级开发语言的功能性强的特点,当之无愧地成为了嵌入式开发中的主流语言。所以,”在STM32开发过程中,不论是基于寄存器开发还是基于库开发,深入理解和掌握嵌入式C语言的函数、指针、结构体,这是学习STM32的关键“

2023-11-23 16:50:32 232

原创 蓝牙、GPS定位学习

指在启动应用时,,系统会重新创建一个新的进程,并按照一定的顺序创建和初始化Application类和MainActivity类,最后显示在界面上。这个过程需要创建和初始化两个类。指在启动应用时,,例如按下back键或home键后,应用虽然会退出,但是进程仍然保留在后台。在这种情况下,启动应用会直接从已有的进程中启动,只需要创建和初始化MainActivity类,不需要再创建和初始化Application类。因为一个应用从新进程的创建到销毁,Application只会初始化一次。的一种情况。

2023-08-02 14:08:43 404

原创 TBOX相关芯片学习

芯片学习。

2023-07-28 10:22:21 1061

原创 EC200U-CN学习(五)

当需要让WLAN设备进入睡眠模式时,主控制器或微处理器将拉低WLAN_SLP_CLK信号,使信号保持在高电平状态一段时间,然后释放该信号,使其恢复为低电平。主控制器或微处理器可以通过LCD_CLK接口接收到时钟信号,并使用该信号来控制LCD模块或液晶显示器的刷新率和显示速度。主控制器或微处理器可以通过LCD_RSTB接口接收到复位信号,并将该信号用于恢复LCD模块或液晶显示器的初始状态。主控制器或微处理器可以通过LCD_SEL接口发送选择信号,以选择特定的LCD模块或液晶显示器进行数据传输。

2023-07-26 16:26:06 1194

原创 EC200U-CN学习(四)

EC200U系列内置丰富的网络协议,集成多个工业标准接口,并支持多种驱动和软件功能(适用于Windows 7/8/8.1/10、Linux和Android等操作系统下的USB驱动),极大地拓展了其在M2M领域的应用范围,如POS、POC、ETC、共享设备、数据卡、能源控制、安防以及工业级PDA等。

2023-07-26 14:49:17 806

原创 EC200U-CN学习(三)

EC200U系列内置丰富的网络协议,集成多个工业标准接口,并支持多种驱动和软件功能(适用于Windows 7/8/8.1/10、Linux和Android等操作系统下的USB驱动),极大地拓展了其在M2M领域的应用范围,如POS、POC、ETC、共享设备、数据卡、能源控制、安防以及工业级PDA等。

2023-07-26 14:24:15 970

原创 EC200U-CN学习(二)

EC200U系列内置丰富的网络协议,集成多个工业标准接口,并支持多种驱动和软件功能(适用于Windows 7/8/8.1/10、Linux和Android等操作系统下的USB驱动),极大地拓展了其在M2M领域的应用范围,如POS、POC、ETC、共享设备、数据卡、能源控制、安防以及工业级PDA等。

2023-07-26 13:45:39 1197

原创 EC200U-CN学习(一)

EC200U系列内置丰富的网络协议,集成多个工业标准接口,并支持多种驱动和软件功能(适用于Windows 7/8/8.1/10、Linux和Android等操作系统下的USB驱动),极大地拓展了其在M2M领域的应用范围,如POS、POC、ETC、共享设备、数据卡、能源控制、安防以及工业级PDA等。

2023-07-26 09:56:40 1100

原创 深度学习——基于TensorFlow的生成模型实验

TensorFlow模型

2022-06-03 15:04:36 752 1

原创 基于matlab的图像处理——算术均值、中值、几何滤波器

问题:如下图所示,白条的宽度和高度分别是7像素和210像素,白条之间的间隔是17像素,采用以下滤波器对测试图像进行滤波,并输出结果3x3算术均值滤波器5x5算术均值滤波器7x7算术均值滤波器同理使用中值滤波器同理使用几何滤波器3x3算术均值滤波器I=imread("511.png");subplot(2,1,1);imshow(I)title("原图")I1= imfilter(I,fspecial('average',3));subplot(2,1,2);imsh

2022-05-24 23:46:24 4161

原创 动态规划——经典DP,01背包

动态规划从某种意义上来说不算是一种算法,更像是一种奇思妙想,它没有固定的写法、极其灵活,常常需要根据具体问题具体分析。什么是动态规划动态规划,简称DP,是一种用来解决一类最优化问题的算法思想。简单来说,动态规划将一个复杂的问题分解成若干个子问题,通过综合子问题的最优解来得到原问题的最优解。注意:DP会将每个求解的子问题的解记录下来,这样,当下一次碰到同样的子问题时,就可以直接使用之前记录的结果,而不是重复计算虽然DP采用上述方式提高了计算效率,但并不能说这就是DP的核心一般可以使用递归或者地推

2022-05-22 14:46:02 525

原创 深度卷积神经网络学习(CNN)

什么是卷积神经网络CNN:神经网络在前面的学习中我们已经了解过很多了,其本质就是多层感知机,卷积神经网络其实也一样,但是我们可以将其看成多层感知机的变种。它成功的原因在于其所采用的局部连接和权值共享的方式:一方面减少了权值的数量使得网络易于优化,算力大大提高另一方面降低了模型的复杂度,也就是减小了过拟合的风险该优点在网络的输入是图像时表现的更为明显,使得图像可以直接作为网络的输入,避免了传统识别算法中复杂的特征提取和数据重建的过程,在二维图像的处理过程中有很大的优势。2.模型构建:CNN:首

2022-05-19 16:18:51 1681 3

原创 计算机视觉与智能语音处理融合套件初体验(视觉部分)

视觉部分实验1.图像采集(视频采集)采集流程:进入/home/openailab/cases/camera/platform/release目录下,用./ninja.sh命令编译平台进入/home/openailab/cases/camera/case/vision/camera,用./compile.sh命令编译案例,成功编译后会生成一个build文件夹在/home/openailab/cases/camera/case/vision/camera目录下,用./run.sh运行案例2.

2022-05-19 10:12:49 605

原创 计算机视觉与智能语音处理融合套件初体验(语音部分)

本次实验我们使用的是EAIDK计算机视觉+语音处理套件试验箱进行实验套件介绍套件简介EAIDK计算机视觉+语音实验箱以嵌入式人工智能开发套件EAIDK-610为核心,具备语音、视觉等传感器数据采集能力,及适用于多场景的运动控制接口;预装Linux操作系统与嵌入式深度学习框架Tengine,支持视觉处理与分析、语音识别与语义分析、SLAM等应用的基础平台和主流开源算法,可满足嵌入式人工智能教学与科研、AI算法应用与开发、AI产品原型开发验证等应用场景。视觉套件包含计算机视觉,ARM嵌入式和人工智能语音

2022-05-19 10:05:24 1185

原创 CV学习——LBP算子

LBP是什么LBP特征(Local Binary Patter)LBP特征是一种计算简单高效的纹理描述子:纹理:自然场景或物体表面呈现出的灰度(或彩色)重复变化描述子:能够反映图像至少一个方面的基本特性的紧致表示计算一个像素的LBP代码的过程可以看作是对该像素运用LBP算子的过程一幅图像的LBP特征是该图像中各种LBP的发生概率,即LBP直方图LBP的优点:分类准确率高对光照单调变化具有不变性需要调节的参数少,计算速度快紧致表示,低维(<64)特征向量即可取得较好效果L

2022-05-08 13:48:41 975

原创 python学习——算法训练,第二天

python刷题训练集第二天1.简单密码现在有一种密码变换算法。九键手机键盘上的数字与字母的对应: 1–1, abc–2, def–3, ghi–4, jkl–5, mno–6, pqrs–7, tuv–8 wxyz–9, 0–0,把密码中出现的小写字母都变成九键键盘对应的数字,如:a 变成 2,x 变成 9.而密码中出现的大写字母则变成小写之后往后移一位,如:X ,先变成小写,再往后移一位,变成了 y ,例外:Z 往后移是 a 。数字和其它的符号都不做变换。while True:#字典法

2022-05-05 13:08:46 1210

原创 python学习——算法训练,从入门开始

python刷题训练集1.取近似值def func(): num = float(input()) res = num + 0.5 f = int(res) print(f)func()2.提取不重复整数输入一个 int 型整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数。保证输入的整数最后一位不是 0 。a = input()a = a[::-1] #翻转字符串num = []for i in a: if i in num: #重复的就跳过,不写进列表里

2022-05-04 16:36:33 1031

原创 华为ModelArts-mindspore初体验-昇腾芯片部署

本次实验的任务是基于ModelArts和MindSpore的Mnist图像识别实验我们会在三个不同的地方跑数据:MindSpore-CPUMindSpore-GPU华为昇腾芯片测试不同的芯片的速度和预测的精度首先,控制台选择——北京四...

2022-04-30 23:28:22 1864

原创 基于matlab进行图像处理学习——从入门到入魔

直方图均衡、均值滤波、高斯滤波、中值滤波、拉普拉斯滤波器

2022-04-17 13:14:43 9374 1

原创 深度学习——TensorFlow的梯度下降实战

在之前的学习中,我们对TensorFlow有了一定的了解,甚至能对其中的一些基本库进行熟练的搭配调用,所以接下来,我们进行梯度下降的实战。梯度下降关于梯度下降,我们之前已经学习过了,有需要可以观看我之前的博客:AI学习——线性回归和梯度下降关于梯度下降的实战,我们这次主要实现求出两个函数的最小值:一元二次函数二元四次函数战斗开始知己知彼,百战不殆。在战争开始之前,我们需要了解我们的对手,首先是我们将要面临的第一个敌人——一元二次函数y=x2+3y=x^2+3y=x2+3我们都是高智商

2022-04-14 17:31:40 611

原创 深度学习——TensorFlow初体验

今天学习TensorFlow,一个超级好用的神经网络搭载库什么是TensorFlowTensorFlow 是一个采用数据流图(data flow graphs),用于数值计算的开源软件库。TensorFlow 最初由Google大脑小组(隶属于Google机器智能研究机构)的研究员和工程师们开发出来,用于机器学习和深度神经网络方面的研究,但这个系统的通用性使其也可广泛用于其他计算领域。它是谷歌基于DistBelief进行研发的第二代人工智能学习系统。2015年11月9日,Google发布人工智能系统Te

2022-04-14 15:15:04 1644

原创 AI学习——自动微分算法

前情回顾在上一次的博文中,学习了感知机和BPNN算法,

2022-04-05 16:54:22 1870

原创 AI学习——感知机和BPNN算法

在AI的学习过程中主要有理论课的知识讲解和实验课的实验过程,这里主要就分享我写的实验报告吧1.实验问题:对感知机和BPNN算法的应用。感知机:感知机是二分类的线性分类器,其输入为实例的特征向量,输出为实例的类别,取+1和-1二值。感知机将特征空间中的实例划分为正负两类,属于判别模型。反向传播神经网络(BPNN):- BPNN被认为是最常用的预测方法,它由输入层、隐层和输出层三层组成,其中隐层在输入层和输出层之间传递着重要的信息。- BPNN总是由一个或多个隐藏层组成,从而允许网络对复杂功能进行建

2022-03-27 10:44:48 2162

原创 AI学习——线性回归和梯度下降

学习过程主要有理论课的知识讲解和实验课的实验过程,这里主要就分享我写的实验报告吧1.实验问题:对线性回归和梯度下降算法的应用。线性回归:是一种常用的机器学习模型,主要任务是预测,预测包括分类和回归。梯度下降:梯度下降就是用来求某个函数最小值时自变量对应取值,该某个函数指的是误差函数,也叫损失函数。损失函数就是一个自变量为算法的参数,函数值为误差值的函数。所以梯度下降就是找让误差值最小时候算法取的参数。2.模型构建:线性回归:h(x)=∑i=1nθiXi=θTX(x0=1,θ0⋅1)θ=(X

2022-03-27 10:19:50 2273

原创 2021年度报告

今年是我第一次成为创造者,2021年8月1日写下了自己的第一篇文章创造的初期阶段很艰难,也很有趣,一切的一切都归于一场比赛,在队友的帮助下,我战战兢兢的写下了第一篇博客,写的很烂,但还是很开心,毕竟迈出了自己的第一步。...

2021-12-31 10:52:35 144

原创 OneCoin战队——个人总结(真·终章)

写在前面的话虽然在很久之前,我就写过一篇终章了,但是因为比赛延期,所以我才有时间多写了几篇划划水,眼下又到了最后的提交时间,不出意外的话,这次是真正的终章了。最后这一篇,我想对我这几个月的努力进行一个总结,也对我所做的工作进行一个收尾和归纳。那么在正文开始之前呢,我想给大家介绍一下我们的战队名字——OneCoin的由来(凑字数):战队的名字顾名思义,就是一枚硬币的意思,取名的灵感来源于去年上映的一部由鹿晗和吴磊主演的网剧——《穿越火线》,主角在比赛前总会用抛硬币的方式来预测自己今天的游戏胜败,虽然有

2021-11-20 23:05:54 1130 2

原创 揭露Client和Server之间联动机制的本质和消息处理的幕后黑手

前情回顾在上一期博客中我们介绍了server和client EP的IPC来往流程,其中流程主要分为三个步骤:Dispatch()接收消息,然后转发消息HandleIpc()对消息进行处理最后由消息接收者EP通过调用token指定的router->proxy->invoke()来处理那么今天我们来简单介绍一下所谓的router->proxy->invoke()接口究竟是何物,并且以它为引子继续介绍其中的来往流程。干货满满,可直接食用震惊!router->prox

2021-11-20 11:33:11 410

原创 细谈客户端与服务端的联动机制

前言没想到吧,我又回来啦!首先,EDG牛逼!其次解释一下,上一次的终章篇,是我以为的终章篇,结果比赛推迟,又要继续干活了。既然有了富余的时间,那么接下来我们将继续介绍samgr_server文件下的其他函数。今天要介绍的函数主要有:OnEndpointExit //在结束的进程终端退出时OnEndpointExit进程终端主要用于设置进程结束的结点,其中嵌套了多个函数的功能来实现进程终端的搭建。接下来我们将深度分析其中的函数,一步步的解析进程终端的搭建流程:GetCallingPid

2021-11-19 11:54:53 604 1

原创 最终篇——终末的博客

前言不知不觉不闻,不痛不痒,多少的时光~不知名的某个,夜晚小巷……咳咳,跑题了。历时3个月的比赛,看了三个月的OpenHarmony,终于在今天迎来了尾声,也是时候做做总结了,感谢平台,感谢博客,感谢我的队友。三大模块总结——终章第一模块——分布式软总线该模块的功能主要是用于适配不同通信模式下底层实现的不同,通过API实现设备之间的发现和快速通信。该模块的服务构建模式:1.严密的安全认证,参数缺失和返回值的各种情况的处理都十分完备2.通过层层封装函数对参数进行校验,对返回值进行校验,对不

2021-10-30 23:55:08 157

原创 服务端的那些事儿(2)

前情回顾上一篇博客中,我们介绍了samgr_server文件下的两个函数封装,大致介绍了封装的函数的实现流程,今天我们将对流程里的一些函数的实现进行深度分析三个Pro函数的实现这三个Pro函数分别是:ProcPutFeature //进程输出特征ProcGetFeature //进程获取特征ProcGetAllSysCap //进程获取所有系统能力ProcPutFeaturestatic int ProcSysCap(SamgrServer *server, int32 opti

2021-10-30 22:34:46 153

原创 服务端的那些事儿

前情回顾在之前的博客中,我们介绍了OpenHarmony模块二的结构,也大概阐述了分别以Provider和Consumer为主要角色的服务端和客户端的关系。同时我们还介绍了以samgr_client文件为对象的客户端的功能实现流程。所有内容回顾如下:OpenHarmony模块二初分析OpenHarmony模块二初分析(2)客户端的那些事儿客户端那些事儿(2)功能分析函数封装文件的代码开头首先进行了两个函数封装,分别为SamgrServer和ProcFunc代码如下:static Sam

2021-10-29 16:45:04 144

原创 客户端的那些事儿

前情回顾在上一篇博客的最后我们提到了客户端和服务端这两个在系统框架中最重要的角色,这篇博客,将从代码的结构去解析客户端的工作流程,参考文件目录:distributedschedule_samgr_lite/samgr_client/source/remote_register.c该文件的相关代码注释和函数介绍在之前的博客中有提及:OpenHarmony模块二samgr_client文件下头文件和源文件解析函数介绍在该文件下,主要分为以下这几个函数模块,他们涉及的功能也是我们将要深度解析的功能:

2021-10-26 17:50:20 134

原创 客户端那些事儿(2)

前情回顾在上一篇博客中,我们介绍了客户端里的注册表初始化操作,简要介绍了其他函数的功能。今天我们将深层次的解析各个功能的实现流程,并以一个简单的流程图的形式将流程描述出来。功能实现SAMGR_RegisterServiceApi该函数的功能是构建一个远程寄存器服务应用程序编程接口,步骤如下:①注册表初始化(InitializeRegistry)②添加一个路由器(SAMGR_AddRouter)③返回进程的策略(SAMGR_ProcPolicy)SAMGR_AddRouter...

2021-10-26 17:46:45 135

原创 OpenHarmony模块二初分析(2)

前情回顾在上一篇博客中,我们提到了鸿蒙的框架模块中的系统框架和一些系统类型的区别,了解到系统框架的功能主要是提供服务,今天我们顺着框架模块的学习,继续探讨框架模块下提供的服务框架的实现。服务架构面向服务的架构是一种软件架构或者软件模型,这种架构下,系统提供的各种功能都会以服务的形式提供给用户或者系统内外的其它服务来使用。服务之间的关系服务与服务之间是松耦合的关系,互相之间使用中立的接口和标准的方式进行通信和交互,与硬件平台、操作系统、编程语言没有相关性。这种架构特别适合在分布式的环境中使用,而鸿

2021-10-23 19:42:37 294

原创 OpenHarmony模块二初分析

框架什么是框架?这里的框架说的是系统框架,也可以理解为软件架构,一个设计良好的架构应该能允许一个系统从单体结构开始,以单一文件的形式部署,然后逐渐成长为一组相互独立的可部署但愿,甚至是独立的服务或者微服务。最后还能够随着情况的变化,允许系统逐渐回退到单体结构。为什么要搭载系统框架?软件架构不一定要提供服务,但是它最明显的特征就是能够划分边界,或者说软件架构中最强的边界形式就是服务。听起来似乎有点绕,我们可以打个比方:**我在繁华的小吃街中盘下了一个店铺,在店中置办了许多厨具供我做小吃,虽然我在小吃

2021-10-22 21:05:55 653

原创 初识OpenHarmony三大模块

OpenHarmony三大模块介绍OpenHarmony是开放原子开源基金会旗下开源项目,愿景是打造开放的、全球化的、创新且领先的面向多智能终端、全场景的分布式操作系统,构筑可持续发展的开源生态系,其中有三大特色模块,每个模块有着不同的功能,但又相互联系。特色模块模块一:communication_softbus_lite设备通信方式多种多样(USB/WIFI/BT等),不同通信方式使用差异很大且繁琐,同时通信链路的融合共享和冲突无法处理,通信安全问题也不好保证。分布式软总线子系统致力于实现近场设

2021-10-22 17:10:45 1914

原创 OpenHarmony相关知识学习

OpenHarmony项目介绍OpenHarmony是由开放原子开源基金会孵化及运营的开源项目,目标是面向全场景、全连接、全智能时代,基于开源的方式,搭建一个智能终端设备操作系统的框架和平台,促进万物互联产业的繁荣发展。系统类型OpenHarmony是一款面向全场景的开源分布式操作系统,为了保证在不同硬件上集成的易用性,OpenHarmony当前定义了三种基础系统类型,设备开发者通过选择基础系统类型完成必选组件集配置后,便可实现其最小系统的开发。三种基础系统类型:轻量系统面向MCU类处理器例如

2021-10-21 17:46:03 2187

原创 OpenHarmony模块二下文件samgr_server解析(5)

distributedschedule_samgr_lite/samgr_server/source/samgr_server.c注册Samgr终端,设置一个sa管理器static int RegisterSamgrEndpoint(const IpcContext* context, SvcIdentity* identity){ int ret = SetSaManager(context, MAX_SA_SIZE); //若满足如下情况,则设置sa管理器失败 if (re

2021-10-18 18:09:13 295

原创 OpenHarmony模块二下文件samgr_server解析(4)

distributedschedule_samgr_lite/samgr_server/source/samgr_server.c进程获取功能,用于获取该进程的特征值static int32 ProcGetFeature(SamgrServer *server, const void *origin, IpcIo *req, IpcIo *reply, SvcIdentity *identity){ size_t len = 0; char *service = (char *)Ipc

2021-10-16 12:33:34 293

原创 OpenHarmony模块二下文件samgr_server解析(3)

distributedschedule_samgr_lite/samgr_server/source/samgr_server.c本篇博客将继续完成上次未完成的工作,继续介绍该文件下的后续代码该函数的功能是作为服务器代理接收信息然后调用相关函数static int32 Invoke(IServerProxy *iProxy, int funcId, void *origin, IpcIo *req, IpcIo *reply){ SamgrServer *server = GET_OBJEC

2021-10-16 00:19:40 246

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除