Alternatif lengkap untuk Arduino IDE? [Tutup]


50

Saya bukan penggemar berat dari Arduino IDE resmi (dalam hal visual), jadi saya mulai mencari alternatif yang lebih baik. Namun, sebagian besar proyek yang saya temukan dalam alfa / beta dan umumnya tidak lengkap.

Saya 100% baru dalam pemrograman papan sirkuit dan saya belum pernah menggunakan Arduino sebelumnya, tetapi dari apa yang saya kumpulkan Arduino IDE hanyalah pembungkus untuk perpustakaan avr yang melakukan penulisan aktual ke papan tulis. Apakah IDE "sejenis arduino" lainnya merupakan opsi yang memungkinkan?

Sekali lagi, saya sangat baru dalam hal ini sehingga user-friendly-ness akan menyenangkan.


20
Ya Tuhan. Saya sudah terbiasa dengan IDE berfitur lengkap, dan beralih dari sesuatu seperti Wing IDE (untuk Python) atau Visual Studio ke hal yang orang-orang Arduino punya nyali untuk memanggil "IDE" seperti dipukul di muka. Selain itu, sebagian besar proses pembuatan Arduino dilakukan di sumber java, daripada melakukan sesuatu yang masuk akal seperti memancarkan makefile, jadi mengelola proses pembuatan Anda sendiri adalah mimpi buruk.
Connor Wolf

1
Saya telah menggunakan Eclipse dengan Arduino (lihat arduino.cc/playground/Code/Eclipse dan robertcarlsen.net/2009/10/31/arduino-in-eclipse-989 , ini berfungsi dengan sangat baik - pintasnya cepat, bersih dan bagus) Satunya downside adalah bahwa pengaturan pertama kali dapat mengambil waktu :)
Dan

2
Jika Anda telah melakukan pemrograman apa pun sebelum TextMate, avr-libc, buat dan layar sudah cukup. Saya menganggap diri saya seorang pemula dalam pemrograman AVR tetapi hanya itu yang saya gunakan. Ini adalah pembacaan lembar data yang membingungkan pada awalnya.
tuupola

@VisualMicro Tidak, itu bukan satu-satunya alternatif yang lengkap. Lihat komentar saya di bawah tentang Stino.
Marnen Laibow-Koser

1
Plugin Arduino untuk Visual Studio Pro dan Atmel Studio 6.1 adalah alternatif lengkap untuk Arduino Ide yang mendukung standar atau perangkat keras khusus, mengkompilasi, mengunggah, membakar bootloader, programer, mengedit pustaka mode pakar, banyak monitor serial, intellisense, dan banyak opsi lainnya. untuk pengguna pemula dan lanjut. Instal kurang dari 10 menit. Juga termasuk contoh-contoh Arduino explorer dan debugging USB Arduino
Visual Micro

Jawaban:


44

Peringatan, penjelasan panjang lebar akan datang. Saya ingin menghapus beberapa kesalahpahaman yang saya pikir Anda alami.

Arduino sebenarnya adalah dua hal.

  1. Kumpulan perpustakaan C / C ++ yang dikompilasi dengan avr-gcc dan
  2. Program firmware bootloader kecil yang sebelumnya diprogram ke dalam chip dari pabrik.

Ya, IDE Arduino pada dasarnya membungkus avr-gcc - kompiler AVR C. Proyek Anda, atau "sketsa", menggabungkan perpustakaan Arduino yang disebutkan dan dikompilasi dengan avr-gcc. Namun, semua ini tidak ada hubungannya dengan bagaimana sesuatu ditulis ke papan tulis. Bagaimana sketsa ini digunakan sedikit berbeda dari biasanya.

Arduino IDE berkomunikasi dengan Arduino Anda melalui chip usb-to-serial di papan dan menginisialisasi mode pemrograman yang dimengerti oleh bootloader dan mengirimkan program baru Anda ke chip di mana bootloader akan meletakkannya di beberapa lokasi yang diketahui dan kemudian menjalankannya . Tidak ada "perpustakaan avr yang melakukan penulisan sebenarnya" - itu hanya Arduino IDE yang membuka port serial dan berbicara dengan bootloader - ini adalah bagaimana pesan debug Anda dicetak ke IDE selama runtime juga.

