自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Nautiluss的博客

一个思想自由很懒的人

  • 博客(26)
  • 收藏
  • 关注

原创 在Ubuntu下将pulseaudio换成pipewire

PulseAudio 是一个成熟且广泛使用的音频服务器,适合一般桌面音频需求,但在性能和延迟上有一定限制。PipeWire 是一个更现代的解决方案,旨在统一音频和视频处理,提供高性能和低延迟的多媒体处理能力,逐渐成为 Linux 生态系统中的主流选择。这里我们要处理一个实时的音频,故我们要选择PipeWire作为我们的音频框架。更新Pipewire启用 pipewire-media-session服务。这里我选择重启后看到已经替换成pipewire了。安装蓝牙依赖否则会导致蓝牙无法使用的情况。

2024-06-24 10:20:13 337 2

原创 如何在Linux下使用ALSA同时录音和播放

【代码】如何在Linux下使用ALSA同时录音和播放。

2024-05-31 15:29:09 251

原创 (三)、PTP时间精确协议如何工作的【Part1】

根据PI控制器的原理,它会根据当前偏差(P部分)和偏差的积累(I部分),生成一个调整量,该调整量会被应用于本地时钟,以逐步将其调整为与主时钟同步。时间跳跃(time jump)是指在网络中的时钟同步过程中,系统时钟(本地时钟)经历了突然的、较大的变化,以便与主时钟同步。频率同步(Frequency synchronization),是指信号之间的频率或相位上保持某种严格的特定关系,信号在其相对应的有效瞬间以同一速率出现,以维持通信网络中所有的设备以相同的速率运行,即信号之间保持恒定相位差。

2024-04-10 21:46:46 1054

原创 (二)、PTP精确时间协议概述

如图所示为TI的DP83630支持1588 V2时钟的PHY芯片,通常我们常见的型号为DP83640,但这个PHY的速率为100MHz,通过查阅资料我们也知道Nvidia的Xavier NX上面的是Marvell的88E1512P或Realtek的RTL8211,这两颗PHY都是支持千兆的。由于需要计算精确的时间延时,一般在MAC层或者PHY层进行处理,所以简单来说,精度越高的要求下我们的网卡就需要支持硬件的PTP支持才可以实现。还有其他电信的网络,例如手机通过不同基站的时候切换的同步等等。

2024-04-08 18:33:32 1719

原创 “人性化设计”技术概要

这里又不得不啰嗦下这些年接触到的硬件,从体来说边缘计算产品从Jetson TK1到TX1、TX2、Xavier、Orin以及即将发布的 Thor上面,联想到现在Open AI的崛起等等,无论是技术还是体量上国产的瑞芯微和地平线都无法与之匹敌,最近Nvidia对中国限制了先进显卡的售卖,实际上代表了AI算力已经作为一种国家层面的战略问题,不亚于人三次工业革命,即蒸汽时代、电气时代、信息时代;今年的技术愿景正值技术广泛创新之际,为领导者创造了大量机遇 从提高生产力的新方法到开展业务和应对重大挑战的全新方式。

2024-04-05 11:36:25 547

原创 (一)、机器人时间同步方案分析

3D激光的数据为10Hz,摄像头数据能够达到30Hz,当时间未同步下的,3D激光的权重大于摄像头的权重时,0.1s * 2.78m/s = 0.278m的盲区,速度越高盲区越大对于导航决策越危险。而在激光雷达与相机图片的融合过程中,也会由于数据采集的不同步造成的一定测量偏差,这个偏差会随着车辆的运动速度增加而被放大。在车辆高速行驶时,即使是微小的时间偏差会对最终的激光点云和图像的时空对准造成影响,进而对融合定位、融合感知等的结果造成很大的偏差,从而影响自动驾驶的安全运行。目前的自动驾驶系统包括。

2024-03-16 11:27:36 1933

原创 (五)、改进方法直接使用CubeIDE生成关联STM32与Micro-ROS代码

前面一些操作基本是之前的老版本的时候进行的操作,比较繁琐,过程也比较多,这里我们尝试使用只用CubeIDE来生成编译代码,避免操作上的繁琐和出错。PS,莫非是需要启动Agent代理后再启动单片机握手?如果失败怎么办,这个后续研究下。必须在路径前面添加 ../ 才可以不然报错!其中一注意红色部分是自己的绝对路径!前提是已安装docker,前面章节有介绍如何安装。添加bool和串口的头文件。

