ESP8266, Arduino IDE vs Lua?

13

Saya berencana membeli ESP8266. Apakah saya benar-benar perlu belajar Lua untuk bermain dengannya? Saya telah melihat beberapa orang menggunakannya dengan IDE Arduino standar.

Apakah Anda memerlukan firmware khusus untuk menggunakan Arduino IDE, bukan Lua?

IDE Arduino tampaknya lebih baik bagi saya karena saya sudah tahu sintaksnya. Apakah ada kerugian menggunakan IDE Arduino alih-alih NodeMCU dengan Lua?

tidak
sumber

Jawaban:

9

Menggunakan Arduino IDE adalah firmware khusus. Itu yang kamu tulis. Anda tidak memerlukan firmware baru karena firmware baru adalah yang Anda tulis.

Saya tidak bisa memikirkan kelemahan menggunakan C ++ untuk memprogram ESP8266 alih-alih Lua - sebenarnya itu hanya bisa menguntungkan karena Anda tidak menggunakan bahasa yang ditafsirkan yang akan lebih lambat daripada kode yang dikompilasi secara asli.

Majenko
sumber
3
jadi mengapa kebanyakan orang menggunakan NodeMCU dengan Lua?
n0tis
3
@ n0tis Karena sudah diinstal sebelumnya dan sangat mudah digunakan. Mereka juga disuruh menggunakannya ketika mereka membelinya dan tidak tahu apa-apa.
Majenko
1
@ n0tis Saya hanya pernah memprogramnya dalam C ++ dan tidak akan melakukan hal lain. Pada akhirnya Anda selalu dapat menginstal ulang firmware juru bahasa LUA dan kembali ke LUA jika Anda tidak melanjutkan pemrograman gaya Arduino itu. Tidak ada yang permanen - Anda dapat mengubah pikiran kapan saja Anda suka.
Majenko
3
Itu Lua bukan LUA. Itu bukan akronim. Lihat Apa artinya sebuah nama? . Bagaimana Anda menggunakan Lua di Arduino?
Nick Gammon
2
Ya, Anda hanya kompilasi dan unggah. Firmware lua, atau AI thnker AT firmware keduanya hanyalah program yang diunggah ke papan: satu untuk menafsirkan skrip Lua, yang lain untuk menafsirkan perintah AT. Sama seperti sketsa Arduino Anda.
Majenko
11

Lua, seperti banyak bahasa scripting, cenderung membuat Anda jauh lebih produktif sebagai seorang programmer: segalanya menjadi jauh lebih mudah saat Anda bekerja pada tingkat abstraksi yang lebih tinggi dan tidak khawatir tentang hal-hal sepele seperti manajemen memori. Anda mencapai tujuan yang sama dengan garis kode yang jauh lebih sedikit. Di sisi lain, selain membuat pengembangan lebih cepat, itu juga membuat eksekusi program lebih lambat. Apakah ini trade-off yang baik atau tidak, sangat tergantung pada aplikasi tertentu yang ingin Anda tulis.

Dalam kasus khusus Anda, Anda juga harus mempertimbangkan fakta bahwa Anda tidak tahu Lua, dan Anda sudah tahu bahasa C ++ dan API Arduino. Maka Anda mungkin tidak merobek manfaat Lua pada satu proyek tunggal, karena waktu yang dibutuhkan untuk mempelajari bahasa. Anda dapat mempertimbangkan belajar bahasa sebagai investasi, mungkin layak jika Anda akan banyak memprogram di platform ini, mungkin tidak layak jika hanya untuk satu proyek, cukup sederhana. Jika tidak yakin, saya sarankan Anda melihat API yang disediakan dengan Lua pada platform ini: seberapa baik itu cocok dengan proyek Anda? Apakah ini cocok secara signifikan lebih baik daripada API Arduino?

Edgar Bonet
sumber
1

SAYA SANGAT MEREKOMENDASIKAN UNTUK TINGGAL DENGAN IDE ARDUINO!

Meskipun pemrograman dalam C ++ tidak ramah dan serbaguna seperti Lua (bekerja dengan Esplorer benar-benar mimpi yang menjadi kenyataan!), Lua SANGAT TIDAK TAK TERSTABIL DAN TIDAK DIPREDIKSI !!!

Anda dapat menjalankan program sederhana dari sepuluh baris dan berfungsi dengan baik selama sehari ... dua ... dan tiba-tiba, pada hari ke-3 chip tiba-tiba hang, dan tanpa alasan! Jika Anda beruntung, chip akan reboot dan program akan mulai berjalan lagi ... itu BUKAN dengan saya. Saya harus memuat ulang program lagi! Setelah 3 siklus seperti ini, saya memutuskan untuk meninggalkan Lua ... SELAMANYA.

pengguna3152171
sumber
2
Pengalaman yang sama di sini. Dan saya benar-benar menyukai Lua.
Ya. Lua sebagai bahasa adalah pengalaman yang menarik. Di NodeMCU, kebanyakan yang membuat frustrasi ..
dda
2
Saya suka lua dan REPL. Saya juga suka js pada ESP8266 (espruino) dan tapak kecilnya. Sebagai seorang programmer dari sistem embedded, sangat jelas bahwa banyak perpustakaan Arduino ditulis oleh programmer yang tidak tertanam yang membuang dan / atau memecah-mecah memori yang berharga. Saya memang menggunakan Arduino tetapi melakukan hal-hal seperti menggunakan manajemen string saya sendiri dari C daripada kelas C ++ yang jelek. Ingatan adalah komoditas untuk dihargai, bukan pelecehan.
uDude
0

Maaf karena menabrak, tetapi utas ini membantu saya memutuskan untuk Arduino IDE.

Saya mulai dengan Arduino IDE tetapi tidak bisa bekerja dengan ESP-07. Pindah ke NodeMCU dan Lua dengan Esplorer. Butuh beberapa saat untuk membuatnya bekerja di sana juga karena tingkat baud bootloader yang aneh. Pertama tampaknya sangat mudah untuk membuat server WEB, tetapi masalahnya adalah bahwa semua contoh yang ditemukan didasarkan pada FW 0,96 kuno, dan mencoba dengan 2.1 terbaru tidak berhasil sama sekali. Begitu menyadari bahwa orang-orang tidak melakukan banyak hal dengan FW yang lebih baru membuat saya berpikir dua kali.

Sekarang dengan Arduino IDE hal-hal mulai bekerja seperti seharusnya! :)

PeteR
sumber