Hoàn thành các lựa chọn thay thế cho Arduino IDE? [đóng cửa]


50

Tôi không phải là một fan hâm mộ lớn của Arduino IDE chính thức (về mặt hình ảnh), vì vậy tôi đã bắt đầu tìm kiếm các lựa chọn thay thế đẹp hơn. Tuy nhiên, hầu hết các dự án tôi tìm thấy đều ở dạng alpha / beta và thường không đầy đủ.

Tôi mới 100% với lập trình bảng mạch và tôi chưa bao giờ sử dụng Arduino trước đây, nhưng từ những gì tôi thu thập được Arduino IDE chỉ là một trình bao bọc cho một thư viện avr thực hiện việc viết lên bảng. Các IDE "thiết bị giống arduino" khác có phải là một lựa chọn khả thi không?

Một lần nữa, tôi rất mới với điều này nên người dùng thân thiện sẽ rất tốt.


20
Trời ơi. Tôi đã quen với các IDE đầy đủ tính năng và đi từ một thứ như Wing IDE (cho Python) hoặc Visual Studio đến điều mà người Arduino có thể gọi là "IDE" giống như bị đấm vào mặt. Trên hết, một phần đáng kể của quá trình xây dựng Arduino được thực hiện trong nguồn java, thay vào đó, nó sẽ làm một cái gì đó hợp lý như phát ra một tệp Makefile, vì vậy quản lý quá trình xây dựng của riêng bạn là một cơn ác mộng.
Sói Connor

1
Tôi đã sử dụng Eclipse với Arduino (kiểm tra arduino.cc/playground/Code/Eclipserobertcarlsen.net/2009/10/31/arduino-in-eclipse-989 , nó hoạt động rất tốt - đó là các phím tắt nhanh, sạch và tuyệt vời) Nhược điểm duy nhất là thiết lập lần đầu tiên có thể mất thời gian :)
Dan

2
Nếu bạn đã thực hiện bất kỳ chương trình nào trước TextMate, avr-libc, make và screen là đủ. Tôi tự coi mình là người mới bắt đầu lập trình AVR nhưng đó là tất cả mọi thứ tôi sử dụng. Đó là việc đọc các bảng dữ liệu gây nhầm lẫn lúc ban đầu.
tuupola

@VisualMicro Không, đó không phải là sự thay thế hoàn toàn duy nhất. Xem bình luận của tôi dưới đây về Stino.
Marnen Laibow-Koser

1
Plugin Arduino cho Visual Studio ProAtmel Studio 6.1 là sự thay thế hoàn toàn cho Arduino Ide hỗ trợ phần cứng tiêu chuẩn hoặc tùy chỉnh, biên dịch, tải lên, ghi bộ tải khởi động, lập trình viên, chỉnh sửa thư viện chế độ chuyên gia, nhiều màn hình nối tiếp, intellisense và nhiều tùy chọn khác cho cả người dùng mới và người dùng nâng cao. Cài đặt dưới 10 phút. Cũng bao gồm trình thám hiểm ví dụ Arduino và trình gỡ lỗi Arduino USB
Visual Micro

Câu trả lời:


44

Cảnh báo, một lời giải thích dài dòng sắp được đưa ra. Tôi muốn xóa một số quan niệm sai lầm mà tôi nghĩ rằng bạn đang có.

Arduino thực sự là hai điều.

  1. Một bộ sưu tập các thư viện C / C ++ được biên dịch với avr-gcc và
  2. Một chương trình phần mềm khởi động nhỏ đã được lập trình trước đó trên chip từ nhà máy.

Vâng, Arduino IDE về cơ bản kết thúc avr-gcc - trình biên dịch AVR C. Các dự án của bạn, hoặc "bản phác thảo", kết hợp các thư viện Arduino đã đề cập và được biên dịch với avr-gcc. Tuy nhiên, không ai trong số này có bất cứ điều gì liên quan đến việc bất cứ điều gì được viết lên bảng. Làm thế nào những bản phác thảo này được triển khai là một chút khác nhau so với bình thường.

Arduino IDE giao tiếp với Arduino của bạn qua chip usb-to-serial trên bo mạch và nó khởi tạo một chế độ lập trình mà bộ nạp khởi động hiểu và gửi chương trình mới của bạn tới chip nơi bộ nạp khởi động sẽ đặt nó ở một vị trí đã biết và sau đó chạy nó . Không có "thư viện avr nào thực sự viết" - đó chỉ là Arduino IDE mở một cổng nối tiếp và nói chuyện với bộ nạp khởi động - đây cũng là cách các thông báo gỡ lỗi của bạn được in ra IDE trong thời gian chạy.

