柚 屿
码龄1年
关注
提问 私信
  • 博客:210,429
    视频:13
    210,442
    总访问量
  • 75
    原创
  • 128,237
    排名
  • 2,280
    粉丝
  • 学习成就

个人简介:我们是一个热爱创造的工程师团队,热衷于使用Arduino技术来实现我们的创意和想法。我们在这个领域有着丰富的经验和深厚的技术功底,完成过多个项目的设计和开发。我们喜欢和其他创客们分享经验和知识,帮助他们解决技术难题,共同推动Arduino技术的发展。我们深知技术只是工具,而真正重要的是创造力和对技术的热爱。希望能将与我们一样对这份热爱的爱好者聚集在一起,让我们共同探讨,共同进步。希望我们聚是一团火,散是满天星。

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:上海市
  • 加入CSDN时间: 2023-11-28
博客简介:

2301_81461100的博客

查看详细资料
  • 原力等级
    成就
    当前等级
    4
    当前总分
    877
    当月
    7
个人成就
  • 获得3,176次点赞
  • 内容获得19次评论
  • 获得3,735次收藏
  • 代码片获得5,550次分享
创作历程
  • 41篇
    2024年
  • 35篇
    2023年
成就勋章
TA的专栏
  • Arduino
    51篇
  • MicroPython使用说明书
  • MicroPython动手做
  • Arduino模块
兴趣领域 设置
  • 编程语言
    python
  • 人工智能
    机器学习深度学习神经网络tensorflow图像处理
  • 音视频
    opencv计算机视觉
创作活动更多

如何做好一份技术文档?

无论你是技术大神还是初涉此领域的新手,都欢迎分享你的宝贵经验、独到见解与创新方法,为技术传播之路点亮明灯!

343人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

c# OpenCv 2-使用haarcascade模型进行人脸识别

3. 使用cascade以及模型文件(本例使用的是人脸正面)对图片进行预测。1. 读取cascade模型文件。2. 对输入的图片进行灰度处理。步骤如Test,截取出人脸照片。
原创
发布博客 2024.04.09 ·
559 阅读 ·
5 点赞 ·
0 评论 ·
11 收藏

c# OpenCV -1 直接比对两张图片

输入两张图片,返回比对结果: DrawMatches.Test(arrICs[3], arrICs[1]);本例基于EmguCv...
原创
发布博客 2024.04.09 ·
426 阅读 ·
3 点赞 ·
0 评论 ·
0 收藏

在MicroPython中启用基于spiflash的LFS挂载文件系统

概述总体的思路是:自顶向下逐步启用mpy-cross编译,将Python程序集成到固件中自底向上逐步添加sfud组件并启用lfs合龙,创建mm32f3.flash模块,封装sfud,并由集成到固件中的Python程序调用mm32f3.flash模块。启用frozen_moduleMicroPython加载lfs使用了同之前加载fatfs不同的方式,通过向固件程序中集成Python语言编写的脚本来加载lfs文件系统。在C语言编写的MicroPython固件中加载Python语言程序的机制,就是所
原创
发布博客 2024.01.19 ·
1075 阅读 ·
20 点赞 ·
0 评论 ·
24 收藏

在mm32f3270上为MicroPython启用Signal模块

原本以为放开在machine的类清单中对Signal类型的定义就能通,虽然能够通过编译,但在实测中并不能操作引脚。在代码仓库里搜索“mp_pin_p_t”,发现esp系的port中,machine_pin.c中有相关的引用。特别注意,machine_pin_type中的一个字段:“ .protocol = &pin_pin_p,”这里调用了mp_pin_p_t中的ioctl函数,它是在virpin.h中声明的,这是哪里定义的呢?但是在mm32的machine_pin_type的实现中就没有这个字段。
原创
发布博客 2024.01.18 ·
398 阅读 ·
9 点赞 ·
0 评论 ·
10 收藏

解决MicroPython执行SD卡中的main.py文件中的死循环出不来的问题

前文(尚未发布)提到,我目前已经启用Thonny对接KE18F/F3270上的MicroPython,但如果把main.py写成死循环(在实际开发时,必须写成死循环,否则程序执行完就不工作了),复位开发板后,由于MicroPython直接进入main.py中的死循环,调度器始终占用CPU,再没有机会进入REPL同Thonny对接了。解法只能是把SD卡取下来,改掉其中的main.py文件的死循环,再把SD卡装回去,重新启动开发板。我曾想试着利用CTRL+C打断调度器,但不起作用。
原创
发布博客 2024.01.18 ·
517 阅读 ·
8 点赞 ·
0 评论 ·
12 收藏

