当前位置: 首页 > news >正文

《安富莱嵌入式周报》第348期:开源低功耗测试仪,开源创意万用表,续航100-300小时,开源PCB电机,自制shell和网络协议栈,开源水培自动化系统

周报汇总地址:嵌入式周报 - uCOS & uCGUI & emWin & embOS & TouchGFX & ThreadX - 硬汉嵌入式论坛 - Powered by Discuz!

视频版:

https://www.bilibili.com/video/BV1Tzr9Y3EQ7/

《安富莱嵌入式周报》第348期:开源低功耗测试仪,开源创意万用表,续航100-300小时,开源PCB电机,自制shell和网络协议栈,开源水培自动化系统


目录:

1、开源低功耗测试仪
2、开源创意万用表,续航100-300小时
3、低级编程和优化实现
4、资讯
(1)兆易创新推出EtherCAT从站控制芯片GD32H75E系列
(2)Nordic的nRF54L系列已经广泛用于开发
(3)英伟达Jetson家族的Jetson Orin Nano推出升级版,算力提升1.7倍至67TOPS
(4)ST要推出一个WiFi6 & BLE5.3模组,支持UART/SPI接口,支持Matter,速度40Mbps
(5)OpenAI推出的嵌入式实时SDK开发包
(6)杰发科技AC7803x通过功能安全ISO 26262 ASIL B产品认证
(7)沁恒的IDE MounRiver Studio Ⅱ发布
(8)RL-TCPnet V8.x增加了一个TCP, UDP速度测试文件netio.c
(9)圣诞节前,Embedded Studio迎来最后一次更新V8.22版本发布,支持浏览MarkDown文件
(10) 极海G32R501实时控制MCU正式发布,双核Cortex-M52
5、PCB 电机即使在 16 亿次旋转后也能保持稳定
6、手把手自制实现
(1)手把手实现个简易C版shell
(2)手把手自制TCP/IP网络协议栈教程
7、开源水培自动化系统
8、emWin模拟器6.48发布,同时配套的AppWizard V1.56发布,横竖屏旋转和文本滑动案例
9、开源加密库Mbed,Cyclone,Wolf和NetX性能
10、H7-TOOL本周进展
(1)H7-TOOL固件2.27发布,新增加40多款芯片脱机烧录,含多款车轨芯片,发布LUA API手册,CAN助手增加负载率,错误状态信息检测
(2)历时456天,实测H7-TOOL的RTC不断电,不校准,快了44分钟
(3)客户H7-TOOL 串口记录小程序 Lua分享



一、开源低功耗测试仪

OpenEPT - Drive innovations in the field of low-powered technologies

所有资料全开源,还有一个上位机,方便查看功耗波形。

OpenEPT的主要目标是为工程师和研究人员提供一套全面的微控制器分析工具,促进对基于微控制器平台功耗的准确分析

原理图:  Current_sense_v1_0.pdf (1.96 MB)

固件:  Firmware-master.zip (6.98 MB)

PCB:  OpenEPT_V1_1_KiCad.zip (5.31 MB)

最新版效果:

之前版本效果:


二、开源创意万用表,续航100-300小时

https://github.com/jduffy105/HydraMeter_0.4

HydraMeter_0.4-main.zip (86.24MB)

有一些功能希望在万用表中具备的,但大多数现有的商业万用表并不常见(这也是这个项目的主要原因)。

1、板载隔离 USB 接口。
2、高采样率和图形(波形)显示选项。
3、可拆卸显示屏
4、长电池寿命 ,最低 100 小时,最好能延长到约 300 小时。
5、同时测量电压和电流并进行功率计算
6、手感和操作良好。
7、保险丝易于更换,无需拆卸万用表。
8、没有十字头螺钉,所有组装/拆卸/维修都应只需一个尺寸的内六角扳手即可完成。
9、如果使用可充电电池,应通过 USB 充电。
10、主要功能的完全暴露界面。没有菜单或软键来更改 AC/DC 或范围或在电阻和连续性之间切换或任何这些。只需查看万用表的按钮/开关/旋钮,就应立即知道它处于什么状态。还可以在不到 2 秒的时间内配置万用表的任何“核心”功能。对于更高级的功能,如记录或无线通信,菜单是可以接受的。

主要(香蕉插孔)功能包括:
1、交流和直流电压,从几毫伏到约 250V
2、交流和直流电流,从约 10 微安到 10A
3、电阻/连续性/二极管测试。约 10 欧姆到约 1 兆欧,二极管测试 >3V
4、功率测量(同时测量电压和电流,包括显示所有 3 个)

次要 XT-60 连接器,具有独立功能:
1、直流电源来自最多 12S 电池组
2、直流电压,至少 60V
3、直流电流,至少 30A,但可以承受更高的峰值电流而不会损坏或熔断保险丝。
4、电压、电流和功率的脉冲/峰值测量,时间尺度为毫秒。


三、低级编程和优化实现

Complexity Models - Algorithmica