2024-03-14 18:44:57 1136 11

原创 (四)、在Host端使用Micro-ROS Agent连接单片机

连接micro-ROS执行如下命令即可。

2024-03-12 18:17:49 580

原创 (三)、STM32代码中加入Micro-ROS支持

编辑Makefile文件,在如图位置添加如下配置代码(配置文件告诉编译器在哪里找到 micro-ROS 的头文件,还自定义了一个DMA的传输文件)这里我们可以通过Jlash(这个是Jlink)或者ST-Link Utility(这个需要使用ST-link),可以根据自己的需求进行下载。文件从DOS或Windows格式转换为Unix格式(视情况而定,为了保险起见,可以转换一下)继续编译没有报错了,看到生成了hex和bin文件了,我们可以烧录到我们的单片机中了。安装之前需要安装docker。

2024-03-12 14:49:43 1214

原创 (二)、使用STM32创建Micro-ROS工程

从一些个人工作的时长和精力观察看,现在的软件也大多数朝着配置简单,图形化的发展方向去了,生态的搭建促进了软件编程的便捷,也借此机会学习下RTOS和ROS2的开发。的操作系统,可能是经过优化的软实时操作系统,甚至说马斯克的火箭上面也是基于Linux开发的;由于在Windows下长期开发STM32,但又需要在Ubuntu下面学习ROS2的开发,两个系统交叉开发带来了不变性,好在ST的CubeIDE提供了Linux下的开发界面,这就极大的提高了我们开发的便利性。安装完成后,可以参考如下Git配置进行开发。

2024-03-11 16:54:05 1203

原创 (一)、为什么要学习FreeRTOS和单片机的选型?

我们之前在ROS1的时候使用的是rosserials通过串口与ROS主机通信,但是目前ROS2的到来变成了分布式的方式,使用的DDS通信解决了很多ROS1的缺点。的单片机如果开发软件的附加成本是非常昂贵的,必须采购第三方软件进行适配开发,目前ST的单片机没有尝试过开发,但NXP的开发环境目前相对来说会比较友好一点。:AUTOSAR引入了一种称为ARXML(AUTOSAR XML)的XML格式文件,用于描述汽车电子系统的配置信息、软件组件、通信接口等,以支持系统的配置管理和自动化工具的开发。

2024-03-04 14:55:35 944

原创 (六)、QCA9531添加EC20 4G上网支持编译测试

由于刚才测试的时候是手动加载的 拨号工具,这里我们需要将以下命令加入到开机启动里面。到这里说明我们编译的驱动一切正常,接下来可以去LuCI里面配置4G和启动了。待执行完成,等待一小会会(实测需要的一会才可以ping通外网)重启路由器,待整个系统起来后,就能打开浏览器通过4G上网了。到这个文件夹下,解压后的文件夹名称如图所示为。如图所示,拨号成功,且能够获取到DNS,末尾可见。完成编译后,按照之前章节介绍的烧录进去。有一个思考的地方待后面再研究,就是这个。6、进入路由配置界面,选择。提交后,在新的接口中在。

2024-01-04 14:21:15 1772

原创 (五)、QCA9531添加EC20 4G上网支持修改驱动配置

最常用的模块就是EC20 移远的CAT4模块,我们需要将EC20挂载到QCA9531的USB口,即我们需要购买一个原生的EC20直接可以给EC20供电并且引出USB接口的模块即可(网上很多是直接带AP功能的,不要购买那种),这里我们直接购买的是野火的一个模块,如图所示。这两个文档上的操作来进行修改的,由于版权原因,我就不放出来,有兴趣的同学可以下载看一下,其中。1、上几章完成了QCA9531的基础上网工作,这里我们继续扩展一下,支持4G上网功能。,插上EC20后即可正常供电,可见灯亮起,说明供电正常。

2024-01-04 10:37:46 2064

原创 (四)、QCA9531网络基础配置

可以看到,GMAC0和GMAC1连接到DDR,应该对应的是eth0和eth1,看起来GMAC0应该对应的是WAN口(CPU (eth1)) ,GMAC0对应的是LAN口(CPU (eth0)),似乎从图中可以看到P0和P4可以配置为WAN口,实现双WAN口,同时P4也可以配置为LAN(默认也是这么干的)。这个默认配置可以从图中看到,WAN和LAN通过Vlan1 和VLAN0通过ETH0一个网口进行连接的,必须建立VLAN并打上标记(VLAN的ID号)才能区分哪一个数据是WAN,哪一个数据是LAN。

