2020年你还在用Arduino??快开始用PlatformIO开发Esp8266/32、Arduino、STM32,十分钟亲测ESP8266

简介

对单片机最早的认识是大一的时候刷到的C51单片机,那时候玩了一阵子感觉可玩性不高,后来有了解到Arduino,买了两Uno回来用Arduino开发感觉可玩性和快速开发都比C51强多了,再后来了解了NodeMCU这玩意,又入手了Esp8266、Esp32、Esp32 Cam、STM32,当时还是用的Arduino软件去参考各个帖子(自己做了些修以备自查)配置三者的开发环境,单单是一个esp8266的开发环境当时就配置了很久,更不用说Esp32、cam、stm32了,以至于后面配置的stm32都无法使用。。。。
而且换电脑之后就不想再折腾环境了。。。。真的耗费时间,现在2020年啊,怎么还会有那么愚蠢的软件环境设计???于是在经过一番查找了解了PlatformIO,支持跨平台开发世界上的绝大多数板子一键配置开发环境,这么香

这里以Esp8266为例

安装PlatformIO

首先要安装VS code,然后在VS code里面安装PlatformIO IDE即可
2020年你还在用Arduino??快开始用PlatformIO开发Esp8266/32、Arduino、STM32,十分钟亲测ESP8266_第1张图片

装开发板 与 第一个Demo

2020年你还在用Arduino??快开始用PlatformIO开发Esp8266/32、Arduino、STM32,十分钟亲测ESP8266_第2张图片
2020年你还在用Arduino??快开始用PlatformIO开发Esp8266/32、Arduino、STM32,十分钟亲测ESP8266_第3张图片

Framework讲解

在选择NodeMCU 1.0之后,框架就有四种选择 Arduino、Simba、ESP8266 RTOS SDK、ESP8266 Non-OS SDK
Arduino框架用过Arduino开发的盆友都知道是啥东西;
Simba真不了解。。。。
最后两是乐鑫自家推出的框架,
ESP8266 RTOS SDK是基于FreeRTOS,在GitHub上开源。
RTOS版本SDK使用FreeRTOS系统,引入OS多任务处理机制,用户可以使用FreeRTOS的标准接口实现资源管理、循环操作、任务内延时、任务间信息传递和同步等面向任务流程的设计方式。RTOS版本兼容non-OS SDK中WiFi接口、SmartConfig接口、Sniffer相关接口、系统接口、定时器接口、FOTA接口和外围驱动接口,不支持AT实现。
Non-OS 是不基于操作系统的SDK,提供IOT_Demo和AT的编译。Non-OS SDK主要使用定时器和回调函数的方法实现各个功能事件的嵌套,达到特定条件下触发特定功能函数的目的。
那选择困难症来了,选哪一个???

ESP8266_RTOS_SDK’s framework is quite outdated and different from the current esp-idf and we are planning to migrate ESP8266_RTOS_SDK to esp-idf eventually after v2.0.0.

根据基友站点的描述,乐鑫认为 ESP8266_RTOS_SDK已经过时了。。。乐鑫打算在Esp-IDF v2之后把 ESP8266_RTOS_SDK纳入IDF中。但截至2020,10,23在Esp12系列的Framework中还没出现IDF选项。。。

However, we will firstly provide a new version of ESP8266 SDK (ESP8266_RTOS_SDK v3.0), which shares the same framework with esp-idf (esp-idf style), as a work-around, because the multi-CPU architecture is not supported by esp-idf for the time being.

后面又说道先推出具有和IDF相似架构的ESP8266_RTOS_SDK v3.0,阿哲,那我还是先选择Arduino框架吧
2020年你还在用Arduino??快开始用PlatformIO开发Esp8266/32、Arduino、STM32,十分钟亲测ESP8266_第4张图片
选择好参数、设置好项目名称之后就可以点击Finish完成了,然后等待第一次自动配置环境,8:45-8:47,这速度感人吗??反正我是感到了
2020年你还在用Arduino??快开始用PlatformIO开发Esp8266/32、Arduino、STM32,十分钟亲测ESP8266_第5张图片
2020年你还在用Arduino??快开始用PlatformIO开发Esp8266/32、Arduino、STM32,十分钟亲测ESP8266_第6张图片

#include 

void setup() {
  // put your setup code here, to run once:
  pinMode(LED_BUILTIN, OUTPUT);
}

void loop() {
  // put your main code here, to run repeatedly:
  digitalWrite(LED_BUILTIN, LOW);
  delay(1000);
  digitalWrite(LED_BUILTIN, HIGH);
  delay(1000);
}

编辑完成代码之后点击最下面的钩钩开始编译,编译完成之后(当然要把开发板插上啦)点击水平箭头上传
2020年你还在用Arduino??快开始用PlatformIO开发Esp8266/32、Arduino、STM32,十分钟亲测ESP8266_第7张图片
2020年你还在用Arduino??快开始用PlatformIO开发Esp8266/32、Arduino、STM32,十分钟亲测ESP8266_第8张图片

效果

开发板上的灯一闪一闪的,别问我为什么我图里的没有闪。
2020年你还在用Arduino??快开始用PlatformIO开发Esp8266/32、Arduino、STM32,十分钟亲测ESP8266_第9张图片

References

  • NodeMCU开发环境搭建之PlatformIO (ESP8266)
  • PlatformIO Esp8266 Esp32 Arduino 解决库下载失败问题(Libraries: Could not install library)
  • ESP32-S2 support status in ESP-IDF
  • ESP32 物联网开发框架 ESP-IDF 版本推荐
  • espressif/ESP8266_RTOS_SDK - Github
  • ESP8266_RTOS_SDK (IDF Style) Programming Guide
  • 聊聊ESP8266的SDK(ESP8266_RTOS_SDK v3.3 环境搭建)

你可能感兴趣的:(Node,MCU,单片机)