Bất kỳ IDE thay thế nào cũng sẽ phải có khả năng thực hiện giao tiếp nối tiếp này với bộ nạp khởi động. Arduino rất dễ dàng vì tất cả các thư viện họ đã cung cấp cho bạn và chương trình một chạm và chạy từ IDE. Tôi thực sự không nghĩ rằng nó trở nên dễ dàng hơn, hoặc thân thiện với người dùng hơn. Họ đã trừu tượng hóa tất cả các chi tiết của bộ điều khiển vi mô AVR và quy trình xây dựng / triển khai.

Sự thay thế sẽ là một cái gì đó giống như avr-studio (cũng sử dụng avr-gcc cho trình biên dịch của nó) và một lập trình viên ICSP (là một phần cứng bổ sung mà bạn phải mua). Bạn không được cung cấp nhiều hơn một số tệp tiêu đề định nghĩa đăng ký và một số macro hữu ích. Bạn cũng không được cung cấp bất kỳ bộ tải khởi động nào trên chip AVR của mình, nó chỉ là một bản trống. Bất cứ điều gì bạn muốn làm với vi điều khiển, bạn sẽ phải đi sâu và tìm hiểu về các thiết bị ngoại vi và thanh ghi phần cứng của nó và di chuyển byte xung quanh trong C. Bạn muốn in một thông báo gỡ lỗi trở lại PC? Viết thói quen UART cho print () trước và mở terminal trên máy tính của bạn.

Một bước thấp hơn so với điều này bạn đang viết mã trong trình soạn thảo văn bản và gọi avr-gcc và avr-dude (công cụ dòng lệnh lập trình) từ Makefile hoặc dòng lệnh.

Một bước thấp hơn từ đó và bạn đang viết lắp ráp trong một trình soạn thảo văn bản và gọi avr-lắp ráp và avr-dude.

Tôi không chắc chắn mình sẽ đi đâu với điều này, tôi chỉ nghĩ rằng IDE và Arduino hiện tại hoàn toàn là thiên tài và hoàn hảo cho người mới bắt đầu - tuyên bố nổi tiếng của họ thân thiện với người dùng. Có lẽ không phải là câu trả lời bạn đang tìm kiếm, tìm hiểu luồng công việc và làm cho nó trở nên thú vị với nó.


2
Không phải là câu trả lời tôi mong đợi, nhưng thực sự đã làm sáng tỏ sự hiểu biết của tôi về thiết bị. Cảm ơn
n0pe

4
IDE arduino thực sự là ba điều. Các thư viện C (++), một phần cứng và một loạt mã java kết hợp các thư viện vào mã viết của bạn bằng cách nào đó ngay trước thời gian biên dịch.
Sói Connor

21
Quá trình xây dựng Arduino tuyệt vời. Tuy nhiên, tại thời điểm này, nó bị ràng buộc không thể chối bỏ với đống trình soạn thảo văn bản tào lao của Arduino . Những gì tôi tin rằng OP muốn (và tôi cũng không bận tâm), là một cách để gọi quy trình xây dựng arduino từ bên trong một IDE khác. Như bây giờ, cách duy nhất để thực hiện xây dựng Arduino là nhấp vào nút trong IDE. Nó không phải là kịch bản.
Sói Connor

6
Câu trả lời này hơi sai. Ide arduino không cung cấp khả năng riêng để tải lên thông qua bộ nạp khởi động trên chip, thay vào đó, nó sử dụng một công cụ dòng lệnh có tên avrdude để làm điều đó. Cũng giống như với avr-gcc, avrdude không phải là một sản phẩm arduino và hoàn toàn có sẵn cho các Makefile đơn giản hoặc IDE khác sử dụng.
Chris Stratton

1
@ChrisStratton, vui lòng chỉnh sửa để sửa lỗi / thiếu hiểu biết.
Jon L


10