Setiap IDE alternatif harus dapat melakukan komunikasi serial yang sama dengan bootloader ini. Arduino mudah karena semua perpustakaan yang telah mereka sediakan untuk Anda dan program sekali-sentuh-lari dari IDE. Sejujurnya saya tidak berpikir itu menjadi lebih mudah, atau lebih ramah pengguna. Mereka telah mengabstraksikan semua detail mikrokontroler AVR dan proses pembangunan / penggunaan.

Alternatifnya adalah avr-studio (yang juga menggunakan avr-gcc untuk kompilernya) dan seorang programmer ICSP (yang merupakan perangkat keras tambahan yang harus Anda beli). Anda tidak diberi banyak selain beberapa file header definisi register dan beberapa makro berguna. Anda juga tidak diberi bootloader apa pun pada chip AVR Anda, itu hanya kertas kosong. Apa pun yang ingin Anda lakukan dengan mikrokontroler, Anda harus mendalam dan mempelajari periferal dan register perangkat kerasnya dan memindahkan byte ke dalam C. Ingin mencetak pesan debug kembali ke PC? Tuliskan rutin UART untuk dicetak () terlebih dahulu dan buka terminal di komputer Anda.

Selangkah lebih rendah dari ini Anda sedang menulis kode dalam editor teks dan memanggil avr-gcc dan avr-dude (alat baris perintah pemrograman) dari Makefile atau baris perintah.

Satu langkah lebih rendah dari itu dan Anda menulis majelis dalam editor teks dan memanggil avr-assembler dan avr-dude.

Saya tidak yakin ke mana saya akan pergi dengan ini, saya hanya berpikir bahwa IDE dan Arduino yang ada benar-benar jenius dan sempurna untuk pemula - klaim mereka atas ketenaran adalah ramah pengguna. Mungkin bukan jawaban yang Anda cari, pelajari alur kerjanya dan buat sesuatu yang keren dengannya.


2
Bukan jawaban yang saya harapkan, tetapi benar-benar membersihkan pemahaman saya tentang perangkat. Terima kasih
n0pe

4
Arduino IDE sebenarnya adalah Tiga hal. Pustaka C (++), perangkat keras, dan sekelompok kode java yang mengerahkan pustaka ke dalam kode tertulis Anda entah bagaimana sesaat sebelum waktu kompilasi.
Connor Wolf

21
Proses pembuatan Arduino sangat bagus. Namun, itu (saat ini) tidak dapat dibatalkan terikat pada tumpukan editor teks omong kosong Arduino . Apa yang saya percaya OP inginkan (dan saya juga tidak keberatan), adalah cara untuk memanggil proses pembuatan arduino dari dalam IDE lain. Seperti sekarang, satu - satunya cara untuk mengeksekusi Arduino build adalah dengan mengklik tombol di IDE. Itu tidak bisa skrip.
Connor Wolf

6
Jawaban ini agak keliru. Ide arduino tidak menyediakan kemampuannya sendiri untuk mengunggah melalui bootloader pada chip, melainkan menggunakan alat baris perintah yang disebut avrdude untuk melakukan itu. Seperti halnya avr-gcc, avrdude bukanlah produk Arduino dan sepenuhnya tersedia untuk IDE lain atau Makefiles sederhana untuk digunakan.
Chris Stratton

1
@ ChrisStratton, silakan mengedit untuk memperbaiki kesalahan / ketidaktahuan.
Jon L


10

Saya menggunakan SublimeText sebagai editor teks utama saya, jadi saya sangat senang menemukan Stino , yang merupakan plugin Arduino untuk SublimeText. Ini adalah pengganti lengkap untuk Arduino IDE (meskipun Anda harus memiliki salinan Arduino IDE sehingga Stino dapat menemukan perpustakaan). Ada beberapa bug, tetapi cukup bermanfaat. Saya hampir tidak menyentuh IDE Arduino sejak menemukan Stino.


