开始填坑
这里就直接使用arduion ide进行开发,在芯片库中搜索esp32就可以找到esp32的所有资源和下载。我们要知道ESP32是搞物联网的,如果你说你要用esp32来当纯主控,那确实不太好的,因为引脚少,功能有限制。比如有一些引脚,是只有only read pin,因为他和arm的架构不一样,而且是双核,所以使用的时候,需要注意的。甚至有一些同时支持wifi和蓝牙。
如果是用PlatformIO或者espressif idf的话,自己去vscode上面下载这个插件就可以了,其实也是大差不差的。但是arduion ide一键操作,无脑啊,还是非常方便就是界面有点老。其实都是一样的啊
你甚至可以espressif idf直接安装本地,然后使用命令行编译,所以他们其实都是调用这个来作为编译链的,不同的ide,不同界面,本质还是选板子,选串口,选择实例,烧录下载仿真。
使用microPython的话,可以查考如下的博客。
arduion ide
使用arduion,有一个很明显的特点,第一就是cpp,第二两个函数 setup和loop,有点hal的意思了我们使用esp32的目的,肯定是为了一件事,就是联网和io控制。所以点击实例中的esp32实例,修改一下连接的wifi密码和名称,设模式为用户找到一个联网的模板进行修改即可,修改添加一个mqtt模块,添加一个url功能,就能搞定大部分工作了。剩下的都是主控的操作了,什么io输出啊,iic那些
代码编译和烧录
编译就是找到上面的按键进行编译就是了。烧录的话,是通过usb口的iap下载烧录的,所以你得选择开发板和串口,编译成功就是烧录下载了此时还可以进入调试界面来看出现运行状态
总结
开发esp32非常简单的,因为很多东西都是模块化好的库,使用就好了,因为物联网发展的非常好,而且使用的是cpp开发,而且使用的cpp语法也是比较简单的,所以,一般都是找一个模板就可以开始操作了,联网成功之后,剩下就是本地主控操作了。就是一个mcu主控+wifi模块罢了。只不过开发arm mcu的时候,是通过at指令来控制wifi的连接和收发,但是本质还是通过主控去对数据进行处理。此时就是把wifi和主控合二而一,但是放心。厂商已经写好硬件驱动,直接调用api就可以连接和收发了。还可以进行分频和扩频,蓝牙和wifi复用功能,这些都是调用厂商的api,找一个demo就好了
对了,还有一件事,esp32是可以上rtos的哦,rtt和freertos那些都是可以的。