这个是学习低级编程和优化的好网站,特此给大家分享下


四、资讯

1、兆易创新推出EtherCAT从站控制芯片GD32H75E系列

用 Cortex-M7高性能内核,主频600MHz

兆易创新推出EtherCAT®从站控制芯片,工业自动化的卓越选择-新闻-兆易创新 GigaDevice | 官方网站


2、Nordic的nRF54L系列已经广泛用于开发

nRF54L Series now widely available for development - Blogs - Nordic Blog - Nordic DevZone

各种开发环境和芯片购买都已经就绪

下面是对应推出的开发板


3、英伟达Jetson家族的Jetson Orin Nano推出升级版,算力提升1.7倍至67TOPS

Jetson Orin Nano Super Developer Kit | NVIDIA


4、ST要推出一个WiFi6 & BLE5.3模组,支持UART/SPI接口,支持Matter,速度40Mbps

https://www.st.com/content/st_co ... ead-module-z13.html

预计明年第1季度上线,初步从功能上看没问题,就看价格了,当前还没有公布

1、支持CubeMX为各种型号MCU/MPU提供生成代码支持。
2、提供软件包The X-CUBE-ST67W61
3、支持UART和SPI接口
4、BLE速度2Mbps,WiFi速度40Mbps。
5、模组主控芯片采用高通的QCC743


5、OpenAI推出的嵌入式实时SDK开发包

https://github.com/openai/openai-realtime-embedded-sdk


6、杰发科技AC7803x通过功能安全ISO 26262 ASIL B产品认证

通过ISO 26262 ASIL B功能安全产品认证的AC7803x,采用Arm Cortex M0+内核,主频达到64MHz,具备高可靠性,符合AEC-Q100车规要求


7、沁恒的IDE MounRiver Studio Ⅱ发布

MounRiver Studio

从V2.1.0开始,框架更换至更现代的VSCode,并深度定制开发


8、RL-TCPnet V8.x增加了一个TCP, UDP速度测试文件netio.c

https://github.com/ARM-software/MDK-Middleware/tree/main/Test/Network/netio

这个测试结果没有针对GCC做memcpy和字节复制粘贴优化


9、圣诞节前,Embedded Studio迎来最后一次更新V8.22版本发布,支持浏览MarkDown文件

SEGGER Embedded Studio

ARM和RISC-V二合一版

2024年,SES更新还是挺勤快的,一共更新了13个版本

更新记录,其他家的IDE编辑器,基本都转向支持VS Code。而Embedded  Studio没有,还在持续更新自己的编辑器


10. 极海G32R501实时控制MCU正式发布,双核Cortex-M52


五、PCB 电机即使在 16 亿次旋转后也能保持稳定

https://github.com/microbotsio/MotorCell/tree/main

https://hackaday.com/2024/12/17/ ... -1-6-billion-spins/

视频

《安富莱嵌入式周报》第348期:2024.12.13--2025.01.07 - uCOS & uCGUI & emWin & embOS & TouchGFX & ThreadX - 硬汉嵌入式论坛 - Powered by Discuz!

一个由 20 个测试电机组成的阵列,所有电机都以大约 37,000 RPM 的恒定速度连续运行。一个月后,拆卸并检查了每个单元。每台电机每天旋转超过 5300 万次,当月结束时旋转超过 16 亿次。没有发现内部划痕或其他损坏的迹象


六、手把手实现个简易C版shell

Tutorial - Write a Shell in C • Stephen Brennan

非常不错的文章,大家有兴趣可以看看


手把手自制TCP/IP网络协议栈教程

art 1, Ethernet & ARP: Let's code a TCP/IP stack, 1: Ethernet & ARP
Part 2, IPv4 & ICMPv4: Let's code a TCP/IP stack, 2: IPv4 & ICMPv4
Part 3, TCP Basics & Handshake: Let's code a TCP/IP stack, 3: TCP Basics & Handshake
Part 4, TCP Data Flow & Socket API: http://www.saminiir.com/lets-cod ... ta-flow-socket-api/
Part 5, TCP Retransmission: http://www.saminiir.com/lets-cod ... tcp-retransmission/

这个也是一个非常不错的系列教程,有兴趣可以挑战下自己,写个协议栈试试


七、开源水培自动化系统

openhydroponics · GitLab
RootMaster

农业方便的开源搜集的不多,这次再为大家分享一个


八、emWin模拟器6.48发布,同时配套的AppWizard V1.56发布,横竖屏旋转和文本滑动案例

AppWizard

AppWizardTrial_V156_648_Install.exe (92.21MB)

emWin模拟器:

SeggerEval_WIN32_MSVC_GUI_V648.zip (74.96MB)

emWin6.48更新记录:

新版AppWizard:

新增案例效果:


九、开源加密库Mbed,Cyclone,Wolf和NetX性能

NetX有两个:
NetX Crypto
NetX Secure(TLS)

Mbed有两个:
MbedTLS
MbedCrypto