@clabacchio Ketika saya mendapatkan pujian dan tidak ada peningkatan suara, saya biasanya menganggap orang tidak terbiasa dengan konsep pemungutan suara. Dan saya tidak menandai apa pun, jadi saya tidak tahu apa yang Anda bicarakan di sini.
Marnen Laibow-Koser

Maaf saya mendapat bendera pada komentar itu dan untuk beberapa alasan saya pikir itu Anda menandai posting Anda sendiri. Nevermind :)
clabacchio

3
Saya hanya ingin menambahkan suara lain ke sentimen ini. SublimeText sangat bagus, dan pengaya Stino ini adalah yang sebenarnya.
Steve Cooley

2
Ini benar-benar terbuat dari luar biasa. Saya sudah menggunakan teks yang agung, dan ini berarti saya sepenuhnya dapat membuang aplikasi arduino.
Connor Wolf

Dan ada juga mcduino untuk Atom.
Marnen Laibow-Koser


4

Ya, membuat "Arduino IDE" pada dasarnya adalah tentang meletakkan front-end di depan avr-gcc dan avrdude. Sebenarnya ada beberapa pilihan lain selain "IDE Arduino resmi." Salah satu yang mungkin menarik adalah lingkungan AVR berbasis Eclipse:

http://avr-eclipse.sourceforge.net/wiki/index.php/Plugin_Download


Ada Eclipse juga. Itu dimulai dengan dukungan AVR yang disebutkan orang lain, tetapi Anda dapat memuat perpustakaan Arduino sehingga Anda dapat menulis kode Arduino. Lihat arduino.cc/playground/Code/Eclipse
ViennaMike

4

Secara pribadi saya merekomendasikan (karena saya menulisnya;)) UECIDE . Awalnya didasarkan pada MPIDE untuk papan chipKIT, yang itu sendiri didasarkan pada versi 0023 dari Arduino IDE, tetapi tidak banyak kode asli yang tersisa sekarang, semuanya telah ditulis ulang.

Ini mendukung semua papan Arduino, ditambah papan chipKIT, Launchpad, Maple, dan seluruh host lainnya.

masukkan deskripsi gambar di sini


Tampak menjanjikan ...
horta

UECIDE telah menempuh perjalanan panjang sejak saat itu. Anda harus memeriksa versi beta terbaru ...
Majenko

4

Anda juga dapat mencoba IDE berbasis web / online untuk Arduino, seperti Codebender .


Rapi! Mereka terlihat layak bermain-main dengan.
Marnen Laibow-Koser

+1 untuk memberi tahu kami tentang Codebender. Tapi bisakah Anda memperbaiki kesalahan 404 pada tautan Wifino?
davidcary

@davidcary: Jawaban yang diperbarui, terima kasih atas catatannya.
boardbite

4

Gambar Plugin
(sumber: visualmicro.com )

Gratis Microsoft Visual Studio dan Atmel Studio Plugin ini mudah digunakan dan memiliki semua fitur yang berguna dari Arduino IDE.

Kode sketsa tetap sepenuhnya kompatibel dengan Ide Arduino. Plugin ini menggunakan proses pembuatan dan rantai alat yang sama dengan Arduino Ide. Anda memilih versi Arduino Ide yang ingin Anda gunakan dengan proyek Anda.

Menyediakan banyak fitur tambahan seperti menelusuri kesalahan kompiler, tampilan dibongkar (dengan menelusuri), penyelesaian kode, unggah melalui programmer atau Usb.

Mendukung banyak versi Arduino dalam satu Ide. Versi Visual Studio juga mendukung Intel Galileo.

Keduanya mendukung pengunggahan Arduino Yun Wifi / Web Server. Ada juga Debugger Arduino Usb / Serial / Wifi opsional