2024-01-02 11:54:04 970

原创 (三)、QCA9531基础刷机烧录

这个文件系统通常是只读的,它包含了设备启动时所需的核心文件和程序。3、将USB转串口连接至开发板,这里USB转串口芯片为CH340(任意USB转串口都可以,只要主机能够有驱动识别即可),USB转串口的TX与RX和开发板是交叉线连接的,即TX连接RX, RX连接TX。7、连接路由的串口到主机,打开控制台,上电的瞬间看到倒计时的时候,按回车,直接进入uboot;,它是小型而功能丰富的 Unix 工具箱,还包含了一个简化的 shell,主要是针对嵌入式资源受限的一个小巧的工具箱,我们可以进行一系列的命令操作。

2023-12-29 10:28:32 1099

原创 (二)、QCA9531编译环境搭建

1、上一节讲到我们选择OpenWRT 18.06作为我们的固件版本,我们开始搭建编译环境,我们电脑为Ubuntu20.04版本。9、开始编译(8为你的核心数,有建议说开始编译使用单线程,好像多线程也没有什么影响)8、前期我们仅测试编译环境,先测试能否正常编译再修改其他配置。7、开一个文本界面的配置菜单,会出现一个图形配置菜单界面。我们目前先配置目标系统和参考板,进入。5、如图所示,我们需要使用分支版本18.06。4、进入openwrt目录,并查看版本分支。6、 获取feeds最新包定义,f。

2023-12-28 17:33:13 698

原创 (一)、搭建QCA9531开发前准备

3、其中这个开发部有一个BUG地方,就是要去掉如图所示电容,否则5V上电缓慢,导致EC20模块在上电的时候检测到欠压会断电(使能和上电同时开启后,但电压未达到5V,EC20端电源IC保护),如果需要使用USB口,请去掉此电容。4、通过前期调研发现部分最新的OpenWRT版本不含这个板子,发现最新的版本支持为18.06.9,到了19版本就不支持了,故接下来编译环境选择18.06这个版本。(通过研究发现原理上将无线部分进行了阉割,去掉了放大部分和部分滤波器件),即我们编译固件只用选取这个板子即可。

2023-12-28 16:30:42 618 3

原创 (九)、衡量基于模型的设计的价值

衡量新方法或业务战略价值的经典方法是计算投资回报率 (ROI)。对于企业战略基于成本节约的组织而言,财务回报很重要,但成本节约并不总是首要考虑的问题。一家制造大型机械结构(例如燃气轮机)的公司,其中软件只是其中的一部分,新功能由客户驱动,因此可能会关注成本。另一方面,生产企业软件的公司,其生产成本最低,但源源不断的创新产品对于保持市场份额至关重要,可能会优先考虑创新而不是成本。

2023-05-13 16:25:41 81

原创 (八)、管理向基于模型的设计的转变

在过去的 10 年里,传动控制工程师开发了控制系统并用 C 代码对其进行了编程。这位工程师担任高级职位,他对自己的工作方式感到自在。但随后他得知他的团队计划采用基于模型的设计,并且他将不得不改变他的开发过程。未来,他将需要使用模型开发控制系统,实施测试用例以使用模型,并为自动代码生成准备模型。自然地,他对这种破坏感到焦虑,并怀疑它的价值。经理如何帮助这位工程师不仅理解新方法而且接受它?

2023-05-13 15:58:54 67

原创 (七)、通过基于模型的设计提高工作能力

通常认为成功工作的唯一要求是。然而,一个拥有正确技能但没有动力的人不会表现出色,而没有机会锻炼这些才能的有技能的人也不会表现出色。三个要素对成功的工作表现至关重要:动机、机会和能力。此外,管理人员必须提供明确定义的绩效目标。以下部分讨论了使用基于模型的设计来提高团队成员的积极性、机会和能力的方法。

2023-05-13 14:47:55 85

原创 (六)、创造和管理知识