Cyclone有两个:
Cyclone Crypto
Cyclone SSL

Wolf有两个:
wolfSSL
wolfCrypt

在MDK RTE里面都有集成


 



MbedTLS

搜到一个2017年的测试

https://os.mbed.com/teams/mbed-o ... 60cd5226d/main.cpp/

SHA-256                  :       1673 Kb/s,         70 cycles/byte
SHA-512                  :        546 Kb/s,        215 cycles/byte
AES-CBC-128              :       1428 Kb/s,         82 cycles/byte
AES-CBC-192              :       1260 Kb/s,         93 cycles/byte
AES-CBC-256              :       1127 Kb/s,        104 cycles/byte
AES-GCM-128              :        486 Kb/s,        242 cycles/byte
AES-GCM-192              :        464 Kb/s,        253 cycles/byte
AES-GCM-256              :        445 Kb/s,        264 cycles/byte
AES-CCM-128              :        610 Kb/s,        192 cycles/byte
AES-CCM-192              :        547 Kb/s,        214 cycles/byte
AES-CCM-256              :        496 Kb/s,        237 cycles/byte
CTR_DRBG (NOPR)          :       1139 Kb/s,        102 cycles/byte
CTR_DRBG (PR)            :        826 Kb/s,        142 cycles/byte
HMAC_DRBG SHA-256 (NOPR) :        193 Kb/s,        611 cycles/byte
HMAC_DRBG SHA-256 (PR)   :        170 Kb/s,        695 cycles/byte
RSA-2048                 :      28 ms/ public
RSA-2048                 :     953 ms/private
RSA-4096                 :      93 ms/ public
RSA-4096                 :    5327 ms/private
ECDSA-secp384r1          :     451 ms/sign
ECDSA-secp256r1          :     304 ms/sign
ECDSA-secp384r1          :     863 ms/verify
ECDSA-secp256r1          :     594 ms/verify
ECDHE-secp384r1          :     829 ms/handshake
ECDHE-secp256r1          :     566 ms/handshake
ECDHE-Curve25519         :     533 ms/handshake
ECDH-secp384r1           :     407 ms/handshake
ECDH-secp256r1           :     281 ms/handshake
ECDH-Curve25519          :     268 ms/handshake

wolfssl

https://github.com/wolfSSL/wolfssl/blob/master/IDE/STM32Cube/STM32_Benchmarks.md#stm32h753zi

Supports RNG, AES CBC/GCM and SHA-2 acceleration. Note: HW RNG on for all testsBoard: NUCLEO-H753ZI CPU: Cortex-M7 at 480 MHz IDE: STM32CubeIDE RTOS: FreeRTOSSTM32H753ZI (STM Crypto/Hash Acceleration, -Os, SP-ASM Cortex-M)
------------------------------------------------------------------------------
wolfSSL version 4.4.1
------------------------------------------------------------------------------
wolfCrypt Benchmark (block bytes 1024, min 1.0 sec each)
RNG                875 KB took 1.019 seconds,  858.685 KB/s
AES-128-CBC-enc     10 MB took 1.000 seconds,   10.400 MB/s
AES-128-CBC-dec     10 MB took 1.000 seconds,   10.327 MB/s
AES-192-CBC-enc     10 MB took 1.000 seconds,   10.425 MB/s
AES-192-CBC-dec     10 MB took 1.000 seconds,   10.278 MB/s
AES-256-CBC-enc     10 MB took 1.000 seconds,   10.376 MB/s
AES-256-CBC-dec     10 MB took 1.000 seconds,   10.278 MB/s
AES-128-GCM-enc      9 MB took 1.000 seconds,    8.789 MB/s
AES-128-GCM-dec      9 MB took 1.000 seconds,    8.716 MB/s
AES-192-GCM-enc      9 MB took 1.000 seconds,    8.740 MB/s
AES-192-GCM-dec      9 MB took 1.000 seconds,    8.691 MB/s
AES-256-GCM-enc      9 MB took 1.000 seconds,    8.765 MB/s
AES-256-GCM-dec      9 MB took 1.000 seconds,    8.691 MB/s
CHACHA               4 MB took 1.000 seconds,    4.443 MB/s
CHA-POLY             3 MB took 1.004 seconds,    3.040 MB/s
POLY1305            13 MB took 1.000 seconds,   12.671 MB/s
SHA-256              9 MB took 1.000 seconds,    8.691 MB/s
HMAC-SHA256          8 MB took 1.000 seconds,    8.496 MB/s
RSA     2048 public         82 ops took 1.019 sec, avg 12.427 ms, 80.471 ops/sec
RSA     2048 private         4 ops took 1.749 sec, avg 437.250 ms, 2.287 ops/sec
DH      2048 key gen         5 ops took 1.000 sec, avg 200.000 ms, 5.000 ops/sec
DH      2048 agree           6 ops took 1.200 sec, avg 200.000 ms, 5.000 ops/sec
ECC      256 key gen       121 ops took 1.000 sec, avg 8.264 ms, 121.000 ops/sec
ECDHE    256 agree          56 ops took 1.016 sec, avg 18.143 ms, 55.118 ops/sec
ECDSA    256 sign           78 ops took 1.007 sec, avg 12.910 ms, 77.458 ops/sec
ECDSA    256 verify         36 ops took 1.004 sec, avg 27.889 ms, 35.857 ops/sec
Benchmark complete
Benchmark Test: Return code 0