Atmel Studio didasarkan pada Visual Studio. Atmel Corp adalah perusahaan yang membuat pengendali mikro Arduino. Ini berarti Atmel Studio Ide mengetahui dan dibuat untuk pengontrol mikro Arduino.

Atmel Studio juga menyediakan alat-alat lain seperti Simulator.

Dokumentasi dan forum gratis


3

Saya baru-baru ini beralih dari lelucon yang merupakan Arduino IDE ke kode :: blocks-arduino. Itu lebih cocok untuk proyek yang lebih kompleks dengan banyak sourcefiles. Anda memiliki kontrol penuh atas flag compiler, target build dan banyak hal lain yang hilang atau ditulis dengan buruk di IDE resmi. Ini sangat mirip dalam pengoperasian dengan plugin gerhana, tetapi tidak terlalu besar seperti kode gerhana :: blocks-arduino a bangunan yang berdiri sendiri. Muncul dengan beberapa alat yang berguna untuk mengunggah dan debugging, seperti monitor serial SUPER COOL DAN BERMANFAAT dengan beberapa fitur yang sangat bagus seperti direct i2c (twi, apa pun yang Anda ingin menyebutnya) debugging, penangkapan serial dan output csv, dll.

dikompilasi untuk windows, dengan sumber linux tersedia http://www.arduinodev.com/codeblocks/

Pendekatan "tengah" adalah MariaMole, yang sayangnya hanya untuk windows, tetapi memiliki banyak kesederhanaan dari IDE resmi, tetapi dengan banyak fitur dari IDE "klasik". perbedaan penting antara keduanya adalah MariaMole menggunakan file .cpp dan .h sementara kode :: blocks-arduino menggunakan .ino seperti IDE resmi.

