树莓派远程监控
8b964abdcbe4167494dfe5c8bfb76b0869e90686022ef342a659427b57a83d18cd3c35e43cef602ea82996b450bdad02addcc351e727965b8fdc1c163f97ec47276429f64b4a76464da7473fd1a006f69a44cb7d032bdda76afb9126788bbd332a0c65b31eac30e0d58b0ccea89446a5a2852288a2086314c90c7910fd3eb33ba5d26791737a77feaa1220cf38c0fa04cef4699aea3c4fec01274d9af30e0ebc86b551ff7614ef3df21776af00f538995c0fade1840f885b7d06bec1593726211c264a3dbe6c54e2e3c88cabefc532c2353bc9d14441203cd6e395df7115225935cefec0df0f7fccefad0fce0ffae5b063e0dbe6ee319b3e0 ...
一键启动远程访问 Stable Diffusion 脚本
一键启动远程访问 Stable Diffusion 脚本前情提要若还未观看 SSH端口转发远程访问 Stable Diffusion 这篇文章,请先跳转稍后再来。本文主要优化上文中远程访问启动比较繁琐的问题,尽量减少启动的流程。
远程访问文件夹优化
ssh 优化
远程访问文件夹优化代码打包每次启动远程访问文件夹还要先打开 pycharm,十分麻烦,所以直接把 gradio 代码打包为 exe。
下载 pyinstaller直接在 pycharm 的控制台里输入下面命令:
1pip install pyinstaller
打包 gradio正常打包 pyinstaller -F python_file_name 会出现问题,报错如下:
[Errno 2] No such file or directory: gradio_client\types.json
这是由于 pyinstaller 没有准确的识别出用于代码中 gradio_client 与 gradio 库的依赖项,很多的博客都是说需要再 pyinstaller 的 hook 目录下添加文件,实则没有必要。需要将打包命 ...
SSH端口转发远程访问 Stable Diffusion
SSH端口转发远程访问 Stable Diffusion为了随时随地都能愉快的使用 SD,打算把自己的 SD 部署到公网上。不要问为什么不直接上云部署平台,问就是没钱,不管按次或者按时收费在我自己有部署好的设备的情况下都不划算。(并且受限制画不了涩图)尝试了以下方法进行远程画图。
方案一:贝锐花生壳花生壳是一款用于实现远程访问和管理设备的工具,无需依赖公网 IP,简单易用、高安全性、支持多平台使用。为用户提供了简单而安全的远程访问和管理设备的方式。无论是个人用户还是企业用户,都可以通过该客户端轻松地实现设备的远程访问和管理。
优势:部署简单、快速,小白也能快速实现远程访问。
劣势:贵。体验版限制流量、带宽,付费版最少的也要398一年。
方案二:云服务器端口转发本机没有公网 IP 也没有 IPV6,可以通过云服务器的弹性公网 IP 进行端口转发实现内网穿透,并且有了云服务器后面也可以尝试接入物联网玩玩。
优势:便宜,华为2核2G3M云服务器36一年,月流量 400G,并且可拓展性强,适合爱折腾的人玩。
劣势:操作会稍微复杂一点点。
教程SD 启动器设置为了能在远程访问 S ...
无线充电电路测试
8b964abdcbe4167494dfe5c8bfb76b0869e90686022ef342a659427b57a83d18baa04d8282411ea60319608203b64831388cac565cbfa04977f8013b4744e2c120523d8763ca84aaececd27e815a421bbb127d8070691ff7841f535bf07a29b8535fe3ab1f1222bc991d6459ecd9b1bc3c9895ac482dac43dd42a40ea34d58e50f8d891b5c86aa63c4e3c5342bac2491819e5282a3a964e80a9d4b95106596fb1eef94a2feab9ee3b9a88283834d6a9fce1b29173c4c077333de3e38448be7cd57c1b01bec26f48940114fd34f2fed1f87b7c6e8f1ba3c7d762d110267568a772b1a79c9b1118d327b8283764734a033cceee97d0fec23235 ...
ESP32存储器
ESP32存储器概述ESP32 采用两个哈佛结构 Xtensa LX6 CPU 构成双核系统。所有的片上存储器、片外存储器以及外设都分布在两个 CPU 的数据总线和/或指令总线上。除个别情况外,两个 CPU 的地址映射呈对称结构,即使用相同的地址访问同一目标。系统中多个外设能够通过 DMA 访问片上存储器。两个 CPU 的名称分别是 PRO_CPU 和 APP_CPU。PRO 代表 protocol(协议),APP 代表 application(应用)。在大多数情况下,两个 CPU 的功能是相同的。ESP-IDF 区分了指令总线(IRAM、IROM、RTC FAST memory)和数据总线 (DRAM、DROM)。指令存储器是可执行的,只能通过 4 字节对齐字读取或写入。数据存储器不可执行,可以通过单独的字节操作访问。
主要特性
地址空间
对称地址映射
数据总线与指令总线分别有 4 GB (32-bit) 地址空间
1296 KB 片上存储器地址空间
19704 KB 片外存储器地址空间
512 KB 外设地址空间
部分片上存储器与片外存储器既能被数据总线也能被指令总线访问
3 ...
ESP32输出互补PWM波形中断
ESP32输出互补PWM波形中断问题描述在使用 ESP32 的 MCPWM 输出互补 PWM 时,发现在改变 PWM 频率时偶尔会出现波形中断的现象如下图所示。每次出现中断的前后频率都发生了改变,但不是每次频率改变都会触发这种中断的现象,中断前后的死区也是正常的。
放大中断区域进行测量,中断的时间如下图所示。可以看到是个很熟悉的数字,65.53568 ms,让人一下就联想到 16 位定时器计满就是 65535,第一感觉就是定时器溢出了,并且每次都是在频率改变的时候溢出。个人猜想是在生成 PWM 的过程中,一个周期还没结束,新的值就被载入了,由于频率增加,计数值就会减小,如果当前的计数值已经比新的值大了,那么这个值就只能一直增加到溢出并重新计数到新的载入值才会生效。举个例子,上一次载入的计数值是 1k,现在要增加频率为两倍,计数值就要减小到 500,但是定时器现在已经数到了 800,只能继续向上计数,直到数到 65535 溢出后重新数到 500 才能生效。
网上查找了一下类似情况,果然是定时器的问题,具体的问题和自动预装载还有影子寄存器有关,文章作者使用的是 STM8 单片机, ...
ZVS电路设计
8b964abdcbe4167494dfe5c8bfb76b0869e90686022ef342a659427b57a83d18766e8ad3733ff63af991d3370103bf227b1128dfd82fc5761132c64c89458e1f0f684153de1fce9f404a191dee863c60eecbaa041550f20b502605e96b25cb554da832addec5a5f90853ecd6517fd33932f45809f14d73e9b19fd286f4e245aaf0bb6fab104f534916472e858e2b4bd491b23c893967cd90e3ae8d812fa0dca65eb928430de04b3b5e38f1b5fe8b49681bd8ea477000e3b43b4659762a5604d4637e0d63525a805e460ce13ca50cc6b2b42dca8ec491fb8f0a59f710bbf02e29dee0f221ec53173322f0cdc5a774de68175242a907cdc004d ...
FreeRTOS实时内核指南——资源管理
FreeRTOS实时内核指南——资源管理概览多任务系统中存在一种潜在的风险。当一个任务在使用某个资源的过程中,即还没有完全结束对资源的访问时,便被切出运行态,使得资源处于非一致,不完整的状态。如果这个时候有另一个任务或者中断来访问这个资源,则会导致数据损坏或是其它相似的错误。
软件定时器简介软件定时器的作用:在指定的时间到来时执行指定的函数,或者以某个频率周期性地执行某个函数。被执行的函数叫做软件定时器回调函数。软件定时器由 FreeRTOS 内核实现,不需要硬件支持。软件定时器只有在软件定时器回调函数被调用时才需要占用CPU时间。提醒:软件定时器回调函数是在软件定时器任务中被执行的,这个任务是在vTaskStartScheduler()函数内部由内核自动创建的。不要在回调函数中使用一些导致任务阻塞的函数或代码,例如vTaskDelay(),否则会导致 FreeRTOS 后台任务进入到阻塞状态。而且应该尽量让定时器回调函代码简洁高效快速执行。
创建软件定时器12345TimerHandle_t xTimerCreate( const char * const pcTimerN ...
INA199 & ADS1115 & TL431 硬件设计指南
INA199 & ADS1115 & TL431 硬件设计指南知识回顾高侧电流采样在高侧电流采样中,采样电阻靠近电源正端。这种方式需要有支持高压的放大器,因为采样电阻在高侧 MOS 和直流电源电压之间,使放大器的输入端始终有高电压。因此并不常见。并且只有在相应的 MOS 开启时,通过采样电阻的电流才是相电流。所以无论是高侧电流采样还是低侧电流采样都需要注意 PWM 和 ADC 之间的同步。优点:
可检测负载是否短路
无地电平干扰
缺点:
共模电压高,使用非专用分立器件设计较复杂、成本高、面积大
低侧电流采样在高侧电流采样中,采样电阻靠近地一侧。由于采样电阻在低侧 MOS 和地之间,保证了运放输入端的低电压。
优点:
共模电压低,可以使用低成本的普通运算放大器
缺点:
检流电阻引入地电平干扰,电流越大地电位干扰越明显,有时甚至会影响负载
相线电流采样在相线电流采样中,采样电阻串联在电机相线上,因为电感中的电流不会突变,所以无论 PWM 占空比的状态如何,采样到的电流都是连续稳定的,检测的电流始终都是电机相电流,不需要注意 PWM 和 ADC ...
ESPIDF-通讯外设
ESPIDF-通讯外设SPISPI资源ESP32集成了4个SPI外设。
SPI0和SPI1通过总线仲裁器共享一条信号总线,用于在模组内部访问FLASH(SoC FLASH),不对用户开放。
SPI2和SPI3是通用SPI控制器,有时也被称为HSPI和VSPI。它们拥有独立的信号总线,每条总线都有三条片选(CS)信号,也就是说每个控制器都能驱动最多3个SPI从器件。这两个SPI控制器对用户开放。
SPI类型 esp32的SPI支持三线SPI、四线标准SPI、Dual SPI和Quad SPI等工作模式。
四线标准SPI四线标准SPI由SCK、MOSI、MISO、CS四根线组成。四线标准SPI是全双工的通讯。
名称
功能
SCLK
时钟线,决定着通讯的速度
MISO
主输入从输出。主机输入,从机输出
MOSI
主输出从输入。主机输入,从机输入
CS
片选线。当片选线被拉低总线有效,可以开始通讯
三线SPI三线 SPI 把 MISO 和 MOSI 总线进行了合并。同一时间只能进行单方向的读或者写。是半双工的通讯。
Dual SPI Dual SPI是四线半双工 ...