一个组织必须通过制定创造和管理知识的战略来“学习”竞争对手——不仅是市场和技术知识,还有智力资本,例如团队成员的专业知识、过去的经验、洞察力和设计最佳实践。当个人在非正式的、有机的组织中进行交流和谈判时,他们需要外化他们的隐性知识(可能是通过原型制作获得的知识)来解释他们的观点。要创造一个优化这一过程的环境,首先需要了解隐性知识和显性知识之间的关系,并考虑知识创造并螺旋上升。当隐性知识是从其他人那里获得的——例如,从客户或技术专家那里——并转化为易于理解的形式,如演示文稿或模型时,就会发生外化。

2023-05-13 11:13:13 89

原创 (五)、使用基于模型的设计改进开发方法

基于模型的设计有助于与安全标准相关的仪式,并允许采用更灵活的方法。借助系统级仿真,您可以管理更大、更复杂的系统,因为仿真将每个周期中的所有部分组合在一起,使团队更容易处理交互和界面。在基于模型的设计的帮助下,您甚至可以对这些类型的项目采用迭代方法。在自上而下的方法中,在工作流程的每个步骤中向设计添加更多细节,并通过性能、风险、功能等方面的仿真不断评估设计。这意味着当传统的、基于计划的开发方法(如瀑布)在不断变化的环境中受到影响时,您可以使用基于模型的设计将其转换为更适合新条件的方法。

2023-05-12 11:21:09 156

原创 (四)、基于模型的设计实施精益开发原则

每个模型都有一个“硬”接口,这意味着无论是单独执行还是作为更大模拟的一部分,执行期间的接口和行为都是相同的。他们检查新发现的问题,但这次没有噪音。当专家创建他或她对系统的看法的模型时,即使专家离开或转移,该专家的知识也会得到保留。您可以选择隐藏发送给第三方的模型中的内容,但仍然可以将该模型用作更大模拟的一部分来评估性能或查看它如何适应更大的系统。基于模型的设计支持精益开发的原则和核心价值,它可以成为在开发组织中实施精益原则的宝贵方法。在许多情况下,基于模型的设计的工具和概念是对精益方法需求的直接响应。

2023-05-11 16:45:57 156 1

原创 (三)、使用基于模型的设计提高效率

因为超文本组织将项目层和业务系统层分开,它继承了官僚组织和有机组织的优点,但没有继承它们的所有缺点。基于模型的设计提供了采用最适合项目的方法的灵活性。有机组织鼓励更具适应性的工作空间和公司各级之间的沟通,以促进重视所有员工意见的欢迎、不断变化的环境。超文本组织首先由 Nonaka 和 Takeuchi (1995) 确定,它是为了响应在组织和系统复杂性不断增加的情况下管理知识的不断增长的需求而发展起来的。它可以简化修改组织结构的工作,并带来变革,将僵化、集中的组织转变为更加有机和以团队为中心的组织。

2023-05-09 17:19:15 125 2

原创 (二)、基于模型的设计八个核心概念

在运行第一个高级系统仿真后,团队向模型添加细节,通过仿真根据需求和标准不断测试和验证管理基于模型的设计系统级行为。基于模型的设计是一种以模型为中心的方法,用于开发控制、信号处理、通信和其他动态系统。它可以是具有嵌入式软件需要管理的用例的环境模型,也可以是指定实现的确切行为的高级算法模型。这些知识不仅包括设计规范和正在开发的系统的详细信息,还包括产品知识、团队成员的设计专业知识、过去的经验和设计最佳实践。使用采用基于模型设计的工作流程,工程师首先构建整个系统的模型——在他们的例子中,是一个四缸发动机。

2023-05-08 20:40:51 523

原创 (一)、变化、复杂的和创新

其次,它需要一种整体方法,在这种方法中,组织结构、开发方法和知识管理被认为是相互依存的,并被一起考虑。他们通常必须在紧缩的开发时间表内这样做,与地理上分散的团队合作,并使用植根于工业时代文化的开发方法,其官僚的公司结构和部门之间的硬界限。随着组织的发展,会出现新的挑战,例如部门和团队之间的沟通和知识共享。为了在当今竞争激烈的市场中取得成功,工程组织必须适应快速的技术变革并满足对新产品和技术的持续需求。在客户要求、更严格的安全和环境法规以及市场竞争的推动下,每种产品中的组件数量不断增加。

2023-05-08 19:44:20 57

Quectel-QConnectManager-Linux-User-Guide

移远linux驱动的使用说明 V10版本

2024-01-03

空空如也

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

TA关注的人

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