hanya windows; ( http://hackaday.com/2012/11/29/mariamole-an-alternate-arduino-ide-aimed-at-advanced-users/


2
Untuk semua bashing IDE Arduino yang terjadi di sini, orang lupa bahwa tujuan "Arduino" (IDE, bootloader / libs, HW) adalah untuk "membodohi" untuk orang-orang yang pemula dalam hal-hal seperti itu! Untuk itu, Arduino melakukan pekerjaan dengan baik. Namun, begitu orang lulus melampaui tahap awal menjilat permen (seperti kebanyakan orang), avr-gcc, avr-libc, makefile, simavr, gdb, dan editor sederhana seperti nano, vi atau bahkan emacs, dapat memberikan satu kesenangan tanpa akhir untuk bekerja dengan Arduino. Atau, dengan AVR 8-bit baremetal biasa pada papan yang dirancang sendiri (atau setidaknya, dirakit). Jadi, Code :: blocks mungkin merupakan opsi yang bagus, namun salah satu dari banyak.
icarus74

Masalahnya bukan bahwa Arduino IDE sederhana dan mudah digunakan; tidak apa-apa. Masalahnya adalah UI-nya dirancang dengan buruk. Alternatif seperti Stino sangat sederhana tetapi memiliki UI yang lebih baik. (Saya merujuk ke UI Arduino seperti pada tahun 2013. Tampaknya sudah ada beberapa perbaikan yang dilakukan sejak itu.)
Marnen Laibow-Koser

2

Anser Jon L: s merangkum Arduino dengan cukup baik dan karena dia hanya menyentuh alternatifnya, saya bisa menjelaskannya sedikit lebih banyak.

  1. Arduino dengan bootloader.
  2. PC Windows dimuat dengan avr-studio dan WinAVR (gcc) , dan mungkin jtag untuk mem -flash perangkat ( AVR JTAGICE mkII )
  3. Gnu toolchain (di Linux atau Windows) yang menggunakan WinAVR dan AVR JTAGICE mkII.

Tetapi harap dicatat bahwa seperti yang dinyatakan Jon L, alt1 adalah dasar dan mudah karena menghilangkan sebagian besar barang dari wajah Anda. Nyalakan LED, panggil fungsi turnOnLED di lib.

Alt2. Anda mendapatkan bantuan tentang chip dan IDE yang lebih klasik, tetapi Anda harus melakukan sebagian besar hal sendiri.

Alt3. Anda harus melakukan semuanya sendiri tetapi Anda mendapatkan kekuatan maksimum atas lingkungan Anda.

Jadi sekarang Anda dapat memilih jenis pengembangan yang ingin Anda lakukan, satu hal yang baik dengan hal-hal AVR adalah bahwa alat seperti jtag cukup terjangkau sehingga merupakan platform yang cukup murah untuk bekerja dengan terlepas dari tingkat apa yang Anda gunakan.

Dan karena itu adalah AVR pada Arduino, jika mereka memiliki konektor jtag Anda dapat menggunakan alt1,2 dan 3 pada papan Arduino.


2

Anda dapat menggunakan emacs (atau yang serupa) untuk menulis kode, dan membuat untuk membangun dan menyebarkannya. Paket arduino dikirimkan dengan sampel makefile dan stub untuk melakukan semua hal.



2

Eclipse adalah alternatif yang bagus dan sekarang dengan plugin eclipse Anda dapat menemukannya di eclipse.baeyens.it menginstalnya dalam waktu kurang dari 15 menit di windows mac dan linux. Bahkan memiliki monitor serial.


2

Sebenarnya ada beberapa hal terpisah yang Anda butuhkan:

  1. Editor kode.
  2. Toolchain dan kompiler.
  3. Bootloader.

IDE all-in-one standar Arduino hadir dengan editor dasar yang gila, sesuatu yang dengan cepat Anda lewati. Saya merekomendasikan untuk mengganti editor terlebih dahulu, terus membalas pada langkah 2 dan 3 dari paket dasar.

Setelah Anda siap untuk menjelajah lebih jauh, lihat http://playground.arduino.cc/Main/DevelopmentTools untuk alat yang dapat menggunakan ketiga fungsi utama.


Editor utama perlahan menambahkan dukungan Arduino, misalnya lihat youtrack.jetbrains.com/issue/CPP-364
Bryce

1

Apa yang dikatakan Dan (dalam komentar pada pertanyaan): Eclipse adalah IDE berfitur lengkap yang bekerja sangat baik dengan Arduino. (Menambah komentar pengaturannya, juga). Tetapi cara termudah untuk mengaturnya adalah dengan mem-porting instalasi yang berfungsi orang lain ke mesin Anda sendiri untuk mendapatkan konfigurasi yang berfungsi, dan mulai mengubah-ubah dari sana.


0

Saya telah menggunakan Makefile ini . Ini menangani sebagian besar proses untuk Anda. Kemudian Anda tinggal menulis makefile lokal sederhana untuk memberikan detail spesifik papan. Ada dokumentasi yang sangat bagus untuk bagaimana menggunakannya. Kemudian saya hanya menggunakan editor teks pilihan saya untuk menulis kode dalam C atau C ++, kompilasi dengan makefile lokal sederhana saya. Mengunggah juga ditangani oleh makefile yang saya tautkan: panggil saja "make unggah".

Ini adalah solusi yang bagus karena Anda kemudian dapat menggunakan editor teks mana pun yang Anda inginkan. Ini memungkinkan Anda untuk dengan mudah menautkan semua perpustakaan Arduino, ditambah perpustakaan lokal yang Anda miliki.


-1

Ini adalah ide lama yang saya temukan sangat cepat dan fleksibel. Ini dapat memprogram Arduino, dan juga klon Arduino seperti Paperduino atau tinyUSB. Anda juga dapat memeriksa USB atau serialports, sekering uji dan banyak hal lainnya dengan cara yang mudah.

https://code.google.com/archive/p/avr-project-ide/


Ini bukan rekomendasi yang sangat bagus - proyek belum diperbarui sejak 2011, dan tidak akan bekerja dengan banyak papan bermerek Arduino yang lebih baru. (Secara khusus, itu tidak akan mendukung papan ATmega32U4, seperti Arduino Leonardo atau Micro, juga tidak akan mendukung papan ARM seperti Arduino Due atau Zero.)
duskwuff
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.