ethanak Marzec 2, 2020 Udostępnij Marzec 2, 2020 6 godzin temu, Rogal napisał: także podział projektu na pliki Ekhm... dlaczego nie możesz podzielić projektu na pliki? Możesz mieć główny plik *.ino, jakieś tam dodatkowe pliki *.c i *.cpp, o nagłówkowych już nie wspomnę - a od pewnego czasu można mieć nawet kilka plików *.ino w jednym projekcie. 6 godzin temu, Rogal napisał: ale taki przywilej hobbysty, że mogę się rozdwodzic nad prescalerem adc i sleep mode żeby osiągnąć lepsze rezultaty Kto Ci broni? 7 godzin temu, Belferek napisał: Piszesz o dialekcie Arduino - takiego moim zdaniem nie ma. Są za to dedykowane biblioteki producenta z ich funkcjami To też nie tak. Arduino pochodzi od Wiringa, który stał się de facto standardem. Tak swoją drogą dziwi mnie fakt, że pewien pan na literę A, który podobno jest profesjonalistą w programowaniu mikrokontrolerów (a przynajmniej klienci się do niego zgłaszają po kody w C) o tym nie wie... Jeszcze co do środowiska: może niewielu z Was zauważyło, ale w preferencjach Arduino IDE jest opcja "użyj zewnętrznego edytora". Działa to bardzo zacnie... i nie musisz używać całego IDE typu VSC, ale jakiegoś lekkiego edytorka typu "Geany" (mój ulubiony), a kompilację i upload przeprowadzać wpisując z palca (czy jakiegoś skryptu) polecenia arduino_builder i avrdude/esptool z odpowiednimi parametrami 8 godzin temu, Belferek napisał: ponieważ Arduino IDE wspiera ESP8266 i większość użytkowników forum z pewnością też z tego środowiska korzysta więc proponuję by dalszą część tego kursu (jeśli będzie) oprzeć na tym właśnie IDE. Jestem za. 8 godzin temu, SOYER napisał: Dlaczego lepiej coś napisać w C niż w "dialekcie" Arduino? O "dialekcie" to juz wiesz. A że lepiej pisać w C... to stwierdził tylko ów pan o którym już wspomniałem (mianowicie że mu klienci kazali). Owszem, sam stosuję z różnych przyczyn wstawki w C, ale to są tylko wstawki.
Rogal Marzec 2, 2020 Udostępnij Marzec 2, 2020 Na pewno jest tak jak mówisz ale dopiero muszę do tego dojść. Arduino jeszcze dałbym rade sobie skonfigurować do swoich potrzeb programując bity w atmedze ale na ESP to w sumie nie wiem jak to zrobić. Pisząc wczorajszy komentarz chodziło mi bardziej o zestaw funkcji dostarczone przez arduino niż o samą płytkę. 8 godzin temu, ethanak napisał: Jestem za. A ja bym chociaż jeden program w kursie chciał zobaczyć na VSC.
ethanak Marzec 2, 2020 Udostępnij Marzec 2, 2020 Ale program będzie dokładnie ten sam, i tak w końcu wywołany będzie builder, i w tym momencie nie ma żadnej różnicy czy napisałeś to w tym czymś, co w Arduino IDE udaje edytor, czy w Atomie (bo przecież edytor w VSC czy PlatformIO to po prostu Atom). Co do programowania bitów - w ESP tego nie ma, korzysta się z funkcji dostarczonych przez Chińczyków, a to, co dostajesz jako możliwość programowania w Wiringu to po prostu zestaw funkcji tłumaczących wywołania Wiringa na funkcje Ekspressifa. Owszem - pewnie można operować bitami i rejestrami, ale życzę powodzenia w ESP32. Jeśli chcesz wycisnąć wszystko z ESP - zapoznaj się z ich bibliotekami. Akurat z poziomu Arduino do wszystkich masz dostęp. 2
tomek89mcpl Marzec 22, 2020 Udostępnij Marzec 22, 2020 Dnia 1.03.2020 o 16:22, AdamSamborski napisał: Jeśli to możliwe to proszę o tutka jak programować w czystym C. Jak coś zaklepuje sobie ten temat, niedługo opublikuje go na forum( bez zbędnego instalowania i konfigurowania). 1
mn860618 Czerwiec 12, 2022 Udostępnij Czerwiec 12, 2022 witam, czy mógłby ktoś pomóc analogicznie podłączyć jedną z tych płytek kupiłem od kogoś sprzedawał masę elektroniki za małe pieniądze i mam ale nie jest to ESP01 tylko: pierwsza od gory: ESP8266MOD druga: ESP-12E trzecia: ESP-12F takie symbole maja.
Belferek Czerwiec 12, 2022 Udostępnij Czerwiec 12, 2022 Zainstaluj za pomocą menadżera płytek moduł ESP8266 i poeksperymentuj z przykładami dla tej płytki. Niewyraźne te fotki, a na spodzie płytek nic nie pisze? Ja programuję NodeMCU 1.0 (ESP-12 Module) 1
mn860618 Czerwiec 12, 2022 Udostępnij Czerwiec 12, 2022 2 godziny temu, Belferek napisał: Zainstaluj za pomocą menadżera płytek moduł ESP8266 i poeksperymentuj z przykładami dla tej płytki. Niewyraźne te fotki, a na spodzie płytek nic nie pisze? Ja programuję NodeMCU 1.0 (ESP-12 Module) Hejka, próbowałem wgrać ten program z Arduino IDE ale coś błąd wyskakuje. W tym drugim środowisku też próbowałem ale coś nie tak. Może skupie się na Arduino IDE pomógł byś mi to uruchomić?
Belferek Czerwiec 12, 2022 Udostępnij Czerwiec 12, 2022 (edytowany) Zamiast kodu "Blink" lepiej pokazać więcej informacji z konsoli. Najlepiej w Arduino IDE w PLIK-PREFERENCJE zaznaczyć opcje by pokazywane były szczegółowe informacje podczas kompilacji i wgrywania, a także wszystkie ostrzeżenia kompilatora. W tym samym miejscu w polu "Dodatkowe adresy URL...." ja sobie dopisałem http://arduino.esp8266.com/stable/package_esp8266com_index.json Sprawdziłbym także takie rzeczy jak: 1. Czy płytka widziana jest w menadżerze urządzeń Windows, czy nie ma problemu ze sterownikami? U mnie widziana jest jako Porty (COM i LPT)-> USB Serial CH340 2. Czy wybrałeś dobrą płytkę, port COM? Ja NIE wybieram u siebie Genuino ESP8266 tak jak Ty to zrobiłeś lecz NodeMCU 1.0 (ESP-12E Module). 3. Co sygnalizują wbudowane diody LED? 4. Czy cokolwiek pojawia się w monitorze portu szeregowego (eksperymentuj z prędkościami) po naciśnięciu RESET? U mnie dla 74880b/s NL+CR wyświetla się np. coś takiego: ets Jan 8 2013,rst cause:2, boot mode:(3,7) load 0x4010f000, len 3460, room 16 tail 4 chksum 0xcc load 0x3fff20b8, len 40, room 4 tail 4 chksum 0xc9 csum 0xc9 v00043a30 ~ld Będziesz wiedział czy moduł żyje. Zobacz także tutaj i tutaj. No i przede wszystkim zobacz tu. Edytowano Czerwiec 12, 2022 przez Belferek 1
mn860618 Czerwiec 13, 2022 Udostępnij Czerwiec 13, 2022 12 godzin temu, Belferek napisał: 1. Czy płytka widziana jest w menadżerze urządzeń Windows, czy nie ma problemu ze sterownikami? U mnie widziana jest jako Porty (COM i LPT)-> USB Serial CH340 No i mam, nie widzi płytki. Arduino widzi pod COM3. Po podłączeniu Arduino jest dźwięk podłączenia jak każdego urządzenia USB w Windowsie 10. Po podłączeniu ESP cicho tylko niebieska dioda która jest wbudowana zamruga szybko i nic. Powinno chodziarz wyświetlić chyba w menadżerze urządzeń że jest nieznane urządzenie a tu nie ma nic tylko port COM1 który jest widoczny również gdy ESP lub Arduino są odłączone. 12 godzin temu, Belferek napisał:
ethanak Czerwiec 13, 2022 Udostępnij Czerwiec 13, 2022 8 minut temu, mn860618 napisał: tylko niebieska dioda która jest wbudowana zamruga szybko Czyli płytka dostaje zasilanie i procek jest prawdopodobnie sprawny. Nie znam się na Windowsach, ale czy tam nie trzeba przypadkiem jakiegoś sterownika zainstalować? A poza tym kabel - czy na pewno nie jest to kabelek do ładowania (bez linii danych)? O ile pamiętam jakieś 95% problemów z ESP8266/ESP32 na tym forum rozwiązywało się poprzez zastosowanie porządnego kabelka. 1
mn860618 Czerwiec 13, 2022 Udostępnij Czerwiec 13, 2022 2 minuty temu, ethanak napisał: Czyli płytka dostaje zasilanie i procek jest prawdopodobnie sprawny. Nie znam się na Windowsach, ale czy tam nie trzeba przypadkiem jakiegoś sterownika zainstalować? A poza tym kabel - czy na pewno nie jest to kabelek do ładowania (bez linii danych)? O ile pamiętam jakieś 95% problemów z ESP8266/ESP32 na tym forum rozwiązywało się poprzez zastosowanie porządnego kabelka. No... nie wierze lol myślałem o tym samym a jednak droga do mojej graciarni była za daleka by sięgnąć po odpowiedni kabelek... TAK oba kable które próbowałem były wyłącznie do ładowania bez lini danych... Teraz był dźwięk że coś zostało podłączone i mam USB SERIAL CH340 (COM4) Poza tym miałem te kabelki odłożone bo izolacja przy wtyczkach jest uszkodzona i pomyślałem że chyba mogą nie nadawać się do użytku wystają jakieś druty. Dzięki za pomoc
mn860618 Czerwiec 13, 2022 Udostępnij Czerwiec 13, 2022 Ok. testowałem płytkę działa ale przy kompilacji programu: #include <ESP8266WiFi.h> const char* ssid ="siec01"; // Tu wpisz nazwę swojego wifi const char* password = "haslo1234"; // Tu wpisz hasło do swojego wifi int ledPin = D4; // D4 int ledPin2 = D6; // D6 WiFiServer server(80); void setup() { Serial.begin(9600); delay(10); pinMode(ledPin, OUTPUT); digitalWrite(ledPin, LOW); pinMode(ledPin2, OUTPUT); digitalWrite(ledPin2, LOW); // Connect to WiFi network Serial.println(); Serial.println(); Serial.print("Connecting to "); Serial.println(ssid); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println(""); Serial.println("WiFi connected"); // Start the server server.begin(); Serial.println("Server started"); // Print the IP address Serial.print("Use this URL to connect: "); Serial.print("http://"); Serial.print(WiFi.localIP()); Serial.println("/"); } void loop() { // Check if a client has connected WiFiClient client = server.available(); if (!client) { return; } // Wait until the client sends some data Serial.println("new client"); int timewate = 0; while(!client.available()){ delay(1); timewate = timewate +1; if(timewate>1800) { Serial.println(">>> Client Timeout !"); client.stop(); return; } } // Read the first line of the request String request = client.readStringUntil('\r'); Serial.println(request); client.flush(); // Match the request int value = LOW; if (request.indexOf("/LED=ON") != -1) { digitalWrite(ledPin, HIGH); value = HIGH; } if (request.indexOf("/LED=OFF") != -1) { digitalWrite(ledPin, LOW); value = LOW; } if (request.indexOf("/LED2=ON") != -1) { digitalWrite(ledPin2, HIGH); value = HIGH; } if (request.indexOf("/LED2=OFF") != -1) { digitalWrite(ledPin2, LOW); value = LOW; } // Return the response client.println("HTTP/1.1 200 OK"); client.println("Content-Type: text/html"); client.println(""); // do not forget this one client.println(""); client.println(""); client.print("Led pin is now: "); client.println(""); client.println(""); client.println(""); client.println(""); client.println(""); client.println(""); delay(1); Serial.println("Client disonnected"); Serial.println(""); } wyskakuje: D:\Arduino\esp8266_wifi_haslo_login\esp8266_wifi_haslo_login.ino: In function 'void loop()': D:\Arduino\esp8266_wifi_haslo_login\esp8266_wifi_haslo_login.ino:72:5: warning: variable 'value' set but not used [-Wunused-but-set-variable] 72 | int value = LOW; | ^~~~~ Executable segment sizes: ICACHE : 32768 - flash instruction cache IROM : 247236 - code in flash (default or ICACHE_FLASH_ATTR) IRAM : 27273 / 32768 - code in IRAM (IRAM_ATTR, ISRs...) DATA : 1512 ) - initialized variables (global, static) in RAM/HEAP RODATA : 1152 ) / 81920 - constants (global, static) in RAM/HEAP BSS : 25776 ) - zeroed variables (global, static) in RAM/HEAP Sketch uses 277173 bytes (26%) of program storage space. Maximum is 1044464 bytes. Global variables use 28440 bytes (34%) of dynamic memory, leaving 53480 bytes for local variables. Maximum is 81920 bytes. po czym wgrywam i: D:\Arduino\esp8266_wifi_haslo_login\esp8266_wifi_haslo_login.ino: In function 'void loop()': D:\Arduino\esp8266_wifi_haslo_login\esp8266_wifi_haslo_login.ino:72:5: warning: variable 'value' set but not used [-Wunused-but-set-variable] 72 | int value = LOW; | ^~~~~ Executable segment sizes: ICACHE : 32768 - flash instruction cache IROM : 247236 - code in flash (default or ICACHE_FLASH_ATTR) IRAM : 27273 / 32768 - code in IRAM (IRAM_ATTR, ISRs...) DATA : 1512 ) - initialized variables (global, static) in RAM/HEAP RODATA : 1152 ) / 81920 - constants (global, static) in RAM/HEAP BSS : 25776 ) - zeroed variables (global, static) in RAM/HEAP Sketch uses 277173 bytes (26%) of program storage space. Maximum is 1044464 bytes. Global variables use 28440 bytes (34%) of dynamic memory, leaving 53480 bytes for local variables. Maximum is 81920 bytes. esptool.py v3.0 Serial port COM4 Connecting.... Chip is ESP8266EX Features: WiFi Crystal is 26MHz MAC: 4c:75:25:35:30:f0 Uploading stub... Running stub... Stub running... Configuring flash size... Auto-detected Flash size: 4MB Compressed 281328 bytes to 205986... Writing at 0x00000000... (7 %) Writing at 0x00004000... (15 %) Writing at 0x00008000... (23 %) Writing at 0x0000c000... (30 %) Writing at 0x00010000... (38 %) Writing at 0x00014000... (46 %) Writing at 0x00018000... (53 %) Writing at 0x0001c000... (61 %) Writing at 0x00020000... (69 %) Writing at 0x00024000... (76 %) Writing at 0x00028000... (84 %) Writing at 0x0002c000... (92 %) Writing at 0x00030000... (100 %) Wrote 281328 bytes (205986 compressed) at 0x00000000 in 18.3 seconds (effective 122.7 kbit/s)... Hash of data verified. Leaving... Hard resetting via RTS pin... a w Serial monitorze poza tym Tools/Upload Speed/115200 a pod płytka jest napisane by używać 9600 czy możecie coś poradzić? Dziękuje pozdrawiam.
ethanak Czerwiec 13, 2022 Udostępnij Czerwiec 13, 2022 10 minut temu, mn860618 napisał: czy możecie coś poradzić? Ale na co? Wyskakuje ostrzeżenie, bo podstawiasz jakąś wartość do zmiennej "value" i nigdzie później tej zmiennej nie używasz - kompilator po prostu informuje że chyba o czymś zapomniałeś (np. client.println(value) albo coś w tym rodzaju). 12 minut temu, mn860618 napisał: a w Serial monitorze Bo z jakichś przyczyn nie może się połączyć z siecią. Na wszelki wypadek możesz dać przed WiFi.begin co w stylu: WiFi.mode(WIFI_STA); Jak nie pomoże to sprawdź czy na pewno masz dobrze wpisane SSID i hasło. 14 minut temu, mn860618 napisał: poza tym Tools/Upload Speed/115200 Całkiem prawidłowo, możesz spróbować szybciej to nie będziesz godzinę czekał aż się program wgra, powinien łyknąć nawet 921600 16 minut temu, mn860618 napisał: a pod płytka jest napisane by używać 9600 Gdzie co jest pod jaką płytką napisane, możesz jakoś jaśniej się wyrazić? W programie używasz 9600 (czemu nie np. 115200?), a upload speed nie ma z tym nic wspólnego. 1
mn860618 Czerwiec 13, 2022 Udostępnij Czerwiec 13, 2022 9 godzin temu, ethanak napisał: Ale na co? Wyskakuje ostrzeżenie, bo podstawiasz jakąś wartość do zmiennej "value" i nigdzie później tej zmiennej nie używasz - kompilator po prostu informuje że chyba o czymś zapomniałeś (np. client.println(value) albo coś w tym rodzaju). Bo z jakichś przyczyn nie może się połączyć z siecią. Na wszelki wypadek możesz dać przed WiFi.begin co w stylu: WiFi.mode(WIFI_STA); Jak nie pomoże to sprawdź czy na pewno masz dobrze wpisane SSID i hasło. Całkiem prawidłowo, możesz spróbować szybciej to nie będziesz godzinę czekał aż się program wgra, powinien łyknąć nawet 921600 Gdzie co jest pod jaką płytką napisane, możesz jakoś jaśniej się wyrazić? W programie używasz 9600 (czemu nie np. 115200?), a upload speed nie ma z tym nic wspólnego. Zrobiłem tak jest ok ale brakuje przycisków... ogólnie to korzystam z tego materiału: https://pcudnik.pl/jak-zaczac-zabawe-z-modulem-wifi-esp8266-nodemcu-v3/ i jakoś nie wyświetla mi przycisków chyba jak narazie dam sobie spokój powracam do Arduino podstawy lekcja 6 bo jeszcze nie skończyłem. Zbyt dużo niewiadomych tu widzę nawet nie wiem jak ten program działa, nie mam zielonego pojęcia ale czegoś się nauczyłem. Pozdrawiam dziękuje.
Belferek Czerwiec 13, 2022 Udostępnij Czerwiec 13, 2022 (edytowany) 30 minut temu, mn860618 napisał: Zrobiłem tak jest ok ale brakuje przycisków... ogólnie to korzystam z tego materiału Są tutoriale lepsze i gorsze. Akurat w komentarzach do tego temat ten jest poruszany - poczytaj. 30 minut temu, mn860618 napisał: chyba jak narazie dam sobie spokój powracam do Arduino To może warto jak już masz to NodeMCU działąjące rozwiązania Arduino przenieść sobie na platformę NodeMCU? Trzeba tylko pamietać, że piny ESP8266 nie tolerują 5V 30 minut temu, mn860618 napisał: nawet nie wiem jak ten program działa I na tym polega samodzielna nauka - nie wiem, staram się zrozumieć i dowiedzieć. Powodzenia, Edytowano Czerwiec 13, 2022 przez Belferek 1
Pomocna odpowiedź
Bądź aktywny - zaloguj się lub utwórz konto!
Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony
Utwórz konto w ~20 sekund!
Zarejestruj nowe konto, to proste!
Zarejestruj się »Zaloguj się
Posiadasz własne konto? Użyj go!
Zaloguj się »