ESP8266, Arduino IDE czy Lua?


13

Planuję kupić ESP8266. Czy naprawdę muszę się nauczyć Lui, żeby się z tym bawić? Widziałem kilka osób używających go ze standardowym Arduino IDE.

Czy potrzebujesz niestandardowego oprogramowania, aby korzystać z Arduino IDE zamiast Lua?

Arduino IDE wydaje mi się lepsze, ponieważ znam już składnię. Czy jest jakaś wada używania Arduino IDE zamiast NodeMCU z Luą?

Odpowiedzi:


9

Korzystanie z Arduino IDE jest niestandardowym oprogramowaniem układowym. Tak piszesz. Nie potrzebujesz nowego oprogramowania, ponieważ nowe oprogramowanie jest tym, co piszesz.

Nie mogę wymyślić żadnych wad używania C ++ do programowania ESP8266 zamiast Lua - w rzeczywistości może to być tylko korzyść, ponieważ nie używasz interpretowanego języka, który będzie wolniejszy niż natywnie skompilowany kod.


3
więc dlaczego większość ludzi używa NodeMCU z Luą?
n0tis

3
@ n0tis Ponieważ jest wstępnie zainstalowany i bardzo łatwy w użyciu. Mówi się też, żeby go używali, kiedy go kupują, i nie wiedzą nic lepszego.
Majenko

1
@ n0tis Programowałem je tylko w C ++ i nie zrobiłbym nic więcej. Na koniec dnia zawsze możesz ponownie zainstalować oprogramowanie interpretera LUA i wrócić do LUA, jeśli nie zaczynasz programowania w stylu Arduino. Nic nie jest trwałe - możesz zmienić zdanie w dowolnym momencie.
Majenko

3
To Lua nie jest LUA. To nie jest skrót. Zobacz, co jest w nazwie? . Jak korzystasz z Lua na Arduino?
Nick Gammon

2
Tak, po prostu skompiluj i prześlij. Oprogramowanie lua lub AI thnker AT to oba programy załadowane na płytkę: jeden do interpretacji skryptu Lua, drugi do interpretacji poleceń AT. Podobnie jak szkice Arduino.
Majenko

11

Lua, podobnie jak wiele języków skryptowych, sprawia, że ​​jesteś znacznie bardziej produktywny jako programista: rzeczy stają się znacznie łatwiejsze, gdy pracujesz na wyższym poziomie abstrakcji i nie martw się o trywialne rzeczy, takie jak zarządzanie pamięcią. Osiągasz te same cele przy znacznie mniejszej liczbie linii kodu. Z drugiej strony, choć przyspiesza rozwój, spowalnia także wykonywanie programu. To, czy jest to dobry kompromis, zależy od konkretnej aplikacji, którą chcesz napisać.

W twoim szczególnym przypadku musisz również wziąć pod uwagę fakt, że nie znasz Lua i znasz już zarówno język C ++, jak i interfejs Arduino API. Wtedy nie możesz zgrać korzyści płynących z Lua w ramach jednego projektu, ze względu na czas potrzebny na naukę języka. Możesz rozważyć naukę języka jako inwestycję, prawdopodobnie warto, jeśli zamierzasz dużo programować na tej platformie, prawdopodobnie nie warto, jeśli jest to tylko jeden, wystarczająco prosty projekt. W razie wątpliwości proponuję przyjrzeć się interfejsowi API dostarczonemu z Luą na tej platformie: jak dobrze pasuje do twojego projektu? Czy jest to znacznie lepsze dopasowanie niż Arduino API?


1

ZAPRASZAMY DO POBYTU Z IDEĄ ARDUINO!

Pomimo tego, że programowanie w C ++ nie jest tak przyjazne i wszechstronne, jak Lua (praca z Esplorerem to naprawdę spełnienie marzeń!), Lua jest BARDZO NIESTABILNA I NIEPRZEWIDZIALNA !!!

Możesz uruchomić prosty program z dziesięcioma liniami i działa dobrze przez dzień ... dwa ... i nagle trzeciego dnia chip zawiesza się nieoczekiwanie i bez powodu! Jeśli masz szczęście, chip zrestartuje się, a program zacznie ponownie działać ... to NIE BYŁO ze mną. Musiałem ponownie załadować program! Po 3 takich cyklach postanowiłem porzucić Luę ... na zawsze.


2
To samo doświadczenie tutaj. I naprawdę bardzo lubiłem Luę.

Tak. Lua jako język to interesujące doświadczenie. Na NodeMCU, głównie frustrujące ...
dda

2
Lubię lua i REPL. Lubię też js na ESP8266 (espruino) i jego mały rozmiar. Jako programista systemów osadzonych jest bardzo jasne, że wiele bibliotek Arduino jest pisanych przez niewbudowanych programistów marnujących i / lub dzielących cenną pamięć. Używam Arduino, ale robię takie rzeczy, jak używanie własnego zarządzania ciągami znaków z C zamiast tej brzydkiej klasy C ++. Pamięć jest towarem, którego nie wolno wykorzystywać.
uDude

0

Przepraszamy za wpadanie, ale ten wątek pomógł mi zdecydować się na Arduino IDE.

Zacząłem od Arduino IDE, ale nie mogłem go uruchomić z ESP-07. Przeszedł do NodeMCU i Lua z Esplorer. Zajęło mi to trochę czasu, aby działał tam również ze względu na dziwną prędkość transmisji bootloadera. Po pierwsze, skonfigurowanie serwera WWW wydawało się takie łatwe, ale problem polegał na tym, że wszystkie znalezione przykłady były oparte na starożytnej wersji FW 0.96, a próby z najnowszą wersją 2.1 wcale nie działały. Uświadomienie sobie, że ludzie niewiele zrobili z nowszym FW, dało mi do myślenia.

Teraz dzięki Arduino IDE wszystko zaczyna działać tak, jak powinno! :)

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.