Tôi sử dụng SublimeText làm trình soạn thảo văn bản chính của mình, vì vậy tôi rất vui khi tìm thấy Stino , một plugin Arduino cho SublimeText. Đây là một sự thay thế hoàn toàn cho Arduino IDE (mặc dù bạn cần phải có một bản sao của Arduino IDE để Stino có thể tìm thấy các thư viện). Nó có một vài lỗi, nhưng khá hữu dụng. Tôi hầu như không chạm vào Arduino IDE kể từ khi phát hiện ra Stino.


@clabacchio Khi tôi nhận được lời khen và không có ý kiến ​​gì, tôi thường cho rằng mọi người không quen thuộc với khái niệm bỏ phiếu. Và tôi đã không gắn cờ bất cứ điều gì, vì vậy tôi không biết bạn đang nói gì ở đây.
Marnen Laibow-Koser

Xin lỗi tôi đã nhận được một lá cờ trên bình luận đó và vì một số lý do tôi nghĩ rằng đó là bạn gắn cờ bài viết của riêng bạn. Nevermind :)
clabacchio

3
Tôi chỉ muốn thêm một tiếng nói khác cho tình cảm này. SublimeText thực sự rất hay và tiện ích Stino này là hợp đồng thực sự.
Steve Cooley

2
Điều này là hoàn toàn làm cho tuyệt vời. Tôi đã sử dụng văn bản cao siêu, và điều này có nghĩa là tôi hoàn toàn có thể bỏ ứng dụng arduino.
Sói Connor

Và cũng có mcduino cho Atom.
Marnen Laibow-Koser


4

Vâng, việc tạo ra một "Arduino IDE" về cơ bản là đặt một giao diện người dùng trước avr-gcc và avrdude. Thực tế có khá nhiều sự lựa chọn khác ngoài "IDE IDE chính thức". Một điều có thể được quan tâm là môi trường AVR dựa trên Eclipse:

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


Cũng có Eclipse. Nó bắt đầu với sự hỗ trợ của người khác được đề cập, nhưng bạn có thể tải thư viện Arduino để bạn có thể viết mã Arduino. Xem arduino.cc/playground/Code/Eclipse
ViennaMike

4

Cá nhân tôi đề nghị (kể từ khi tôi viết nó;)) UECIDE . Ban đầu nó dựa trên MPIDE cho các bảng chipKIT, bản thân nó dựa trên phiên bản 0023 của Arduino IDE, nhưng hiện tại không còn nhiều mã gốc, tất cả đã được viết lại.

Nó hỗ trợ tất cả các bo mạch Arduino, cộng với bo mạch chipKIT, Launchpad, Maple và nhiều máy chủ khác.

nhập mô tả hình ảnh ở đây


Trông đầy hứa hẹn ...
horta

UECIDE đã đi một chặng đường dài kể từ đó. Bạn nên xem phiên bản beta mới nhất ...
Majenko

4

Ngoài ra, bạn có thể thử các IDE dựa trên trình duyệt / trực tuyến cho Arduino, chẳng hạn như Codebender .


Khéo léo! Những cái nhìn đáng chơi xung quanh với.
Marnen Laibow-Koser

+1 để cho chúng tôi biết về Codebender. Nhưng bạn có thể sửa lỗi 404 trên liên kết Wifino không?
davidcary

@davidcary: Cập nhật câu trả lời, cảm ơn bạn đã lưu ý.
boardbite 4/2/2016

4

Plugin hình ảnh
(nguồn: visualmicro.com )

Microsoft Visual Studio và Atmel Studio Plugin miễn phí sử dụng đơn giản và có tất cả các tính năng hữu ích của Arduino IDE.

Mã phác thảo vẫn hoàn toàn tương thích với Arduino Ide. Plugin sử dụng quy trình xây dựng và chuỗi công cụ tương tự như Arduino Ide. Bạn chọn phiên bản Arduino Ide nào bạn muốn sử dụng với các dự án của mình.

Cung cấp nhiều tính năng bổ sung như truy sâu vào các lỗi trình biên dịch, chế độ xem tách rời (với chi tiết), hoàn tất mã, tải lên thông qua lập trình viên hoặc USB.

Hỗ trợ nhiều phiên bản Arduino trong một Ide duy nhất. Phiên bản Visual Studio cũng hỗ trợ Intel Galileo.

Cả Ide đều hỗ trợ tải lên Arduino Yun Wifi / Web Server. Ngoài ra còn có một trình gỡ lỗi Arduino USB / serial / Wifi tùy chọn

