用户可通过编辑并运行生成器脚本来创建自定义的航拍图像条带,并让其在屏幕上滚动播放。起始位置、结束位置以及缩放级别参数控制着航拍路线的直线路径和视觉细节。
车规项目里Python不是“上车跑控制”的语言,而是做原型验证和测试比对最快的那一层。硬实时控制最终落在车规MCU的C代码上,Python负责建被控对象模型、跑MIL、生成黄金数据、做回归比对。 协同的正确姿势是:Python里先把控制逻辑和参数跑通,再把核心算法提取成可移植C模块,最后用同一套测试向量验SIL/PIL/HIL。
边缘节点跑Python,第一件事是划边界:PLC负责联锁和执行,Python只做采集、清洗、特征提取、本地告警。 别在Python里直接写输出继电器,网络一断控制逻辑就悬空。正确模型是“边采边洗、本地判异、断网缓存、恢复补传”。
这延续了我之前的文章《别向机芯展示世界——让它自己写一个》:机芯不应被直接“展示”给外界,而应由它自行书写。这一次,我记录的是将这个“写出来的世界”施加了一点压力的过程。
车间多台PLC做数据采集,不一定要上SCADA网关。Python装好协议库后,通过以太网直连Modbus TCP、S7、Ethernet/IP,或用串口直连Modbus RTU,把寄存器、DB块、标签统一成点表,定时批量轮询、本地缓存、统一上送MES/时序库,边缘盒子即可替代硬件网关。
本项目展示了如何从 Digilent Arty Z7 FPGA 板的 XADC 获取模拟数据,并在运行于 Windows 电脑上的 LabVIEW 中显示。FPGA 与 LabVIEW 之间的通信通过自定义硬件接口实现,可实时可视化模拟输入信号。
该系统采用平行四边形结构的四自由度机械臂(MeArm),能够通过网络摄像头识别工作区上的物体(彩色球体),计算其毫米级真实坐标,并控制机械臂抓取并将其放置到预设的“投放区域”。软件使用Python编写,通过串口或蓝牙低功耗(BT-24模块)与微控制器(Arduino R3)通信。
该项目将两个StackChan单元(基于M5Stack CoreS3的小型桌面机器人)转变为一对语言学习的对话伙伴。其中一个单元扮演店员,另一个扮演游客,两人轮流进行一段预设的对话——例如在一家台湾便利店的对话,全程使用台湾闽南语,并配有屏幕字幕显示原文、发音以及日文翻译。场景不仅限于台湾闽南语。由于整个对话内容——包括语言、角色、声音和台词——都定义在外部的YAML文件中,只需在启动时更换传递的YAML文件,同一系统便可运行日式居酒屋点餐场景、日本二人喜剧表演(manzai)或一段关于外星人只能说“是”或“否”的英语喜剧小品。
嵌入式C代码中,缓冲区溢出、未初始化变量、空指针解引用等漏洞是导致设备死机或安全入侵的主要根源。人工代码审查依赖经验且容易疲劳,而商业静态分析工具价格昂贵。用Python编写轻量级静态分析脚本,可以快速扫描C源码中的高危模式,在代码合入前拦截大部分常见缺陷。本文介绍三种实用方法,并提供可直接运行的代码片段。
嵌入式设备的测试长期依赖人工操作——烧录固件、观察串口输出、比对预期结果,重复性极高且容易遗漏边界情况。用Python搭建一套自动化测试框架,可以将这些重复劳动标准化,实现批量执行、结果断言和HTML报告生成。本文展示一个轻量级框架的完整实现,适用于串口通信的嵌入式产品(如DTU、传感器节点、工控板)。
嵌入式产品的开发痛点往往是:硬件还没定型,需求还在变动,但老板想尽快看到效果。如果用C语言从头写固件,每次修改都得编译、烧录、调试,一天改不了几次。更合理的做法是:先用Python在PC或单板计算机上快速验证产品逻辑,确认功能正确后,再将核心算法移植到C语言,部署到目标MCU上。这种“Python原型 + C量产”的模式,能将产品定义阶段的迭代速度提升5倍以上。
在物联网系统中,单一语言往往难以兼顾底层硬件控制和上层业务逻辑。Python擅长快速开发、数据处理和AI推理,但在高并发后端服务和企业级集成方面力不从心;Java则以稳定、可扩展的生态著称,但直接操作硬件寄存器效率低下。将两者协同——Python负责边缘端的数据采集和预处理,Java负责云端的数据汇聚、业务逻辑和API服务——是构建完整物联网链路的理想组合。本文以一个智能温湿度监测系统为例,展示从ESP32传感器采集到云端看板的完整链路。
嵌入式开发中,C语言是底层硬件控制的主力——直接操作寄存器、处理中断、管理内存。但C语言在数据分析、可视化、快速原型方面效率低下。Python恰好相反:开发效率高、生态丰富,但无法直接访问硬件。将两者结合,用C编写硬件驱动层,用Python编写业务逻辑和数据处理层,是嵌入式产品开发的高效模式。本文以树莓派GPIO控制为例,演示如何通过Python的ctypes库调用C编写的硬件操作函数,实现底层控制与上层数据分析的分离。
在工业自动化现场,PLC、变频器、温控仪、智能电表等设备几乎都支持Modbus协议。过去对接这些设备通常使用C/C++或专用组态软件,开发周期长且调试不便。Python凭借pymodbus库,可以在几分钟内搭建一个功能完备的Modbus主站,实现对从站寄存器的读写。本文以Modbus TCP为例,演示从环境搭建到实际数据采集的全流程。
提到嵌入式开发,很多人第一时间想到C、汇编和Makefile。但Python正以惊人的速度渗透进这个领域——不是因为它能替代C写驱动,而是在测试、原型验证、数据处理等环节,Python的开发效率远超传统工具。本文梳理5个最实用的场景,每个都附带可直接运行的代码片段。
OCA最初是一个实用工具,旨在让我的CAN总线项目开发更加轻松。我决定将其发布为开源项目,以便开发者、学生和嵌入式系统专业人士可以使用它,研究其工作原理,并贡献改进。
在本节中,您将学习如何通过Python应用程序,使用UART串行通信协议,将独立的微控制器(如8051(AT89S51或W78E052DDG)、MSP430或PIC16F系列)与PC连接并进行数据交换。
PCB设计完成后,走线宽度是否符合工艺规则是制板前的硬门槛——电源线要求20mil以上、信号线8mil、差分对5mil,任何一个违规都可能导致短路或断路。人工肉眼检查几十上百条走线既费时又容易漏,而Python配合Altium文件解析库可以一键扫描整个板子,把违规项列成表格。下面以开源库py-altium为例,展示如何批量识别Altium Designer的.PcbDoc文件中的走线宽度违规。
产线测试、实验室老化、器件筛选——这些场景里,"手动点按钮→读数据→记 Excel"的方式已经跟不上节奏了。Python + PyVISA 是目前最通用的仪器控制方案,支持 Keysight、R&S、Tektronix、Keithley 等主流品牌的万用表、示波器、电源、电子负载。下面以一个实际案例——用 Keithley 2400 源表批量采集 100 个点的 IV 曲线——演示完整流程。
我通过SSH连接到树莓派,并运行了两个自行编写的Python脚本:一个用于测试IMX500+CPU推理和USB摄像头+CPU推理,另一个用于测试IMX500+传感器内推理。同时,我还测试了reCamera。