Vim + PlatformIO开发Arduino物联网初步

在Linux下使用PLatformIO做物联网开发

1. PlatformIO安装

PlatformIO使用python开发,所以首先需要安装python环境,这里使用Anaconda来管理python环境

  • 安装Anaconda

打开终端键入以下命令:

# 下载anaconda
wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-5.3.0-`uname -s`-`uname -m`.sh
# 执行安装
chmod +x Anaconda3-5.3.0-Linux-x86_64.sh
./Anaconda3-5.3.0-Linux-x86_64.sh

根据提示,设置安装路径,加入环境变量

  • 使用conda创建python2环境,并安装PlatformIO

# 创建PlatformIO虚拟环境,并指定使用python版本为2.7
conda create -n platform_dev python=2.7
# 激活环境,并安装相关依赖,库(windows激活环境和Linux稍有不同,请根据提示选择)
conda activate platform_dev
pip install -U platformio
  • 查看Arduino板子对应在PlatformIO的id(我使用的是Arduino UNO)

platformio boards | grep 'Arduino Uno'

通过以上命令获得Arduino Uno对应的类型是属于uno

2. 开始创建物联网HelloWorld工程

  • 创建项目路径,并执行初始化

# 创建工程目录
mkdir hello-arduino && cd hello-arduino
# 使用PlatformIO初始化项目(这里需要使用上一步获得的板子类型)
platformio init --board uno
  • 项目目录说明

├── include               # 头文件相关存放
│   └── README
├── lib                   # 自动生成的库存放目录
│   └── README
├── platformio.ini        # PlatformIO配置文件
├── src                   # 源码目录,自己开发的源码就在这里
└── test
    └── README
  • 在src目录下创建Arduino的源码main.c文件

touch src/main.c
vim src/main.c
  • 编写相关helloworld源码(效果实现:点亮板载Led灯,并且每隔一秒进行一次闪烁)

#include 
#define led 13      // 定义板载led等的控制引脚是13号 

/**
 * 伪代码,讲解setup方法和loop方法的调用过程
 * 
 * 大概原理
 *  1.Arduino上电初始化进入执行main方法
 *  2.main方法调用setup()方法
 *  3.while(true)死循环,在死循环里面调用loop方法
 *  
 * Arduino伪代码:
 *  
 *  int main(){
 *      ...一些代码...
 *      setup();
 *      ...一些代码...
 *      while(true){
 *          ...一些代码...
 *          loop();
 *          ...一些代码...
 *      }
 *      ...一些代码...
 *  }
 * 
 * 在此,我们只需要在setup方法中进行一些必要的初始化(比如:波特率设置,引脚工作模式等
 *      在loop方法中进行业务逻辑处理
 * 
 */ 

//该方法在Arduino上电初始化的时候会自动回调一次,可以进行一些必要的初始化
void setup(){
    pinMode(led,OUTPUT);    // 设置led的工作模式为输出模式
}

/** 该方法会被Arduino循环回调 */
void loop(){
    digitalWrite(led,HIGH);     //设置led灯输出高电平
    delay(1000);                //延时一秒
    digitalWrite(led,LOW);      //设置led灯输出低电平
    delay(1000);                //延时一秒
}
  • 源码编写完成,进行编译、上传Arduino Uno板子运行,并观看效果

    • 通过数据线连接ArduinoUno到电脑的USB接口


      Arduino连接
    • 编译并上传
platformio run -e uno      #进行编译
platformio run -t upload  #上传到Arduino Uno

# 其他一些platformio常用命令
# platformio run -e uno -t upload    # 编译并上传到Arduino板子一步完成
# platformio run -t clean                 # 清理编译过的文件 
  • 观看效果


    运行效果

至此,Linux上面搭建Arduino + PlatformIO开发环境完成

你可能感兴趣的:(Vim + PlatformIO开发Arduino物联网初步)