Cyclone

部分截图

STM32H7 Crypto Benchmark | SSL TLS SSH IPsec TCP


十、H7-TOOL本周进展

H7-TOOL详细介绍:H7-TOOL开发工具,1拖4/16脱机烧录,高速DAPLINK,RTOS Trace,CAN/串口助手, 示波器, RTT等,支持WiFi,以太网,高速USB和手持 - H7-TOOL开发工具 - 硬汉嵌入式论坛 - Powered by Discuz!

1、H7-TOOL固件2.27发布,新增加40多款芯片脱机烧录,含多款车轨芯片,发布LUA API手册,CAN助手增加负载率,错误状态信息检测

H7-TOOL固件2.27发布,新增加40多款芯片脱机烧录,含多款车轨芯片,发布LUA API手册,CAN助手增加负载率,错误状态信息检测 - H7-TOOL开发工具 - 硬汉嵌入式论坛 - Powered by Discuz!


2、历时456天,实测H7-TOOL的RTC不断电,不校准,快了44分钟

【测试条件】

1、这个TOOL已经连续运行656天未断电过,使用的STM32H7内置RTC。

2、RTC时间在2023年9月26号进行了校准,并开启测试。

3、运行期间,未做任何手动校准,软件校准和NTP, SNTP网络校准。

【测试结果】

1、第1次测试结果,从2023年9月26号到2024年4月5号,共计192天,

实测快了13分钟。

2、第2次测试结果,从2023年9月26号到2024年12月26号,共计456天

实测快了将近44分钟。


【误差原因】

因为晶振对温度敏感,下面是典型的温度对晶振影响:

STM32支持LSI内部低速时钟或者LSE外置低速时钟,使用外部就要接32768Hz的晶体。

一个月的典型误差50秒左右。


【校准】

以外置RTC  DS3231为例,精度是:
Accuracy ±2ppm from 0°C to +40°C        ---- 每个月30天算的最大误差是2*10^-6 * 24 * 60 *60 * 30 = 5.184秒
Accuracy ±3.5ppm from -40°C to +85°C  ---- 每个月30天算的最大误差是3.5*10^-6 * 24 * 60 *60  * 30 = 9.072秒

使用STM32内部RTC不行,白天温度不稳定的话,当天的误差差不多就有1-2秒。主要是晶振不是温补的。

ST提供了一些方案,但是不实用:

方法1:Smooth digital calibration

这种方法使用比较麻烦,当前提供的案例需要用户使用超高精度的信号时钟,精确到几个ppm,发送这个信号给板子做校准。然后示波器测量实际的输出效果来确实是否采用这个校准值。

方法2: RTC时钟同步

官方提供的例子没什么参考价值,倒腾了高精度的HSE来实现。

方法3: 使用50Hz/60Hz高精度参考时钟辅助

这个实用性也有点差。

3、当前推荐方案

(1)使用外置温补晶振,但价格略高,10块钱左右:

(2)使用自带温补的RTC芯片。

(3)带网络的,可以使用NTP,  SNTP校准

【RTC校准软件包】

1、https://www.st.com/en/embedded-software/x-cube-rtc.html

2、开源Sensor Watch Pro智能手表,号称一年的误差不到1秒
开源Sensor Watch Pro智能手表,一年的误差不到1秒 - 单片机 - 硬汉嵌入式论坛 - Powered by Discuz!

3、H7-TOOL 串口记录小程序 Lua分享

H7-TOOL 串口记录小程序 Lua分享 - H7-TOOL开发工具 - 硬汉嵌入式论坛 - Powered by Discuz!

来自客户processor的分享

为了提高系统程序的稳定性,且方便查找程序在长期运行过程中发生报错问题。就需要调试工具长期接入被测设备,通电1,2天,记录设备运行数据,最后电脑记事本ctrl+F查找报错点和报错时间;亦或者用excel导入做图标数据分析等都可以使用本lua小程序。
目前我正使用此小程序用于记录设备上发生的链表剩余可分配空间不足,运行参数检查,通讯丢包等异常查找等非常方便。期待坛友们对此代码一起共同优化。

相关文章:

《安富莱嵌入式周报》第348期:开源低功耗测试仪,开源创意万用表,续航100-300小时,开源PCB电机,自制shell和网络协议栈,开源水培自动化系统

周报汇总地址:嵌入式周报 - uCOS & uCGUI & emWin & embOS & TouchGFX & ThreadX - 硬汉嵌入式论坛 - Powered by Discuz! 视频版: https://www.bilibili.com/video/BV1Tzr9Y3EQ7/ 《安富莱嵌入式周报》第348期:开源低功…...

