(2018/10/12) バージョン追従メンテナンス (invalid baud rate specified '{upload.speed}'の話題)
(2018/9/5) 追記 ignorantさんからold bootloaderの情報あり
#はじめに
arduino-cliがBlogで発表されていたので、早速Windowsで使ってみました。
試したボードはArduino Nanoです。
#試したこと
まず、Windows版arduino-cliをダウンロードして「配置(コマンドプロンプト)」のように配置しました。
%USERPROFILE%\workディレクトリの下です。
C:\Users\user1\work>dir
ドライブ C のボリューム ラベルは OS です
ボリューム シリアル番号は 96E0-12DB です
C:\Users\user1\work のディレクトリ
2018/10/12 10:06 <DIR> .
2018/10/12 10:06 <DIR> ..
2018/10/12 08:56 17,134,592 arduino-cli-0.3.1-alpha.preview-windows.exe
1 個のファイル 17,134,592 バイト
2 個のディレクトリ 24,482,226,176 バイトの空き領域
Arduino Nanoが使えるか、パッケージ情報の更新などしてみました。
ただし、Arduino Nanoのold bootloaderには対応していないようです。
arduino:avrが対象のようです。
C:\Users\user1\work>arduino-cli-0.3.1-alpha.preview-windows.exe core update-index
Updating index: package_index.json downloaded
C:\Users\user1\work>arduino-cli-0.3.1-alpha.preview-windows.exe core search arduino
Searching for platforms matching 'arduino'
ID Version Name
Intel:arc32 2.0.2 Intel Curie Boards
arduino:avr 1.6.23 Arduino AVR Boards
arduino:nrf52 1.0.2 Arduino nRF52 Boards
arduino:sam 1.6.11 Arduino SAM Boards (32-bits ARM Cortex-M3)
arduino:samd 1.6.19 Arduino SAMD Boards (32-bits ARM Cortex-M0+)
arduino:samd_beta 1.6.24 Arduino SAMD Beta Boards (32-bits ARM Cortex-M0+)
arduino:stm32f4 1.0.1 Arduino STM32F4 Boards
littleBits:avr 1.0.0 littleBits Arduino AVR Modules
ここでArduino Nano用にarduino:avrをインストールしました。
C:\Users\user1\work>arduino-cli-0.3.1-alpha.preview-windows.exe core install arduino:avr
Downloading arduino:avr-gcc@5.4.0-atmel3.6.1-arduino2...
arduino:avr-gcc@5.4.0-atmel3.6.1-arduino2 downloaded
Downloading arduino:avrdude@6.3.0-arduino14...
arduino:avrdude@6.3.0-arduino14 downloaded
Downloading arduino:arduinoOTA@1.2.1...
arduino:arduinoOTA@1.2.1 downloaded
Downloading arduino:avr@1.6.23...
arduino:avr@1.6.23 downloaded
Installing arduino:avr-gcc@5.4.0-atmel3.6.1-arduino2
arduino:avr-gcc@5.4.0-atmel3.6.1-arduino2 installed
Installing arduino:avrdude@6.3.0-arduino14
arduino:avrdude@6.3.0-arduino14 installed
Installing arduino:arduinoOTA@1.2.1
arduino:arduinoOTA@1.2.1 installed
Installing arduino:avr@1.6.23...
arduino:avr@1.6.23 installed
ワークスペースを作ります。
なお、ワークスペースとプログラムが置かれる場所は以下のようです。
- "%USERPROFILE%\Documents\Arduino"
- "%USERPROFILE%\AppData\Local\Arduino15"
C:\Users\user1\work>arduino-cli-0.3.1-alpha.preview-windows.exe sketch new Blink
Sketch created in: C:\Users\user1\Documents\Arduino\Blink
スケッチを編集します。
C:\Users\user1\work>start notepad C:\Users\user1\Documents\Arduino\Blink\Blink.ino
今回のスケッチはLチカ。
void setup() {
pinMode(13, OUTPUT);
}
void loop() {
digitalWrite(13, HIGH);
delay(500);
digitalWrite(13, LOW);
delay(500);
}
コンパイルします。
ただし、Arduino Nanoはブートローダの種類によって少しオプション(fqbn)が違います。
C:\Users\user1\work>arduino-cli-0.3.1-alpha.preview-windows.exe compile --fqbn arduino:avr:nano:atmega328 "%USERPROFILE%\Documents\Arduino\Blink"
Downloading and installing missing tool: builtin:ctags@5.8-arduino11
Downloading builtin:ctags@5.8-arduino11...
builtin:ctags@5.8-arduino11 downloaded
Installing builtin:ctags@5.8-arduino11
builtin:ctags@5.8-arduino11 installed
Sketch uses 444 bytes (1%) of program storage space. Maximum is 30720 bytes.
Global variables use 9 bytes (0%) of dynamic memory, leaving 2039 bytes for local variables. Maximum is 2048 bytes.
C:\Users\user1\work>arduino-cli-0.3.1-alpha.preview-windows.exe compile --fqbn arduino:avr:nano:cpu=atmega328old %USERPROFILE%\Documents\Arduino\Blink"
Downloading and installing missing tool: builtin:ctags@5.8-arduino11
Downloading builtin:ctags@5.8-arduino11...
builtin:ctags@5.8-arduino11 downloaded
Installing builtin:ctags@5.8-arduino11
builtin:ctags@5.8-arduino11 installed
Build options changed, rebuilding all
Sketch uses 444 bytes (1%) of program storage space. Maximum is 30720 bytes.
Global variables use 9 bytes (0%) of dynamic memory, leaving 2039 bytes for local variables. Maximum is 2048 bytes.
Arduino NanoのCOMポート番号を調べます。
日本語だとガタガタ表示になったので「chcp 437」で英語にしました。「chcp 932」で日本語へ戻せます。
C:\Users\user1\work>mode
Status for device COM3:
-----------------------
Baud: 115200
Parity: None
Data Bits: 8
Stop Bits: 1
Timeout: ON
XON/XOFF: OFF
CTS handshaking: OFF
DSR handshaking: OFF
DSR sensitivity: OFF
DTR circuit: OFF
RTS circuit: OFF
Status for device CON:
----------------------
Lines: 9001
Columns: 120
Keyboard rate: 31
Keyboard delay: 1
Code page: 437
コンパイルしたスケッチをArduino Nanoへアップロードします。
次の例ではnew bootloaderなのでfqbnが「arduino:avr:nano:cpu=atmega328」です。
old bootloaderの場合は「arduino:avr:nano:cpu=atmega328old」としてください。
arduino:avr:nanoとしてfqbnを指定するとアップロードに失敗するようです。(invalid baud rate specified '{upload.speed}')
C:\Users\user1\work>arduino-cli-0.3.1-alpha.preview-windows.exe upload -v -p COM3 --fqbn arduino:avr:nano:cpu=atmega328 %USERPROFILE%\Documents\Arduino\Blink
avrdude: Version 6.3, compiled on Jan 17 2017 at 12:00:53
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2014 Joerg Wunsch
System wide configuration file is "C:\Users\user1\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino9/etc/avrdude.conf"
Using Port : COM3
Using Programmer : arduino
Overriding Baud Rate : 115200
AVR Part : ATmega328P
Chip Erase delay : 9000 us
PAGEL : PD7
BS2 : PC2
RESET disposition : dedicated
RETRY pulse : SCK
serial program mode : yes
parallel program mode : yes
Timeout : 200
StabDelay : 100
CmdexeDelay : 25
SyncLoops : 32
ByteDelay : 0
PollIndex : 3
PollValue : 0x53
Memory Detail :
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
eeprom 65 20 4 0 no 1024 4 0 3600 3600 0xff 0xff
flash 65 6 128 0 yes 32768 128 256 4500 4500 0xff 0xff
lfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
hfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
efuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
lock 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
calibration 0 0 0 0 no 1 0 0 0 0 0x00 0x00
signature 0 0 0 0 no 3 0 0 0 0 0x00 0x00
Programmer Type : Arduino
Description : Arduino
Hardware Version: 3
Firmware Version: 4.4
Vtarget : 0.3 V
Varef : 0.3 V
Oscillator : 28.800 kHz
SCK period : 3.3 us
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.00s
avrdude: Device signature = 0x1e950f (probably m328p)
avrdude: safemode: hfuse reads as 0
avrdude: safemode: efuse reads as 0
avrdude: reading input file "../Documents/Arduino/Blink/Blink.arduino.avr.nano.cpu=atmega328.hex"
avrdude: writing flash (928 bytes):
Writing | ################################################## | 100% 0.38s
avrdude: 928 bytes of flash written
avrdude: safemode: hfuse reads as 0
avrdude: safemode: efuse reads as 0
avrdude: safemode: Fuses OK (E:00, H:00, L:00)
avrdude done. Thank you.
C:\Users\user1\work>
#まとめ
そこそこ使えそうです。
GUIと組み合わせて実行したりだとか夢見られそうです。
いつかBlocklyと組み合わせたいです。
#参考