新闻详情

新闻详情

首页 / 资讯中心 / 详情

Python嵌入式开发实战:从MCU原型到Linux应用与AI边缘计算

发布时间:2026/9/6 10:05:42来源:尧图网络
Python嵌入式开发实战:从MCU原型到Linux应用与AI边缘计算
作为一个常年跟硬件打交道的嵌入式工程师我几乎每周都能在社区或群里看到有人抛出一个问题Python能做嵌入式开发吗每次这个话题都会引发一波激烈讨论有人说性能不行、实时性不行、内存不够有人直接用一块三十块钱的ESP32点起了灯、刷起了温湿度传感器跑得不亦乐乎。事实是Python不仅能做嵌入式开发而且它已经形成了一套相当完整的生态和玩法关键在于你是否选对了战场。这篇文章不打算站队我把自己这些年用Python做硬件、做上位机、做工具链、给MCU写逻辑的真实体验和踩坑经验全部摊开给想入手的动手派们画一张尽可能完整的地图方便你对号入座找到适合自己的路径。先说明这篇内容适合谁。如果你是刚入行或准备转行做嵌入式开发的学生、硬件工程师想知道Python在哪些环节能帮你提升效率或者你已经在用C写固件想看看Python能在工具链、自动化测试、原型验证上给你省多少事又或者你纯粹是个DIY爱好者想用Python控制摄像头、传感器、屏幕这类硬件——这篇文章都值得看下去。我不推荐任何一套放之四海而皆准的方案因为嵌入式开发的场景太多变了我会把不同路线对应的板卡、工具、坑和心得都给到你你可以在目录里直接跳到自己关心的部分。1. 先泼冷水再喂糖Python在嵌入式里的真实定位1.1 为什么Python在嵌入式圈子总被质疑每次说到Python做嵌入式总有人第一时间跳出来说“Python速度慢、吃内存怎么跑在单片机上”“实时性差做个电机控制不得炸了”这些质疑站在特定场景下其实都是成立的。Python作为解释型语言确实没法做到C语言那种对硬件资源的精确掌控。C代码编译之后直接跑在寄存器级别中断响应是纳秒微秒级Python的解释执行和动态类型开销摆在那里同样的操作可能慢几十倍。如果你要做一个要求微秒级响应、功耗低到μA级别、内存只有几KB的蓝牙遥控器Python的确不是一个合理的答案。但问题的关键不在于Python“快不快”而在于你定义的“嵌入式”到底是哪一种。很多人一说到嵌入式就默认是8位单片机或者Cortex-M0级别的裸机开发资源以KB为单位。但实际上嵌入式系统是一个巨大的连续谱从几十KB内存的MCU到几百MB内存、跑着完整Linux的ARM主板再到工控机和机器人都属于嵌入式范畴。在这个连续谱上Python找到的位置远比许多人以为的要宽。1.2 Python真正能打的四个位置我自己做过的项目里Python在嵌入式领域承担过四种角色每一种都对应不同的硬件形态和工程目标。第一个位置是MCU上的快速原型验证典型代表是MicroPython运行在ESP32、RP2040、STM32这类芯片上。它适合的场景是功能验证、交互测试、教学演示、DIY项目。当你想快速验证一个传感器的数据读取是否正常、一个IoT上报链路是否通、一个状态机逻辑是否合理的时候用MicroPython写几十行代码就能跑起来不需要管复杂的编译链和IDE配置。第二个位置是嵌入式Linux上的应用层开发这也是Python最成熟的嵌入式阵地。现在大量设备主控其实是一块Linux开发板像树莓派、香橙派、Jetson、瑞芯微的RK系列等。在这些板子上跑的Python就是我们熟悉的CPython可以用的标准库、第三方库几乎是全量的。你的代码可以调用系统级接口去操作I2C、SPI、GPIO也可以直接用Web框架做一个本地配置页面。很多工业设备、边缘网关、图像识别终端核心业务逻辑就是Python写的。第三个位置是PC或工控机上的上位机与工具链。嵌入式开发不只是写固件还有大量配套工作设备烧录脚本、产测工具、串口调试助手、上位机监控界面、数据处理分析。这些用Python写再合适不过了开发效率极高跨平台方便。我见过很多团队用PyQt写设备校准界面用pyserial做批量烧录验证用pandas分析采集回来的传感器数据。第四个位置逐渐热门就是AI与边缘计算的结合点。过去部署AI模型到嵌入式设备往往要用C和专用的推理库过程繁琐。现在很多边缘计算平台支持Python直接调用硬件加速接口比如在瑞芯微RK3588上用Python写AI视觉应用通过Rockchip的NPU接口做硬件推理开发效率相比C提升非常明显。模型训练阶段本来就是Python的天下推理部署阶段也开始接纳Python这给嵌入式工程师省下了一大段学习成本。1.3 会Python能入行嵌入式吗这个问题我直接给出答案Python能让你更容易入门嵌入式但不能只靠Python吃饭。刚起步时你可以用MicroPython体验硬件控制建立对GPIO、PWM、I2C、UART这些概念的感觉这是很好的第一步。但真正的嵌入式开发尤其是设备驱动、低功耗设计、实时控制、量产优化这些高价值环节核心语言依然是C和C。Python之于嵌入式更像是一把瑞士军刀能帮你快速完成大量周边工作但真正撬动硬件核心的那根杠杆还是C语言。这话不是泼冷水而是希望你别走弯路。我看到太多人学了一堆Python结果连指针和内存地址的概念都不清楚遇到嵌入式岗位面试题直接懵。嵌入式的知识结构应该是一棵以硬件原理和C语言为根的树Python是长在树冠上的一根粗壮枝干用它来开花结果但树干必须扎实。2. 生态全景图MicroPython、CircuitPython与嵌入式Linux三分天下2.1 三类运行时生态对比要把Python嵌入式的生态看清楚我习惯先分成三层来看MCU级别的MicroPython、创客向的CircuitPython、以及系统级的CPython on Linux。这三个生态虽然都写着Python但使用体验和技术栈差异非常大。MicroPython是Damien George在2013年发起的开源项目目标就是让Python能在资源有限的MCU上运行。它经过高度裁剪不再包含CPython的标准库全量而是实现了Python 3语法的一个子集同时提供了machine模块来操作GPIO、ADC、PWM、I2C、SPI、UART这些硬件外设。它对硬件资源的要求可以低到几百KB的Flash和几十KB的RAM像STM32F411这类板子就能跑得比较顺。CircuitPython则是由Adafruit推动的MicroPython分支侧重点在创客教育和传感器即插即用上Adafruit推出了大量配套的传感器库哪怕你不懂电路原理也能在几分钟内让一个传感器出数据。而嵌入式Linux上的Python就是大家日常使用的CPython。它跑在完整的操作系统之上可以访问文件系统、网络协议栈、各种驱动接口。这种模式下Python的生态优势被完全释放你可以在树莓派上装OpenCV做图像识别用Flask搭一个设备网页控制台用Django做设备管理后台开发速度和软件功能强大程度是MCU级别Python完全没法比的。这句话经常有人问值得反复强调MicroPython不是拿来替代C的它是拿来替代那些原本很繁琐的C开发流程的一种加速器。你的产品量产版可能用C写但原型验证和测试工具完全可以用MicroPython。2.2 主流芯片和开发板支持现状在实际选型时我会优先推荐以下几类支持Python的板卡覆盖不同需求硬件平台运行时定位参考价格区间ESP32 / ESP32-S3MicroPython带WiFi/BLE的IoT开发性价比极高20-80元树莓派Pico / Pico WMicroPython入门学习首选文档丰富RP2040双核15-60元STM32系列(F4/H7等)MicroPython工业级外设丰富适合传统硬件工程师30-200元nRF52840系列MicroPython / CircuitPython低功耗BLE应用50-150元树莓派4/5CPython on Linux完整嵌入式Linux开发生态最全200-500元香橙派/瑞芯微RK系列CPython on Linux国产开发板带NPU适合AI边缘计算100-400元Adafruit系列板卡CircuitPython创客教育、传感器快速验证50-200元乐鑫的ESP32系列是我最常推荐的MicroPython平台。它自带WiFi和BLE价格便宜到可以当消耗品用社区资料几乎覆盖一切你想得到的场景。ESP32-S3这颗芯片有充足的Flash和PSRAM选项跑MicroPython绰绰有余。RP2040作为树莓派官方出品的微控制器双核Cortex-M0性能中规中矩但MicroPython固件质量很高Pico板子的文档写得极为出色非常适合作为第一块板子。STM32在实际项目中依然是统治级的存在MicroPython对STM32的支持也相当成熟不过因为STM32本身没有无线能力做IoT项目时往往需要外接WiFi模块调试复杂度会高于ESP32。嵌入式Linux这边树莓派依然是文档和社区最完善的选择但也有越来越多国产板卡在不断追赶。如果做AI视觉方向瑞芯微RK3588这类带NPU的板子很值得关注Python可以直接调用NPU接口做硬件加速推理在热词里出现的“rockchip硬件解码”就属于这类能力用Python的opencv-python配合硬件解码接口可以实现流畅的视频处理这在很多边缘计算项目中极其实用。2.3 驱动、库、协议栈现成的轮子有哪些做嵌入式开发最怕的是硬件手册看半天代码还要从头造轮子。Python生态在这方面有一个巨大优势现成的驱动库和协议栈非常多。MCU级别的MicroPython自带machine模块把常用外设都封装好了比如machine.Pin控制IO口machine.I2C和machine.SPI连接传感器machine.Timer做定时任务。配合network模块ESP32可以很容易地连WiFi、建立Socket连接。传感器驱动方面Adafruit CircuitPython的库是最丰富的几乎市面上常见的传感器都有对应的CircuitPython驱动这些驱动只要不是用了太特殊的API也基本可以直接在MicroPython上移植使用。协议方面MicroPython支持MQTT、HTTP、WebSocketBLE也有低功耗蓝牙接口LoRa、Modbus、CAN总线等工业场景协议在对应板卡上也有成熟方案。如果你在做一个设备需要上报到云平台通常用MQTT协议就够用了Python端umqtt.simple库几行代码就能搞定发布订阅。嵌入式Linux上的轮子就更不用多说了。PySerial处理串口通信python-can操作CAN总线smbus2操作I2C是标准操作GPIO库有RPi.GPIO和gpiodSPI有spidev。GUI方面有PyQt、Tkinter、LVGL的Python绑定做显示界面绰绰有余。用Python开发嵌入式应用绝大多数情况下你不需要从头实现协议拿来主义就能解决80%的问题。2.4 VSCode集成Claude Code写MCU代码AI辅助嵌入式开发新姿势聊到生态不能不提最近火起来的AI辅助开发。热词里出现的“vscode集成claude code 开发嵌入式mcu代码工程”正好戳中了嵌入式开发者的痛点。用Python做嵌入式流程上比C要轻快但代码编写依然有大量重复劳动比如初始化外设、写传感器驱动、解析数据手册时序这些活儿AI确实能帮上忙。我实际试用下来的感受是在VSCode里配置好Claude Code之后你只需要告诉它你用的芯片型号、传感器型号、接线引脚它就能生成一份可以跑的MicroPython初始化代码。比起对着几百页的数据手册翻时序图这种效率提升是很明显的。用Python做工程AI的生成质量明显比C高因为Python代码本身抽象层次高AI对MicroPython API模式的学习比C寄存器操作要容易得多。但这里必须说清楚AI生成的代码不能无脑信任。我踩过的坑是AI经常高估了MicroPython特定版本API的可用性它可能生成一个在PC上能跑的Python脚本但烧进板子后提示模块不存在。所以我的建议是把AI当作结对编程的搭档让它负责快速输出第一版然后你用machine模块的文档和电路原理图去核对关键部分最重要的是板子上实际跑一遍。3. 动手实操从零开始跑起一个Python嵌入式项目3.1 硬件准备与板卡选型建议文章前面已经给了选型表格如果你现在有点选择困难我的个人建议就是直接买一块 ESP32-S3-DevKitC-1 或者 树莓派Pico W两者任选其一即可。ESP32-S3的优势是自带WiFi/BLE做IoT项目不用外挂无线模块一个板子就能玩出花来。树莓派Pico W的优势是文档清晰、低功耗表现好、GPIO充足适合打基础。除了主板你还需要准备一根支持数据传输的USB线。很多人会在这一步翻车手头的USB线只能充电不能传数据导致板卡无法被电脑识别排查半天才发现是线的问题。建议直接买两根带磁环、注明高速传输的USB线。传感器方面建议先买一个DHT22温湿度传感器一两块钱和一个BME280温湿度气压传感器几块钱这两个都是最常见的调试对象驱动资料多出问题的概率低。再准备几根杜邦线、一块面包板硬件基础就基本齐了整体投入控制在100元以内。3.2 MicroPython环境搭建与固件烧录万事开头难环境搭建是第一道门槛。先在你的电脑上安装一个Python 3.10以上的版本这一步在Windows、macOS、Linux上都是直接去官网下载安装包即可。注意安装时勾选“Add Python to PATH”选项省得后面在命令行里找不到python。之后你需要安装烧录工具。ESP32系列一般用esptoolRP2040则用官方的UF2拖拽烧录方式即可反而最简单。以ESP32-S3为例完整流程如下# 安装烧录工具 pip install esptool # 擦除芯片原有固件换成最新的MicroPython固件 esptool.py --chip esp32s3 --port COM3 erase_flash # 写入MicroPython固件 esptool.py --chip esp32s3 --port COM3 write_flash -z 0x0 ESP32_GENERIC_S3-20240602-v1.23.0.bin端口号在Windows上需要在设备管理器里查通常是COM口macOS和Linux下一般是/dev/ttyUSB0或/dev/ttyACM0。写入完成后板子重启就会进入MicroPython的交互式解释器REPL通过串口终端比如PuTTY、Thonny自带终端连接上去你会看到提示符此时你已经可以在Python里控制硬件了。我强烈建议第一次上手的读者不要用IDE直接用命令行交互方式体验一下REPL这是Python值得体验的关键。输入一行import machine再输入一行pin machine.Pin(2, machine.Pin.OUT)接着pin.value(1)你会看到板载LED亮起来那一刻会有种“硬件原来这么容易被软件控制”的强烈感受。3.3 点灯之外写一个带传感器读取、WiFi连接和MQTT上报的完整小项目点灯只是打招呼真正的项目至少要有一个闭环能采集数据、能传输数据、能远程看到数据。我以ESP32-S3读取DHT22传感器并通过MQTT上报为例给你一份可以完全照抄的代码框架。import machine import dht import network import time from umqtt.simple import MQTTClient # 初始化DHT22接在D4引脚上 d dht.DHT22(machine.Pin(4)) # 连接WiFi wlan network.WLAN(network.STA_IF) wlan.active(True) wlan.connect(你的SSID, 你的密码) while not wlan.isconnected(): time.sleep(0.5) # 连接MQTT broker client MQTTClient(esp32_client, 192.168.1.100, port1883) client.connect() while True: try: d.measure() temp d.temperature() humi d.humidity() payload {temp: %d, humidity: %d} % (temp, humi) client.publish(sensor/dht22, payload.encode()) print(published:, payload) except OSError as e: print(sensor read error:, e) time.sleep(10)这段代码的流程很简单初始化传感器、连WiFi、连MQTT、循环读取数据并发布。你在PC端用一个MQTT订阅工具比如mosquitto_sub命令或者MQTTX图形工具订阅sensor/dht22这个主题就能实时看到远程上报的温湿度数据。这个项目虽然小但它包含了嵌入式IoT项目最核心的基本框架外设采集、无线连接、协议通信。后续无论要接什么传感器、上什么云平台套路都是一样的。你甚至可以把MQTT broker换成云端的公共broker这样手机分分钟就能收到数据。3.4 把原型做成工程目录结构、部署脚本与简单测试MicroPython项目写大了之后光靠在REPL里敲代码肯定不行。我建议把项目当成一个正经工程来组织。典型的MicroPython工程目录长这样project/ ├── boot.py # 上电启动逻辑一般用来做硬件初始化 ├── main.py # 程序主循环autoexec入口 ├── config.py # 配置项比如WiFi SSID、MQTT地址 ├── drivers/ │ ├── __init__.py │ └── dht22.py # 传感器驱动封装 ├── app/ │ ├── __init__.py │ └── mqtt_publisher.py └── tests/ └── test_config.py日常开发中我会用mpremote这个命令工具来管理板子上的文件。它支持从本地上传文件夹到板子、运行板子上的脚本、交互式访问REPL非常方便。# 安装mpremote pip install mpremote # 连接板子并运行main.py mpremote connect /dev/ttyUSB0 run main.py # 将整个项目同步到板子 mpremote connect /dev/ttyUSB0 cp -r project/ :把代码组织好、用工具部署好后还有个经常被忽略的环节单元测试。MicroPython板子上跑测试比较费劲我的做法是把纯逻辑代码比如协议解析、数据格式化、状态判断写成一个不依赖硬件模块的.py文件然后在PC上用CPython直接跑unittest。这样既测试了核心逻辑又不会受硬件环境限制。硬件相关的部分再单独在板子上做冒烟测试。工程化这件事在嵌入式项目里尤其容易被忽略但它决定了你的代码是“能跑”还是“能交付”。一旦代码超过几百行没有一个清晰的目录结构和测试手段调试成本和维护成本会呈指数级上升。3.5 混合架构实战让Python和C/C各司其职现在聊聊一个更具实战参考价值的话题在真实产品里Python和C/C如何分工。我自己做过一个物联网网关项目最终方案是C语言固件负责底层采集和实时控制Python负责上层的配置界面、数据上报和OTA升级逻辑。板子上跑的是嵌入式LinuxC程序直接操作GPIO和串口Python进程通过共享内存或Socket与C程序通信。这种混合架构的分工逻辑其实很简单追求确定性、低延迟、高可靠的部分比如电机控制、信号采集、中断处理必须放C业务逻辑频繁变更、需要快速迭代的部分比如配置管理、协议组包、云端交互放Python更合适。Python侧和C侧之间定义一个清晰的接口用JSON或者简单的二进制协议进行通信两边都可以独立变更。还有另一种混合方式在用MicroPython的MCU项目里通过编写自定义C模块来扩展性能瓶颈。MicroPython本身支持用C写扩展模块把它编译进固件或者以.mpy方式加载。这样你可以把计算密集型的算法比如复杂的滤波用C实现在Python里像调用普通函数一样调用它既保住了Python的开发效率又解决了性能问题。不过这种玩法有门槛需要你对MicroPython的内部对象模型有一定了解不是入门阶段该碰的东西但知道这个方向存在会对你日后的架构选择有很大帮助。关于热词里的“设备台账与软件授权(硬件指纹)”这也是Python在嵌入式侧的一个典型应用。你可以用Python读取MCU的唯一ID、MAC地址或者某个芯片内建的唯一序列号哈希之后生成一个设备指纹然后把设备台账登记到管理系统再配合时间戳和密钥生成授权码。Python在这个场景下开发速度极快几行代码就能拿到硬件指纹非常适合用来做小批量设备的授权管理原型。涉及真正高安全等级的场景再考虑把核心算法和服务端验证做加固。4. 踩坑记录与实用排查技巧4.1 性能不够、实时性不足怎么补救第一个绕不开的坑是性能和实时性。MicroPython比C慢这是客观事实但很多情况下我们其实可以接受。如果只是读取温湿度传感器、上报数据、控制一个继电器每秒甚至每十秒有一个操作周期MicroPython完全够用。真正出现问题的是逻辑里有高频循环、大量运算或频繁分配内存的场景。遇到性能瓶颈我的排查顺序是先用time.ticks_us()统计具体哪一段代码耗时最多然后看能不能从算法层面优化减少不必要的对象创建用machine的底层接口替代高层的抽象库。如果还不够就把热点计算移到C扩展模块或者重新评估方案这个操作一定要在MCU上做吗能不能把原始数据丢给上位机Python去算实时性需求则要分清楚边界。硬实时任务比如电机PWM波形的精确控制、电流环采样永远不要用Python做老老实实放C或直接让硬件外设通过DMA完成。软实时任务比如每100毫秒采集一次温度、状态机轮询MicroPython能胜任尤其是ESP32、STM32这类主频较高的MCU。4.2 内存不足与GC卡顿单片机环境里内存永远是稀缺资源。MicroPython运行时会维护一个堆区对象创建和销毁都会在这里发生内存碎片和垃圾回收卡顿是常见问题。现象就是程序跑着跑着突然卡一下或者直接报MemoryError。先用固定命令查看内存状态import gc; gc.mem_free()和import micropython; micropython.mem_info()。日常排查重点看两个方向一是是否频繁创建大型对象比如在循环里不断拼接长字符串这个操作在Python里是非常吃内存的应该改成bytearray预分配或format合并二是是否加载了过大的数据文件在8MB Flash的板子上加载一个几MB的JSON文件直接就会把内存榨干。另一个思路是启用微Python的跨文件模块编译功能把.py文件预编译为.mpy格式既能加快加载速度也能减少运行时内存占用。更极端的情况下可以自己定制固件裁剪掉用不到的模块给堆区腾出更多空间。4.3 USB无法识别、驱动报错和固件刷错的急救指南环境搭建阶段最让人崩溃的问题就是板子插上电脑却没反应或提示“windows 无法验证此设备所需的驱动程序的数字签名”。这个问题在Windows上非常普遍尤其是使用一些免驱USB转串口芯片时。第一步先换USB线、换USB接口排除物理层问题。第二步检查设备管理器里是否出现未知设备如果出现了未知设备但加载失败大概率是缺少对应的USB转串口驱动。ESP32和树莓派Pico用的都是板载USB通常不需要额外驱动但如果用的是CH340这类USB转TTL芯片就得去芯片官网下载对应驱动。Windows驱动签名报错的问题可以通过禁用强制签名或更新到新版本驱动解决这一步网上教程很多照着操作即可。官方方案选择正确的话固件烧错基本不会变砖。ESP32进入下载模式只需要按住BOOT键再插USB然后重新烧录正确固件即可。RP2040更简单按住BOOT键插入USB会弹出U盘直接把固件文件拖进去就完成烧录。如果你是真的把引导程序也覆盖了那就可能需要用JTAG工具恢复这种极端情况基本只在手滑时发生。4.4 Python嵌入式项目的工程化与授权、台账经验当你的Python嵌入式项目从原型走向部署很多工程管理问题会浮出水面。代码版本管理、日志系统、升级策略、设备标识和授权管理这些都是绕不开的。日志方面我建议在代码里使用统一的日志输出前缀比如[INFO]、[ERROR]、[SENSOR]然后配合串口监控工具抓取关键词过滤。如果有设备远程维护需求日志和状态可以定时上报到MQTT或云端这样运维时可以远程看到设备健康度。设备标识和授权方面用Python读取硬件指纹的思路前面已经提到过。一个完整的实现是先读取MCU唯一 ID再生成一个带有效期、功能权限的加密授权码。这里的核心要点是设备端要防篡改授权码不能是简单的可逆编码建议用HMAC算法配合设备内预置的密钥做签名验证。如果担心密钥会被破解可以考虑使用安全芯片或MCU安全存储区域把签名验证逻辑放到C底层实现Python只负责业务逻辑调用。随着设备数量增多设备台账的重要性也会突显。每一块硬件都应该有唯一标识和软件授权绑定这个台账系统完全可以用Python SQLite或MySQL快速搭建再配上PyQt做个简单的管理界面一套轻量级别的设备管理与授权系统就成型了。4.5 什么时候该果断放弃Python切回C/C最后聊一个容易让人纠结的话题项目到什么阶段应该从Python切回C/C。我的判断标准有三条满足任何一条都要认真考虑切换。第一量产成本和性能要求。当产品要大批量出货时MicroPython固件需要额外占用Flash和RAM这会直接推高芯片选型成本和功耗预算。如果一颗8毛钱的MCU能搞定的事情没必要为了Python多花2块钱去买大容量芯片。第二实时性和安全性要求。涉及安全认证比如汽车电子、医疗设备的嵌入式系统对代码的确定性和可审计性要求极高解释型运行时几乎不可能通过认证这时候必须用C。第三维护团队的技术栈。如果后续维护者是纯C工程师你交付一套MicroPython代码他的心理阴影面积会非常大。但这不代表Python此前的工作是白费的。用Python完成原型验证、工具链搭建、测试脚本编写这些成果在整个产品生命周期里都有价值。我的经验是Python承担“探索”的角色C承担“交付”的角色两者在时间线上完美配合很多项目其实是由这套组合拳推着往前走的。我自己最享受的阶段恰恰是Python原型那段想法到手、代码跑通、LED闪烁、数据上传那种即时反馈的爽感和成就感是埋头写两个月C之后才看到外设工作时的快乐完全不同的。所以我给动手派的最终建议是不要纠结Python该不该用而要思考它能在哪个环节帮你更快、更准地到达目标。从一块几十块钱的开发板开始写第一行machine.Pin代码连上第一个WiFi让第一个数据包飞出去你会逐渐感受到这条路的独特魅力。嵌入式开发的世界很大Python和C从来都不是二选一而是你工具箱里各司其职的工具用对了什么都顺。
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