Atmel Studio dựa trên Visual Studio. Atmel Corp là công ty sản xuất bộ vi điều khiển Arduino. Điều này có nghĩa là Atmel Studio Ide nhận thức và chế tạo cho bộ vi điều khiển Arduino.

Atmel Studio cũng cung cấp các công cụ khác như Trình mô phỏng.

Tài liệudiễn đàn miễn phí


3

Gần đây tôi đã chuyển từ trò đùa đó là Arduino IDE sang code :: blocks-arduino. Nó phù hợp hơn cho các dự án phức tạp hơn với nhiều tệp nguồn. Bạn có toàn quyền kiểm soát cờ trình biên dịch, xây dựng mục tiêu và nhiều thứ khác bị thiếu hoặc được viết xấu trong IDE chính thức Nó hoạt động rất giống với plugin nhật thực, nhưng không phình to như mã nhật thực :: blocks-arduino a xây dựng độc lập. Nó đi kèm với một số công cụ hữu ích để tải lên và gỡ lỗi, chẳng hạn như màn hình nối tiếp SUPER COOL VÀ USEFUL với một số tính năng thực sự tốt như trực tiếp i2c (twi, bất cứ điều gì bạn muốn gọi nó) gỡ lỗi, chụp nối tiếp và đầu ra csv, v.v.

được biên dịch cho các cửa sổ, với các nguồn linux có sẵn http://www.arduinodev.com/codeblocks/

Cách tiếp cận "trung bình" sẽ là MariaMole, không may chỉ có cửa sổ, nhưng có rất nhiều tính đơn giản của IDE chính thức, nhưng có rất nhiều tính năng của IDE "cổ điển". một sự khác biệt đáng chú ý giữa hai loại này là MariaMole sử dụng các tệp .cpp và .h trong khi code :: blocks-arduino sử dụng .ino như IDE chính thức.