在mm32f3270上为micropython创建ADC模块(1)

额,算了,ADC可能不是一个单独的模块。当然,预先指定通道的事情,可以让ADC()实例化函数搞一下,当实例化一个ADC采样通道时,实际上后台已经开始转换了,并且周期地将最近一次转换结果保存到一个缓冲区中,这样当启动read_u16函数时,可以直接从缓冲区中读到最近的采样结果,这样做可以保证读数时直接拿到结果,不等待,但特别费电,ADC转换器在后台一直不停地工作。从面向对象的角度,用户看到的是引脚,才不关心内部是怎么分配的引脚号,实际转换的时候,用户也看不到分配的通道号,操作的是引脚对象而已。
原创
发布博客 2024.01.18 ·
374 阅读 ·
10 点赞 ·
0 评论 ·
7 收藏

micropython 自制数码相机

TPYBoard v102主控芯片采用STM32F405,M4的内核,168MHZ的最高运行速度,1024KB的Flash,192KB的。30 个通用GPIO 接口、 2个 SPI 接口、2个 CAN 接口、2个I2C 接口、 5个 USART 接口、 2个ADC接。其中对于串口控制拍照,读取静态图片的应用中,只需要用到 GND,RX,TX,VCC 这 4 个信号线。上电后,等待ToyBoard v102板载绿灯亮起,说明摄像头模块初始化完毕,按一下USR键,控制摄像头进行拍。
原创
发布博客 2024.01.18 ·
919 阅读 ·
16 点赞 ·
0 评论 ·
22 收藏

ESP32-CAM 使用 MicroPython 完成视频网络服务器 (Web Video Stream)

ESP32-CAM 是安信可发布小尺寸的摄像头模组。该模块可以作为最小系统独立工作,尺寸仅为2740.54.5mm。ESP32-CAM可广泛应用于各种物联网场合,适用于家庭智能设备、工业无线控制、无线监控、人脸识别以及其它物联网应用,是物联网应用的理想解决方案。ESP32-CAM采用DIP封装,直接插上底板即可使用,实现产品的快速生产,为客户提供高可靠性的连接方式,方便应用于各种物联网硬件终端场合。开发环境准备。
转载
发布博客 2024.01.18 ·
656 阅读 ·
2 点赞 ·
3 评论 ·
8 收藏

在mm32f3270为micropython创建Pin模块(2)

上文书说,已经搭建了一个基本的能够在REPL中引用到的Pin模块。为了规避Hardfault的问题,暂时屏蔽了history的功能。勉强已经可以用起来了。本文将要打通python对底层硬件的操作,进一步完成Pin模块。本文可能会涉及到引脚表的设计问题make_new()感觉在machine_pin_obj_make_new()里检查这个参数清单没啥功能性作用。如果参数无效,则直接报错?后来在试用程序的过程发现挺有用的,当用户输入参数不正确时,会提示错误类型。
原创
发布博客 2024.01.17 ·
438 阅读 ·
7 点赞 ·
0 评论 ·
10 收藏

在mm32f3270为micropython创建Pin模块(1)

考虑到history可能涉及到的地方比较多,我试着找了找能不能通过某个用户选项把history相关的功能都关掉,未果,只好人工mask掉这一句,并且祈祷尽量别碰到使用history的场景。在“ports/mm32”目录下创建“machine_pin.c”,此文件专用于存放pin类的实现,是“modmachine.c”总类的下属。一点长远的考虑,timer的类原本是在minimal中的,它对硬件的依赖并不复杂,短时间也考虑实现出来。在“machine_pin.c”文件中编写与底层无关的框架代码,见附件。
原创
发布博客 2024.01.17 ·
405 阅读 ·
8 点赞 ·
0 评论 ·
9 收藏

micropyton源码-添加C扩展类模块(2)

