2012年5月20日日曜日

さくらのVPS上のJenkinsでArduinoのプログラムをビルド

忘れそうなのでφ(..)メモメモ。

Jenkinsでビルドするにはコマンドでビルドができるようにする必要がある
さくらのVPS上でJenkinsを動かすには以前やったので割愛

ビルドに必要なパッケージを入れる
yum install uisp avr-libc avr-gcc-c++ rxtx avrdude
次にここからMakefileの元と、ツールをダウンロード

wget http://mjo.tc/atelier/2009/02/acli/arduino-mk_0.8.tar.gz
tar zxvf arduino-mk_0.8.tar.gz 
sudo cp arduino-mk-0.8/ard-parse-boards /usr/local/bin

# Arduino.mkをどこか固定の場所に置く
# 自分はスケッチの保存ディレクトリ直下にする
cp arduino-mk-0.8/Arduino.mk /


そしたら、適当にサンプルを作る


cd 
mkdir sample
cd sample
vi sample.ino

コードはこんなので十分

/*******************************************************************************
 *
 * @brief テスト用
 *
 ******************************************************************************/

#define LED_PIN       (2)   //!< @brief LEDの接続ピン
#define DELAY_TIME    (500) //!< @brief PWM待ち時間

/******************************************************************************
 * @brief  setup
 * @param  なし
 * @retval なし
 *****************************************************************************/
void setup()
{
    pinMode(LED_PIN, OUTPUT);
}

/******************************************************************************
 * @brief  loop
 * @param  なし
 * @retval なし
 *****************************************************************************/
void loop()
{
    digitalWrite(LED_PIN, HIGH);
    delay(500);
    digitalWrite(LED_PIN, LOW);
    delay(500);
}

お次にMakefileを作る
ARDUINO_DIR    = /usr/local/lib/arduino-1.0
ARDMK_DIR      = /usr/local
AVR_TOOLS_PATH = /usr/bin
BOARD_TAG      = uno

AVRDUDE_CONF = $(ARDUINO_DIR)/hardware/tools/avrdude.conf
AVRDUDE_ARD_PROGRAMMER = arduino

MCU            = atmega328p
VARIANT        = standard

include ../Arduino.mk
これでmakeするとYAMLがどーたらこーたらとエラーがでるので、perl-YAML-Libを入れる sudo yum install perl-YAML 入れればmakeが通るようになるはず


#以下アフィリエイト用の広告です