C#实现凸壳算法

凸壳计算代码: public static PointD[] calcConvexHull(PointD[] points) {// 按 x 坐标对点进行排序Array.Sort(points, (p1, p2) => p1.X.CompareTo(p2.X));// 创建下凸壳var lowerHull = new List<PointD>();foreach (var point in points){while (lowerHull.Co…...

轻量级适合阅读的优秀 C++ 开源项目

CTPL 这是一个现代简易版的、高效的C线程池库&#xff0c;代码行数500行左右。 代码示例&#xff1a; void first(int id) { std::cout << "hello from " << id << \n; } struct Second { void operator()(int id) const { std::cout << &q…...

数据结构:栈(Stack)和队列(Queue)—面试题(一)

目录 1、括号匹配 2、逆波兰表达式求值 3、栈的压入、弹出序列 4、最小栈 1、括号匹配 习题链接https://leetcode.cn/problems/valid-parentheses/description/ 描述&#xff1a; 给定一个只包括 (&#xff0c;)&#xff0c;{&#xff0c;}&#xff0c;[&#xff0c;] …...

20250110-System类

1. 定义 java不支持全局变量和方法&#xff0c;因此将与系统相关的重要方法和变量放在了一个统一的类中&#xff0c;即System类&#xff0c;其中所有的成员都是静态的。 2. System类中的方法 PS&#xff1a; System.out.print()&#xff0c;其中的out是System的静态变量&am…...

初识verilog HDL

为什么选择用Verilog HDL开发FPGA&#xff1f;&#xff1f;&#xff1f; 硬件描述语言&#xff08;Hardware Descriptipon Lagnuage&#xff0c;HDL&#xff09;通过硬件的方式来产生与之对应的真实的硬件电路&#xff0c;最终实现所设计的预期功能&#xff0c;其设计方法与软件…...

JavaSE——网络编程

一、InetAddress类 InetAddress是Java中用于封装IP地址的类。 获取本机的InetAddress对象&#xff1a; InetAddress localHost InetAddress.getLocalHost();根据指定的主机名获取InetAddress对象&#xff08;比如说域名&#xff09; InetAddress host InetAddress.getByNa…...

antd-design-vue1.7.8浏览器中使用

快速开始 引入js和css <link href"antd/antd.css" rel"stylesheet"> <script src"vue2/vue.js" type"text/javascript"></script> <script src"antd/antd.js" type"text/javascript">&…...

车载网络:现代汽车的数字心跳

在汽车领域&#xff0c;“智能汽车”一词毫不夸张。如今的汽车已不再是原始的机械工程&#xff0c;而是通过先进的车载网络无缝连接的精密数字生态系统。这些滚动计算机由复杂的电子控制单元(ECU)网络提供动力&#xff0c;ECU是负责管理从发动机性能到信息娱乐系统等一切事务的…...

SAP SD学习笔记27 - 贩卖契约(框架协议)2 - 基本契约 - 金额契约(价值合同)

上一章讲了贩卖契约&#xff08;框架协议&#xff09;的概要&#xff0c;以及贩卖契约中最为常用的 基本契约 - 数量契约。 SAP SD学习笔记26 - 贩卖契约(框架协议)的概要&#xff0c;基本契约 - 数量契约-CSDN博客 本章继续讲SAP中的内容&#xff1a; - 基本契约 - 金额契约…...

56. Three.js案例-创建一个包含点光源和旋转立方体的3D场景

56. Three.js案例-创建一个包含点光源和旋转立方体的3D场景 实现效果 本案例展示了Three.js中如何创建一个带有点光源的场景&#xff0c;并在该场景中添加一个旋转的立方体。通过点光源辅助线&#xff0c;可以直观地看到光源的位置和影响范围。 知识点 WebGLRenderer (WebGL…...

python-42-使用selenium-wire爬取微信公众号下的所有文章列表

文章目录 1 seleniumwire1.1 selenium-wire简介1.2 获取请求和响应信息2 操作2.1 自动获取token和cookie和agent2.3 获取所有清单3 异常解决3.1 请求url失败的问题3.2 访问链接不安全的问题4 参考附录1 seleniumwire Selenium WebDriver本身并不直接提供获取HTTP请求头(header…...

Excel使用

COUNTA,统计单列或单行中的非空单元格 COUNT: 纯数字COUNTBLANK: 空白 COUNTA(value1, [value2], ...) COUNTA(A1:A10) COUNTA(A1:C5) COUNTA(IF(A1:A10>10, A1:A10)) COUNTA(A:A)某一列的全部 (D1:INDEX(D:D,COUNTA(D:D))计算一列不同词语的不同频率 单独的词每个词的频…...

机器人碳钢去毛刺,用大扭去毛刺主轴可轻松去除

在碳钢精密加工的最后阶段&#xff0c;去除毛刺是确保产品质量的关键步骤。面对碳钢这种硬度较高的材料&#xff0c;采用大扭矩的SycoTec去毛刺主轴&#xff0c;成为了行业内的高效解决方案。SycoTec作为精密加工领域的领军品牌&#xff0c;其生产的高速电主轴以其卓越的性能&a…...

Android车载音频系统目录

目录 第一章 1.1 Android Automotive&#xff08;一&#xff09; 1.2 Android Automotive&#xff08;二&#xff09; 1.3 Android Automotive&#xff08;三&#xff09; 第二章 2.1 Android车载音频系统概览 2.2 车载音频焦点 2.3 车载音频配置 2.4 Audio control HAL…...

备战蓝桥杯 链表详解

目录 链表概念 静态单链表的实现 静态双链表的实现 循环链表 算法题练习&#xff1a; 1.排队顺序 2.单向链表 3.队列安排 4.约瑟夫问题 链表概念 上一次我们用顺序存储实现了线性表&#xff0c;这次我们用链式存储结构实现的线性表就叫链表 链表每个节点包含数据本身…...

基于华为Maas(大模型即服务)和开源的Agent三方框架构建AI聊天助手实践

引言 随着人工智能技术的快速发展,AI聊天助手已经成为企业与用户之间沟通的重要桥梁。为了构建一个高效、智能且易于扩展的AI聊天助手,我们可以利用华为云提供的Maas(Model-as-a-Service,大模型即服务)平台,结合开源的Agent三方框架来实现。本文将详细介绍这一实践过程,…...

Python基于YOLOv8和OpenCV实现车道线和车辆检测

使用YOLOv8&#xff08;You Only Look Once&#xff09;和OpenCV实现车道线和车辆检测&#xff0c;目标是创建一个可以检测道路上的车道并识别车辆的系统&#xff0c;并估计它们与摄像头的距离。该项目结合了计算机视觉技术和深度学习物体检测。 1、系统主要功能 车道检测&am…...

【如何从0到1设计测试用例使用Fiddler完成弱网测试】

&#x1f308;个人主页&#xff1a;努力学编程’ ⛅个人推荐&#xff1a; c语言从初阶到进阶 JavaEE详解 数据结构 ⚡学好数据结构&#xff0c;刷题刻不容缓&#xff1a;点击一起刷题 &#x1f319;心灵鸡汤&#xff1a;总有人要赢&#xff0c;为什么不能是我呢 ⭐⭐⭐测试用…...

PHP语言的函数实现

PHP语言的函数实现 在现代Web开发中&#xff0c;PHP是一种流行的后端脚本语言。它以简单易学和强大的功能著称&#xff0c;广泛应用于构建动态网站和Web应用程序。在PHP中&#xff0c;函数是组织代码、提高代码重用性和可读性的关键元素。本文将深入探讨PHP的函数实现&#xf…...

开源生成式物理引擎Genesis,可模拟世界万物

这是生成大模型时代 —— 它们能生成文本、图像、音频、视频、3D 对象…… 而如果将所有这些组合到一起&#xff0c;我们可能会得到一个世界&#xff01; 现在&#xff0c;不管是 LeCun 正在探索的世界模型&#xff0c;还是李飞飞想要攻克的空间智能&#xff0c;又或是其他研究…...

Apache Paimon-实时数据湖

一、Apache Paimon是什么? Flink社区希望能够将 Flink 的 Streaming 实时计算能力和 Lakehouse 新架构优势进一步结合&#xff0c;推出新一代的 Streaming Lakehouse 技术&#xff0c;促进数据在数据湖上真正实时流动起来&#xff0c;并为用户提供实时离线一体化的开发体验。 …...

Git:Cherry-Pick 的使用场景及使用流程

前面我们说了 Git合并、解决冲突、强行回退等解决方案 >> 点击查看 这里再说一下 Cherry-Pick功能&#xff0c;Cherry-Pick不是merge&#xff0c;只是把部分功能代码Cherry-Pick到远程的目标分支 git cherry-pick功能简介&#xff1a; git cherry-pick 是用来从一个分…...

蓝桥杯---纯职业小组(c语言)

问题描述 在蓝桥王国&#xff0c;国王统治着一支由n 个小队组成的强大军队。每个小队都由相同职业的士兵组成。具体地&#xff0c;第i 个小队包含了 bi名职业为ai的士兵。近日&#xff0c;国王计划在王宫广场举行一场盛大的士兵检阅仪式&#xff0c;以庆祝王国的繁荣昌盛。然而…...

先辑芯片HPM5300系列之SEI多摩川协议命令表问题研究

多摩川协议有9条命令&#xff0c;但是先辑SEI的命令表只有8张。0-6是可用的&#xff0c;第7张是黑洞表&#xff0c;所以只有7张可用。 命令表的限制颇多&#xff0c;比如命令表只能按顺序使用 &#xff1a;例如0、1、3&#xff0c;那么命令表3是不能用的。 如果想要实现9个命令…...

C++:string

一、string概念 之前介绍过通过字符数组保存字符串&#xff0c;然后对字符数组中的字符串做各种操作&#xff1b;为了更加简单方便&#xff0c;在C中&#xff0c;又增加了 string 来处理字符串。 char str[20] "hello world"; string 字符串其实是一种更加高级的封…...

用c实现C++类(八股)

在 C 语言中&#xff0c;虽然没有内建的面向对象编程&#xff08;OOP&#xff09;特性&#xff08;如封装、继承、多态&#xff09;&#xff0c;但通过一些编程技巧&#xff0c;我们仍然可以模拟实现这些概念。下面将用通俗易懂的方式&#xff0c;逐步介绍如何在 C 中实现封装、…...

一区10+!线粒体基因组+宏基因组,微生态研究跨界新组合

在自然界中&#xff0c;微生物与宿主之间的共生关系是生物多样性和生态系统功能的重要组成部分。这些相互作用不仅塑造了宿主的进化历程&#xff0c;而且对宿主的生存和适应性至关重要。然而&#xff0c;这些共生关系的进化动态和共生菌基因组的演变仍然是微生物生态学和进化生…...

基于Python编程语言的自动化渗透测试工具

摘 要 近些年来网络安全形势变得越来越严峻&#xff0c;全球数百万个政企遭遇过不同程度的网络攻击。渗透测试是一种对目标进行信息安全评估的方法&#xff0c;而目前该行业仍在存在着安全服务行业价格昂贵&#xff0c;安全人才缺口巨大&#xff0c;在渗透测试时步骤繁琐、效率…...

浅析大语言模型安全和隐私保护国内外标准和政策

过去两年&#xff0c;大模型技术已经普及并逐步渗透到各行各业&#xff0c;2025年注定是大模型应用井喷式发展的一年&#xff0c;AI在快速发展的同时&#xff0c;其带来的安全风险也逐渐凸显。人工智能系统的安全性和隐私保护已经成为社会关注的重点。 附下载&#xff1a;600多…...

C++例程:使用I/O模拟IIC接口(6)

完整的STM32F405代码工程I2C驱动源代码跟踪 一&#xff09;myiic.c #include "myiic.h" #include "delay.h" #include "stm32f4xx_rcc.h" //初始化IIC void IIC_Init(void) { GPIO_InitTypeDef GPIO_InitStructure;RCC_AHB1PeriphCl…...

【YOLOv8杂草作物目标检测】

YOLOv8杂草目标检测 算法介绍模型和数据集下载 算法介绍 YOLOv8在禾本科杂草目标检测方面有显著的应用和效果。以下是一些关键信息的总结&#xff1a; 农作物幼苗与杂草检测系统&#xff1a;基于YOLOv8深度学习框架&#xff0c;通过2822张图片训练了一个目标检测模型&#xff…...

Mysql--基础篇--SQL(DDL,DML,窗口函数,CET,视图,存储过程,触发器等)

SQL&#xff08;Structured Query Language&#xff0c;结构化查询语言&#xff09;是用于管理和操作关系型数据库的标准语言。它允许用户定义、查询、更新和管理数据库中的数据。SQL是一种声明性语言&#xff0c;用户只需要指定想要执行的操作&#xff0c;而不需要详细说明如何…...

[Transformer] The Structure of GPT, Generative Pretrained Transformer

The Structure of Generative Pretrained Transformer Reference: The Transformer architecture of GPT models How GPT Models Work...

【教程】Unity 本地化多语种 | Localization 工具组

开发平台&#xff1a;Unity 6.0 编程平台&#xff1a;Visual Studio 2022 编程语言&#xff1a;CSharp 6.0 工具包类&#xff1a;Localization   一、前言 本地化多语言类型是软件面向国际化所必须的功能项。Unity 在 2022 版本后推出 Localization 工具包&#xff0c;以降低…...

模式识别与机器学习

文章目录 考试题型零、简介1.自学内容(1)机器学习(2)机器学习和统计学中常见的流程(3)导数 vs 梯度(4)KL散度(5)凸优化问题 2.基本概念3.典型的机器学习系统4.前沿研究方向举例 一、逻辑回归1.线性回归2.逻辑回归3.随堂练习 二、贝叶斯学习基础1.贝叶斯公式2.贝叶斯决策3.分类器…...

鸿蒙面试 2025-01-10

写了鉴权工具&#xff0c;你在项目中申请了那些权限&#xff1f;&#xff08;常用权限&#xff09; 位置权限 &#xff1a; ohos.permission.LOCATION_IN_BACKGROUND&#xff1a;允许应用在后台访问位置信息。 ohos.permission.LOCATION&#xff1a;允许应用访问精确的位置信息…...

在vscode上

第一步 安装插件 &#xff08;1&#xff09;从菜单处打开vscode&#xff0c;之后点击左侧“拓展”&#xff0c;在搜索栏输入“platform”&#xff0c;安装这个插件。 注&#xff1a;安装过程可能会慢一点&#xff0c;可以尝试连接自己的热点 &#xff08;2&#xff09;安装完…...

用WebGPU实现现代Web3D渲染——突破传统性能瓶颈的解决方案

引言 随着Web技术的不断发展&#xff0c;Web3D应用的需求不断增加。从游戏引擎到可视化工具&#xff0c;3D渲染技术正在被广泛地应用。然而&#xff0c;传统WebGL技术在性能、效率和灵活性上仍存在局限性。而WebGPU作为一种新兴的Web标准&#xff0c;为现代3D渲染提供了强大而…...

HTML5 加载动画(Loading Animation)

加载动画&#xff08;Loading Animation&#xff09;详解 概述 加载动画是指在数据加载过程中&#xff0c;向用户展示的一种视觉效果&#xff0c;旨在提升用户体验&#xff0c;告知用户系统正在处理请求。它可以减少用户的等待焦虑感&#xff0c;提高界面的互动性。 常见的加…...

.NET AI 开发人员库 --AI Dev Gallery简单示例--问答机器人

资源及介绍接上篇 nuget引用以下组件 效果展示&#xff1a; 内存和cpu占有&#xff1a; 代码如下&#xff1a;路径换成自己的模型路径 模型请从上篇文尾下载 internal class Program{private static CancellationTokenSource? cts;private static IChatClient? model;privat…...

Linux 高级路由 —— 筑梦之路

Linux 高级路由详解 本文将基于您提供的 Linux 高级路由极简教程 文章&#xff0c;深入探讨 Linux 高级路由的概念、配置方法以及应用场景。 一、什么是 Linux 高级路由&#xff1f; Linux 高级路由是指利用 Linux 内核提供的强大网络功能&#xff0c;实现超越传统路由表和默…...

实习总结(经历篇)

自从读研后,有可能是看见同龄的财会专业的同学去各种大厂实习:B站,阿里等,身边也有舍友在有过小厂实习,所以一直有个想法就是去实习,这个想法终于在研一的暑假快开始前被我赋予行动。 研一暑假和同门一起在boss等招聘软件投简历,但是当时并没有很好的对简历做修改,投递…...

【ShuQiHere】pandas 与 DataFrame 全面详解

【ShuQiHere】 本文将为您系统介绍 pandas 与 DataFrame 之间的区别&#xff0c;着重讲解 DataFrame 的常用方法以及相关的数据可视化操作&#xff0c;包括 df.hist()、df.plot()、df.boxplot() 等。无论您是数据分析新手还是有经验的专业人士&#xff0c;都可以从本文中快速掌…...

【回眸】发财日记

积累本金&#xff0c;有舍有得。 上学时在线上兼职&#xff0c;基本够开销没攒下钱&#xff0c;上班之后工资还能攒下不少。 对于花销要有舍有得。认同一句话“买东西要买能力范围内最好的”。 所以&#xff0c;每次花钱前都会思考: 是否需要&#xff0c;是否能替代已有产品&…...

文件读写到SQLite数据库的方法

在 SQLite 数据库中&#xff0c;将文件读写到数据库的常见方法主要有以下几种&#xff1a; 1. 将文件以 BLOB 类型存储 BLOB&#xff08;Binary Large Object&#xff09; 是 SQLite 中的二进制数据类型&#xff0c;可以直接用来存储文件内容。 步骤&#xff1a; 创建表 创建一…...

基于SDN的ddos攻击检测与防御

本项目依赖mininet, floodlight, sFlow-RT 1&#xff0c;启动floodlight cd floodlightjava -jar target/floodlight.jar 浏览器访问http://localhost:8080/ui/pages/index.html 或者http://localhost:8080/ui/index.html 2&#xff0c;创建 mininet拓扑 sudo mn --toposingl…...

RocketMQ 和 Kafka 有什么区别?

目录 RocketMQ 是什么? RocketMQ 和 Kafka 的区别 在架构上做减法 简化协调节点 简化分区 Kafka 的底层存储 RocketMQ 的底层存储 简化备份模型 在功能上做加法 消息过滤 支持事务 加入延时队列 加入死信队列 消息回溯 总结 来源:面试官:RocketMQ 和 Kafka 有…...

关于人工智能学习框架

人工智能学习框架&#xff1a;智能时代的强大引擎 在人工智能蓬勃发展的今天&#xff0c;学习框架如同一座座坚实的桥梁&#xff0c;连接着理论与实践&#xff0c;承载着创新与突破&#xff0c;为智能科技的前行提供了强大动力。本文将深入剖析人工智能学习框架的重要意义、核…...

Android14上使用libgpiod[gpioinfo gpioget gpioset ...]

环境 $ cat /etc/os-release NAME="Ubuntu" VERSION="20.04.5 LTS (Focal Fossa)" ID=ubuntu ID_LIKE=debian PRETTY_NAME="Ubuntu 20.04.5 LTS" VERSION_ID="20.04" HOME_URL="https://www.ubuntu.com/" SUPPORT_URL="…...