ESP32
嵌入式
- 特定功能:嵌入式是为了完成特定的物理功能,如温度捕捉、机器人。
- 特定组合:通过小巧的不可修改的硬件、软件,协同后直接发布。后期,不太好修改硬件或者软件(可以修改,但一般不会主动修改)。
- 一次成型:很难进行二次改造。因为组合比较特定,硬件和软件之间的 api 都是私有的,无法迁移。
ESP32
它本身是芯片,台积电加工,40 纳米制程 (中国应该也能造了)。
官方提供了主板,即芯片 + 板 + 辅助硬件,产品名如 ESP32-devkit-6 等。
开发人员可以在主板上进行开发工作。
开发流程:
- 部署环境。官方已经支持 mac、linux、window 下的 IDE 开发。
- SDK。官方提供完善的 SDK 和 Api。Api 可以控制 LED、摄像头等大量硬件。
- 开发 & 测试。通过 IDE 编写完代码,可将生成的 二进制 bin 文件上传到 ESP32 中,并完成运行。
- 硬件输出:如果有 LED 等,代码中可以控制针脚,完成高低电平的设定,可以看到效果。
- 软件输出:可以在 IDE 中看到 ESP32 print 的 值。
原理:
- ESP32 是完全的芯片,无 OS,所以只能无脑的执行指令。因配置较弱,只能执行编译好的非常小巧的二进制 bin 文件。
- 在启动后,主动执行 boot 引导的 bin 文件。
- 没有很好的内存管理,必要的使用,需要自己进行内存控制。
周边:
- 通过 ESPHome,可以不用写代码,仅仅使用别人写好的软件,自己增加一些 yaml 配置,即可编译一个完善的 bin 出来。可以控制家里的 小米扫地机 等。
局限性:
一个 ESP32 或者 主板,只能支持一个 bin 文件的执行。启动后,默认加载指定位置的 bin 文件,且只有 1 个。(相当于 pc,启动后 boot 引导操作系统。这里引导烧录的 bin 文件)
树莓派
性能强劲的计算机,但尺寸小、耗电低,适用于复杂一些的嵌入式场景。