回到ports/mimxrt/machine_pin.c文件,同machine_pin_type并列定义的还有“machine_pin_af_type”,在“pin.h”和“ports/mimxrt/boards/mimxrt_prefix.c”文件中有所涉及,关于指定引脚功能复用的,似乎也作为一个实例对象定义的,但未被注册到任何模块中,暂且放过,待看完machine_pin_type后再回来看。关于“mp_obj_type_t”的定义,具体可参见“py/obj.h”文件,此处仅对必要的字段进行解释。
原创
发布博客 2024.01.17 ·
896 阅读 ·
26 点赞 ·
0 评论 ·
17 收藏

micropyton源码-添加C扩展类模块(1)

这个结构体中定义了mp_module_machine 对象内部的属性清单,并建立一个类似于python中map的表,这样在micropython内核中,就可以通过QSTR字符串“Pin”,找到指向machine_pin_type结构体实体的指针,我们或可认为通过python内部的某种机制就可以通过“.”这个字符,映射到其对应的内存块。在py/objmodule.c文件中,mp_builtin_module_map被函数mp_module_get()引用,在映射表中通过模块名字查询对应实体。
原创
发布博客 2024.01.17 ·
560 阅读 ·
9 点赞 ·
0 评论 ·
8 收藏

Micropyth关于_thread(多线程)开发的二次应用

介绍了_thread(多线程)的基础讲解,这次将结合UART(串口)开进行开发应用讲解。串口在日常的设计中是一个非常常见的东西,所以熟练掌握是基本知识。下面,就来介绍一下关于串口与_thread 结合的一个小程序。下面是所需要准备的东西。硬件设计:Rasspberry Pi Pico开发板(应用Micropython开发)USB转TTL开发板软连线上面显示了其连线示意图。
原创
发布博客 2024.01.17 ·
496 阅读 ·
13 点赞 ·
0 评论 ·
9 收藏

阅读micropython源码-内存管理组件GC

estack和_sstack就是系统栈,_gc_heap_start和_gc_heap_end代表了整个ocrm的空间。gc_collect()函数的实现依赖于具体的CPU架构,需要根据移植平台实现,中间涉及到获取系统栈中CPU寄存器值及监管范围的操作,不同的处理器有所区别,所以需要用户实现,但大部分通用操作已经由gc_collect_xxx()的其它函数实现了,所以用户在具体的移植中实现gc_collect()时,可调用其它gc_collect_xxx()函数完成大部分功能。
原创
发布博客 2024.01.10 ·
988 阅读 ·
20 点赞 ·
0 评论 ·
17 收藏

移植micropython最小工程(补充)-移除frozentest.mpy

从makefile文件中可以看到, "$(BUILD)/_frozen_mpy.c"文件是通过向mpy-tool.py工具传入frozentest.mpy, 在build过程中自动生成的. 删除相关的make环节之后, 在最小移植中不需要管mpy-tool.py中的"python3"问题, 同时 也可以在移植项目的根目录下删除frozentest.py和frozentest.mpy这两个不相干的文件了.在最小移植中移除对frozentest.mpy的依赖。
原创
发布博客 2024.01.10 ·
389 阅读 ·
5 点赞 ·
0 评论 ·
9 收藏

为micropython添加模块(2)-类模块

在pyb目录下创建pin.c/.h文件,包含Pin类定义的主体内容暂时不用管这里包含的头文件的含义,只要照抄就行。唯一有用的一句话是最后一句,定义了“pyb_pin_type”的一个类型实例,这个类型实例将在pyb.c文件中被整合到pyb模块下面。pin.c文件中实现mpy通过C语言操作硬件的功能函数。这个文件里可以直接包含C源代码的驱动程序文件,可以像平时写C语言的单片机程序一样自由发挥。例如:这些代码同用C语言操作底层寄存器的代码没有任何区别。
原创
发布博客 2024.01.10 ·
927 阅读 ·
22 点赞 ·
0 评论 ·
25 收藏

为micropython添加模块(1)-全局模块

根据官方描述步骤创建一个led模块为新模块创建一个源文件参考官方样例的命名规范, 这里在lpc5500移植项目的目录下创建mod_led.c。
原创
发布博客 2024.01.10 ·
873 阅读 ·
16 点赞 ·
0 评论 ·
19 收藏

2.4-Arduino-ESP32使用及程序下载

发布视频 2024.01.05

Arduino-ESP32离线库安装2

发布视频 2024.01.05

Arduino-ESP32离线库安装

发布视频 2024.01.05
加载更多