哈哈,今天瀏覽arduino.cc官網,找到一個好東東,以后,在ubuntu下用終端編程在也不發愁了。
platformio.org是一個物聯網全能的IDE,甚至還貼心的提供了在命令行下編程的版本:platformio CLI
好東西不能獨享啊,拿出來給看到這篇文章的童鞋們。
一、安裝篇。
platformio是用python開發,所以,要先安裝python環境,注意是python2.7版本。
#更新系統
apt update
apt upgrade
#安裝gcc編譯環境
apt install build-essential
#安裝python及開發包
apt install python python-all-dev python-setuptools python-wheel
#安裝pip及更新到最新版
apt install python-pip
pip install --upgrade pip
#安裝PlatFormIO
pip install -U platformio
二、使用前的准備工作。
1、使用前,首先要確定你使用的控制器類型,這里我使用的arduino uno板子。
platformio boards atmelavr
輸出:
Platform: atmelavr
--------------------------------------------------------------------------------------------------------------------------------------------------------------
Type MCU Frequency Flash RAM Name
--------------------------------------------------------------------------------------------------------------------------------------------------------------
chiwawa atmega32u4 16Mhz 28kB 2.5kB Arduino Industrial 101
leonardo atmega32u4 16Mhz 28kB 2.5kB Arduino Leonardo
leonardoeth atmega32u4 16Mhz 28kB 2.5kB Arduino Leonardo ETH
lilypadatmega168 atmega168 8Mhz 14kB 1kB Arduino LilyPad ATmega168
lilypadatmega328 atmega328p 8Mhz 30kB 2kB Arduino LilyPad ATmega328
LilyPadUSB atmega32u4 8Mhz 28kB 2.5kB Arduino LilyPad USB
uno atmega328p 16Mhz 31kB 2kB Arduino Uno
yun atmega32u4 16Mhz 28kB 2.5kB Arduino Yun
yunmini atmega32u4 16Mhz 28kB 2.5kB Arduino Yun Mini
通過以上得知,arduino uno的類型是uno,如果用的lilypad的話,根據控制器型號判斷為lilypadatmega168 或lilypadatmega328
2、初始化類型為uno的板子:
#在創建工作目錄mkdir test
cd test
#執行初始化
platformio init --board uno
三、開始編程。
執行完初始化命令后,系統自動生成1各配置文件和2各目錄:
platformio.ini (為配置文件)
lib (自動生成的程序庫的目錄)
src (存放程序源文件的目錄)
現在進入src目錄,創建一個以.c或.h或.cpp或.ino等待結尾的文件就可以開始編程了。
四、程序編寫注意事項:
程序基本和arduino IDE一致,但是,要在開頭寫一個頭文件(見下)才能通過編譯。
#include "Arduino.h"
例如:
#include "Arduino.h"
void setup()
{
pinMode(LED_BUILTIN,OUTPUT);
}
void loop()
{
digitalWrite(LED_BUILTIN,HIGH);
delay(1000);
digitalWrite(LED_BUILTIN,LOW);
delay(1000);
}
以上為一個完整的程序編碼,文件名任意,但應該以.h .c .cpp .ino等系統可以識別的后綴結尾。
五、編譯
編寫程序完畢后,退回項目的根目錄,然后執行下面命令進行編譯:
platformio run -e uno
編譯完成后,上傳程序到uno
platformio run -t upload
如果想編譯后立即上傳,執行:
platformio run -e uno -t upload
如果想清理編譯過的文件:
platformio run -t clean
6、以上就是基本操作,是不是很好,真佩服老外的編碼精神,你剛想到一個念頭,已經有人做出原型了,
最后,在推薦一下官網:www.platformio.org