Witam serdecznie.
Rozpoczynam przygode z nauką i budową swoich urządzeń IoT, i trafiłem na suplę. Czytając forum zainstalowałem Arduino IDE plus potrzebne biblioteki i zacząłem moje pierwsze programowanie ESP32.
I mam pytanie bo może ja mam coś źle skonfigurowane.
Czy to normalne, że Arduino ewnetualne błędy w kodzie pokazuje dopiero w trakcie kompilacji, która trwa zdecydowanie wieki zbyt długo?
Czy to normalne, że Arduino nie podsuwa autouzupełniania pisanego przez nas kodu?
W jaki sposób uczyć się biblioteki Supla Device i innych by wiedzieć jak implementować formuły w głownym kodzie?
Czy w przypadku chęci pozostania przy projekcie Supli możiwa jest jakaś alternatywa dla Arduino IDE w postaci np VS Codium + ESP IDF
Nadmienię, że moim systemem operacyjnym jest Linux Mint.
Pozdrawiam.
Alternatywa dla Arduino IDE?
-
[email protected]
- Posts: 1585
- Joined: Mon Feb 06, 2023 8:56 am
- Has thanked: 18 times
- Been thanked: 26 times
Vs code z dodatkiem Platform.io
A generalnie zawsze to się wolno komplikuje .
Za to vs code ma intellisense (podpowiadanie ) i pokazuje czasem przed kompilacja , ale to działa tak sobie
A generalnie zawsze to się wolno komplikuje .
Za to vs code ma intellisense (podpowiadanie ) i pokazuje czasem przed kompilacja , ale to działa tak sobie
-
SOYER
- Posts: 1623
- Joined: Wed Aug 10, 2022 12:29 pm
- Location: Kryry
- Been thanked: 2 times
W arduino ide pod windowsem warto wyłączyć defendera, zdecydowana poprawa czasu kompilacji.
Podobnie każda kolejna kompilacja tego samego kodu trwa zdecydowanie szybciej, jeśli nie zapisujemy na bieżąco zmian w kodzie. Czyli rozpoczynamy pracę nad kodem i od razu włączamy pierwszą kompilację, niech leci w tle. Po wprowadzeniu zmian nie zapisujemy projektu tylko najpierw kompilujemy, wtedy kompilacja jest o wiele szybciej przeprowadzona.
Oczywiście to dotyczy esp32, a nie zawsze potrzeba nam takiego potwora. Dla esp8266 kompilacja jest nieporównywalnie szybsza.
Podobnie każda kolejna kompilacja tego samego kodu trwa zdecydowanie szybciej, jeśli nie zapisujemy na bieżąco zmian w kodzie. Czyli rozpoczynamy pracę nad kodem i od razu włączamy pierwszą kompilację, niech leci w tle. Po wprowadzeniu zmian nie zapisujemy projektu tylko najpierw kompilujemy, wtedy kompilacja jest o wiele szybciej przeprowadzona.
Oczywiście to dotyczy esp32, a nie zawsze potrzeba nam takiego potwora. Dla esp8266 kompilacja jest nieporównywalnie szybsza.
https://youtube.com/@tomaszhamer8134?si=_J1cT_QWsXxgt1Fm
https://kryry01.aqi.eco/pl
https://app.weathercloud.net/d4311785603
https://github.com/Soyer79
https://kryry01.aqi.eco/pl
https://app.weathercloud.net/d4311785603
https://github.com/Soyer79
-
Jarek1988
- Posts: 17
- Joined: Sun Jul 28, 2024 12:06 pm
No niestety sprawdzałem na vs code i też się wolno kompiluje. Jest jednak przyjemniejszy i sam w sobie sprawnie działa.[email protected] wrote: Sun Aug 18, 2024 7:24 am Vs code z dodatkiem Platform.io
A generalnie zawsze to się wolno komplikuje .
Za to vs code ma intellisense (podpowiadanie ) i pokazuje czasem przed kompilacja , ale to działa tak sobie
-
Jarek1988
- Posts: 17
- Joined: Sun Jul 28, 2024 12:06 pm
Przede mną jeszcze bardzo długa droga zanim poznam tajniki i szczegóły.SOYER wrote: Sun Aug 18, 2024 9:26 am W arduino ide pod windowsem warto wyłączyć defendera, zdecydowana poprawa czasu kompilacji.
Podobnie każda kolejna kompilacja tego samego kodu trwa zdecydowanie szybciej, jeśli nie zapisujemy na bieżąco zmian w kodzie. Czyli rozpoczynamy pracę nad kodem i od razu włączamy pierwszą kompilację, niech leci w tle. Po wprowadzeniu zmian nie zapisujemy projektu tylko najpierw kompilujemy, wtedy kompilacja jest o wiele szybciej przeprowadzona.
Oczywiście to dotyczy esp32, a nie zawsze potrzeba nam takiego potwora. Dla esp8266 kompilacja jest nieporównywalnie szybsza.
Pierwszy projekt jaki sobie wymysliłem, to sterowanie pompami od ogrzewania.
Do ESP będą podpięte 4 czujniki DS18b20 (równolegle), do tego termopara max6675 i na podstawie odczytów ESP32 ma sterować przekaźnikami SSR sterującymi pracami pomp co oraz CWU, na koniec jakiś wyświetlacz na którym ESP32 wyswietli stany wszystkiego.
Nie mam pojęcia czy lepszym wyborem do takiego projektu jest ESP32 czy lepsze byłoby 8266.
-
[email protected]
- Posts: 1585
- Joined: Mon Feb 06, 2023 8:56 am
- Has thanked: 18 times
- Been thanked: 26 times
Żadnego 8266, bo braknie pamięciJarek1988 wrote: Sun Aug 18, 2024 11:01 amPrzede mną jeszcze bardzo długa droga zanim poznam tajniki i szczegóły.SOYER wrote: Sun Aug 18, 2024 9:26 am W arduino ide pod windowsem warto wyłączyć defendera, zdecydowana poprawa czasu kompilacji.
Podobnie każda kolejna kompilacja tego samego kodu trwa zdecydowanie szybciej, jeśli nie zapisujemy na bieżąco zmian w kodzie. Czyli rozpoczynamy pracę nad kodem i od razu włączamy pierwszą kompilację, niech leci w tle. Po wprowadzeniu zmian nie zapisujemy projektu tylko najpierw kompilujemy, wtedy kompilacja jest o wiele szybciej przeprowadzona.
Oczywiście to dotyczy esp32, a nie zawsze potrzeba nam takiego potwora. Dla esp8266 kompilacja jest nieporównywalnie szybsza.
Pierwszy projekt jaki sobie wymysliłem, to sterowanie pompami od ogrzewania.
Do ESP będą podpięte 4 czujniki DS18b20 (równolegle), do tego termopara max6675 i na podstawie odczytów ESP32 ma sterować przekaźnikami SSR sterującymi pracami pomp co oraz CWU, na koniec jakiś wyświetlacz na którym ESP32 wyswietli stany wszystkiego.
Nie mam pojęcia czy lepszym wyborem do takiego projektu jest ESP32 czy lepsze byłoby 8266.
-
Jarek1988
- Posts: 17
- Joined: Sun Jul 28, 2024 12:06 pm
To 8266 już powoli odchodzi do muzeum?[email protected] wrote: Sun Aug 18, 2024 11:30 amŻadnego 8266, bo braknie pamięciJarek1988 wrote: Sun Aug 18, 2024 11:01 amPrzede mną jeszcze bardzo długa droga zanim poznam tajniki i szczegóły.SOYER wrote: Sun Aug 18, 2024 9:26 am W arduino ide pod windowsem warto wyłączyć defendera, zdecydowana poprawa czasu kompilacji.
Podobnie każda kolejna kompilacja tego samego kodu trwa zdecydowanie szybciej, jeśli nie zapisujemy na bieżąco zmian w kodzie. Czyli rozpoczynamy pracę nad kodem i od razu włączamy pierwszą kompilację, niech leci w tle. Po wprowadzeniu zmian nie zapisujemy projektu tylko najpierw kompilujemy, wtedy kompilacja jest o wiele szybciej przeprowadzona.
Oczywiście to dotyczy esp32, a nie zawsze potrzeba nam takiego potwora. Dla esp8266 kompilacja jest nieporównywalnie szybsza.
Pierwszy projekt jaki sobie wymysliłem, to sterowanie pompami od ogrzewania.
Do ESP będą podpięte 4 czujniki DS18b20 (równolegle), do tego termopara max6675 i na podstawie odczytów ESP32 ma sterować przekaźnikami SSR sterującymi pracami pomp co oraz CWU, na koniec jakiś wyświetlacz na którym ESP32 wyswietli stany wszystkiego.
Nie mam pojęcia czy lepszym wyborem do takiego projektu jest ESP32 czy lepsze byłoby 8266.
-
SOYER
- Posts: 1623
- Joined: Wed Aug 10, 2022 12:29 pm
- Location: Kryry
- Been thanked: 2 times
esp8266 jeśli ma obsługiwać suplę to do bardzo prostych projektów typu włącznik światła czy sterowanie bramą, do czegoś więcej już tylko esp32. Jeśli bez obsługi supli, to na esp8266 zrobisz duuuuuużo, a esp32 tylko do naprawdę zaawansowanych rzeczy.
https://youtube.com/@tomaszhamer8134?si=_J1cT_QWsXxgt1Fm
https://kryry01.aqi.eco/pl
https://app.weathercloud.net/d4311785603
https://github.com/Soyer79
https://kryry01.aqi.eco/pl
https://app.weathercloud.net/d4311785603
https://github.com/Soyer79
Jeśli chodzi o Suplę, to już w zasadzie tylko ESP32. Po co się denerwować brakiem pamięci i problemami z tym związanymi. Różnica w cenie modułów prawie niezauważalna.
Wiesz, że Supla obsługuje Zigbee? Wstąp do Klubu Promila: https://forum.supla.org/viewtopic.php?t=18018
Szukasz nowego GG? Jest tutaj: https://forum.supla.org/viewtopic.php?t=18036-
klew
- Posts: 13908
- Joined: Thu Jun 27, 2019 12:16 pm
- Location: Wrocław
- Has thanked: 134 times
- Been thanked: 137 times
Esp8266 i podstawowy wariant esp32 to stare układy, które przez producenta nie są zalecane do nowych projektów.
Oficjalne wsparcie dla esp8266 miało się skończyć na początku 2025, a esp32 2027, ale niedawno espresiff ogłosił że przedłużają okres wsparcia dla tych układów o kolejne 3 lata.
Esp8266 to sprzęt z 2014, a esp32 z 2016...
Na esp8266 jesteś w stanie zrobić bardzo dużo w Supli. W zasadzie Supla tutaj nie nakłada dużych ograniczeń i nie zużywa strasznie dużo zasobów.
Problematyczne są szyfrowane połączenia SSL (w tym HTTPS), bo one zużywają bardzo dużo pamięci RAM i to jest realne ograniczenie a nie Supla sama w sobie.
Kolejnym ograniczeniem są umiejętności programistyczne. Zużycie pamięci da się optymalizować pod konkretne projekty, ale trzeba wiedzieć co się robi. Co innego gdy bierzesz kilka gotowych bibliotek i łączysz to razem, potem coś przestaje działać z powodu pamięci i na tym się kończy dany projekt, bo łatwiej jest przejść na esp32, które na 10x więcej RAMu, niż optymalizować zużycie pamięci.
Odnośnie IDE i kompilacji, to Arduino to zabawka. Nawet ciężko to nazwać IDE
, ale jest to w miarę spójne środowisko dla wielu różnych układów i jest dostępna ogromna ilość bibliotek i poradników w sieci.
Wiele osób korzysta z Platform Io zamiast Arduino ide.
Kompilacja w Arduino jest wolna bo tam z reguły wszystko kompiluje się od nowa i leci wszystko na jednym wątku.
Gołe esp-idf ma już całkiem fajnie zbudowany build system oparty o cmake i tam leci prosta inkrementalna kompilacja, która trwa max kilka sekund z linkowaniem.
To powinno dać się skompilować na dowolnym edytorze/IDE.
Osobiście używam vim + terminal. W vim mam podpięty kompilator clang, który załatwia temat podkreślania błędów i podpowiedzi nazw metod itp.
Ale nie polecam vim, jeśli nie go nie znasz
Ze środowiskiem to bardziej na bym zadał pytanie od drugiej strony: co znasz i lubisz używać? W zasadzie pod każde ide powinno dać się podpiąć kompilacje Arduino lub z esp-idf.
Oficjalne wsparcie dla esp8266 miało się skończyć na początku 2025, a esp32 2027, ale niedawno espresiff ogłosił że przedłużają okres wsparcia dla tych układów o kolejne 3 lata.
Esp8266 to sprzęt z 2014, a esp32 z 2016...
Na esp8266 jesteś w stanie zrobić bardzo dużo w Supli. W zasadzie Supla tutaj nie nakłada dużych ograniczeń i nie zużywa strasznie dużo zasobów.
Problematyczne są szyfrowane połączenia SSL (w tym HTTPS), bo one zużywają bardzo dużo pamięci RAM i to jest realne ograniczenie a nie Supla sama w sobie.
Kolejnym ograniczeniem są umiejętności programistyczne. Zużycie pamięci da się optymalizować pod konkretne projekty, ale trzeba wiedzieć co się robi. Co innego gdy bierzesz kilka gotowych bibliotek i łączysz to razem, potem coś przestaje działać z powodu pamięci i na tym się kończy dany projekt, bo łatwiej jest przejść na esp32, które na 10x więcej RAMu, niż optymalizować zużycie pamięci.
Odnośnie IDE i kompilacji, to Arduino to zabawka. Nawet ciężko to nazwać IDE
Wiele osób korzysta z Platform Io zamiast Arduino ide.
Kompilacja w Arduino jest wolna bo tam z reguły wszystko kompiluje się od nowa i leci wszystko na jednym wątku.
Gołe esp-idf ma już całkiem fajnie zbudowany build system oparty o cmake i tam leci prosta inkrementalna kompilacja, która trwa max kilka sekund z linkowaniem.
To powinno dać się skompilować na dowolnym edytorze/IDE.
Osobiście używam vim + terminal. W vim mam podpięty kompilator clang, który załatwia temat podkreślania błędów i podpowiedzi nazw metod itp.
Ale nie polecam vim, jeśli nie go nie znasz
Ze środowiskiem to bardziej na bym zadał pytanie od drugiej strony: co znasz i lubisz używać? W zasadzie pod każde ide powinno dać się podpiąć kompilacje Arduino lub z esp-idf.
Najlepsze suple dla Twojego domu 