星闪NearLink开发板WS63V100实战:从环境搭建到点对点通信 2026/9/6 10:44:48

星闪NearLink开发板WS63V100实战:从环境搭建到点对点通信

事情得从一块板子说起。我拿到星鸿派 WS63V100(也叫 Hi3863 星闪开源开发板)的时候,第一反应是:星闪(NearLink)这个协议念叨了好几年,终于有了一块像样的、能直接上手玩的开发板。过去搞短距无线…

阅读更多 →
损耗测试结果与出厂值偏差大但设备运行正常是什么原因(二) 2026/9/6 10:44:48

损耗测试结果与出厂值偏差大但设备运行正常是什么原因(二)

拿到损耗测试结果后,发现数值与出厂值偏差不小,但变压器在运行中并没有表现出异常——温度正常、噪音正常、保护装置也没有动作。这种“测试数据不好看、设备运行却正常”的矛盾,常常让运维人员感到困惑。偏差的原因不一定来自变压器本身。测…

阅读更多 →
Dify实战:从部署到RAG知识库与工作流编排的完整指南 2026/9/6 10:44:48

Dify实战:从部署到RAG知识库与工作流编排的完整指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
动画制作技术解析:从鬼灭之刃看特效合成与视觉叙事 2026/9/6 10:44:48

动画制作技术解析:从鬼灭之刃看特效合成与视觉叙事

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
标定板分辨率指标深度解析:从特征精度到源头厂家选型指南 2026/9/6 10:44:48

标定板分辨率指标深度解析:从特征精度到源头厂家选型指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
嵌入式Linux下Modbus RTU串口通信开发实战:从原理到代码 2026/9/6 10:41:48

嵌入式Linux下Modbus RTU串口通信开发实战:从原理到代码

1. 背景与项目目标1.1 为什么要在嵌入式Linux上做Modbus开发这两年工业物联网和智能硬件的项目越来越多,传感器数据的采集成了嵌入式开发者的必修课。很多项目从单片机平台迁移到嵌入式Linux平台,原因也很直接:Linux上有文件系统、有网络协议…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