chỉ cửa sổ; ( http://hackaday.com/2012/11/29/mariamole-an-alternate-arduino-ide-aimed-at-advified-users/


2
Đối với tất cả các bash Arduino IDE đang diễn ra ở đây, mọi người quên rằng mục đích của "Arduino" (IDE, bootloader / libs, HW) là để "làm cho nó nguôi ngoai" cho những người mới bắt đầu làm những việc như vậy! Vì thế, Arduino đã làm rất tốt. Tuy nhiên, một khi mọi người tốt nghiệp vượt qua giai đoạn liếm kẹo ban đầu (như hầu hết mọi người), avr-gcc, avr-libc, makefile, simavr, gdb và trình soạn thảo đơn giản như nano, vi hoặc thậm chí là emacs, có thể mang lại niềm vui bất tận khi làm việc với Arduino. Hoặc, với uC 8 bit đơn giản, trong bảng mạch tự thiết kế (hoặc ít nhất là được lắp ráp). Vì vậy, Code :: blocks có lẽ là một lựa chọn tốt, nhưng là một trong số nhiều.
icarus74

Vấn đề không phải là Arduino IDE đơn giản và dễ sử dụng; Tốt rồi. Vấn đề là giao diện người dùng của nó được thiết kế kém. Các lựa chọn thay thế như Stino đơn giản nhưng có giao diện người dùng tốt hơn. (Tôi đang đề cập đến giao diện người dùng Arduino như năm 2013. Dường như đã có một số cải tiến được thực hiện kể từ đó.)
Marnen Laibow-Koser

2

Jon L: s anser tổng hợp Arduino khá tốt và vì anh ta chỉ cần chạm vào các lựa chọn thay thế, tôi có thể làm rõ chúng thêm một chút nữa.

  1. Arduino với bộ nạp khởi động.
  2. Máy tính Windows được tải với avr-studio và WinAVR (gcc) và có thể là một jtag để flash thiết bị ( AVR JTAGICE mkII )
  3. Chuỗi công cụ gnu (trên Linux hoặc Windows) đang sử dụng WinAVR và AVR JTAGICE mkII.

Nhưng xin lưu ý rằng giống như Jon L tuyên bố, alt1 là cơ bản và dễ dàng vì nó loại bỏ hầu hết mọi thứ khỏi khuôn mặt của bạn. Bật đèn LED, gọi chức năng TurnOnLED trong lib.

Alt2. Bạn nhận được một số trợ giúp về chip và một IDE cổ điển hơn, nhưng bạn phải tự làm hầu hết mọi thứ.

Alt3. Bạn phải tự làm mọi thứ nhưng bạn có được sức mạnh tối đa đối với môi trường của bạn.

Vì vậy, bây giờ bạn có thể chọn loại phát triển nào bạn muốn làm, một điều tốt với công cụ AVR là các công cụ như jtag có giá cả khá phải chăng nên nó là một nền tảng khá rẻ để làm việc cho dù bạn sử dụng ở cấp độ nào.

Và vì nó là một AVR trên Arduino, nếu chúng có đầu nối jtag, bạn có thể sử dụng alt1,2 và 3 trên bo mạch Arduino.


2

Bạn có thể sử dụng emacs (hoặc tương tự) để viết mã, và thực hiện để xây dựng và triển khai nó. Các gói arduino vận chuyển với các mẫu makefile và sơ khai để làm tất cả mọi thứ.



2

Eclipse là một sự thay thế tuyệt vời và bây giờ với plugin nhật thực mà bạn có thể tìm thấy tại eclipse.baeyens.it nó sẽ cài đặt trong chưa đầy 15 phút trên windows mac và linux. Nó thậm chí còn có một màn hình nối tiếp.


2

Thực sự có những thứ riêng biệt bạn cần:

  1. Một trình soạn thảo mã.
  2. Một toolchain và trình biên dịch.
  3. Một bộ tải khởi động.

Arduino IDE tất cả trong một tiêu chuẩn đi kèm với trình soạn thảo cực kỳ cơ bản, thứ gì đó bạn sẽ nhanh chóng phát triển. Tôi khuyên bạn nên thay thế trình chỉnh sửa trước, tiếp tục trả lời ở bước 2 và 3 từ gói cơ bản.

Khi bạn đã sẵn sàng để mạo hiểm hơn nữa, hãy xem http://playground.arduino.cc/Main/DevelopmentTools để biết các công cụ có thể đảm nhận cả ba chức năng chính.


Các biên tập viên chính đang dần thêm hỗ trợ Arduino, ví dụ, xem youtrack.jetbrains.com/su/CPP-364
Bryce

1

Dan đã nói gì (trong một bình luận cho câu hỏi): Eclipse là một IDE đầy đủ tính năng hoạt động rất tốt với Arduino. (Mặc dù vậy, bình luận thiết lập của anh ấy cũng vậy). Nhưng cách dễ nhất để thiết lập nó có thể là chuyển cài đặt đang hoạt động của người khác sang máy của bạn để có cấu hình hoạt động và bắt đầu điều chỉnh từ đó.


0

Tôi đã sử dụng Makefile này . Nó chăm sóc hầu hết các quá trình cho bạn. Sau đó, bạn chỉ cần viết một tệp thực hiện cục bộ đơn giản để cung cấp bảng chi tiết cụ thể. Có tài liệu thực sự tuyệt vời cho cách sử dụng nó. Sau đó, tôi chỉ sử dụng trình soạn thảo văn bản ưa thích của mình để viết mã bằng C hoặc C ++, biên dịch nó với tệp thực hiện cục bộ đơn giản của tôi. Việc tải lên cũng được xử lý bởi tệp thực hiện mà tôi đã liên kết: chỉ cần gọi "thực hiện tải lên".

Đây là một giải pháp tốt vì sau đó bạn có thể sử dụng bất kỳ trình soạn thảo văn bản nào bạn muốn. Nó cho phép bạn dễ dàng liên kết tất cả các thư viện arduino, cộng với bất kỳ thư viện địa phương nào bạn có.


-1

Đây là một Ide cũ mà tôi đã tìm thấy rất nhanh và linh hoạt. Nó có thể lập trình Arduinos, và cả các bản sao Arduino như Paperduino hay tinyUSB. Bạn cũng có thể kiểm tra USB hoặc serialports, kiểm tra cầu chì và nhiều thứ khác một cách dễ dàng.

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


Đây không phải là một khuyến nghị đặc biệt tốt - dự án đã không được cập nhật kể từ năm 2011 và sẽ không hoạt động với nhiều bo mạch mang nhãn hiệu Arduino mới hơn. (Đặc biệt, nó sẽ không hỗ trợ bất kỳ bo mạch ATmega32U4 nào, như Arduino Leonardo hay Micro, cũng không hỗ trợ các bo mạch ARM như Arduino Do hay Zero.)
duskwuff 16/10/17
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.