ESP8266 ESP-01
Moderátor: Moderátoři
ESP8266 ESP-01
Tlačím zdrojak do ESP přes toto.
https://www.instructables.com/id/USB-to ... ification/
Jsem ho kdysi od někoho dostal a přepínač dodělal.
I když to má své mouchy, fungovat to funguje, ale nějak se to se mnou nebaví přes ser. monitor.
Vůbec mně nenapadá proč.
Pokud do toho zdrojak nahraju, je Rxd -Txd funkční.
Kde by mohl být problem?
Který USB adapter Board je lepší?
Ten co mám, nebo CP2104
https://aliexpress.com/item/32970437000 ... b201603_53
https://aliexpress.com/item/33016327675 ... b201603_52[/url]
USB to UART CP2104 .. nadratovana s prepinacem ..
pokud doma ten dongl mas muzes zkusit nadratovat pred zakoupenim .. ale pri te cene bych to neresil =)
za me pro ESP88266 urcite neco s CP2104
a ses si jisty ze mas spravne initnutej serial ?
pokud by problem pretrvaval klidne mi v sz posli kod a zkusim ti to u sebe
PC-maniak píše:a ses si jisty ze mas spravne initnutej serial ?
Tak pokud bych měl něco špatně, nenahral bych do toho níc ne?
Normalně do toho zdrojak nahraju a ovladam relatka přes web, jen nekeca přes ser.port.
Je samozřejme že ten přepinač po nahraní kodu přepnu.
PC-maniak píše:pokud by problem pretrvaval klidne mi v sz posli kod a zkusim ti to u sebe
Tu snad neni co zkoučet.
Do void setup Serial.begin(9600);
Do void loop Serial.print("jsem tu");
A musi to fungovat
To co jsem tu napsal, byl jen takový nastřel od ruky.
Kód: Vybrat vše
Do void setup Serial.begin(9600);
Do void loop Serial.print("jsem tu");Ted jsem v prací, tedý 8 hodin času na testovaní.
Když to do něj nacpu, tak normalně komunikuje.
Proč se tedy nebaví s týmto?
Co je špatně?
Kód: Vybrat vše
#include <ESP8266WiFi.h>
const char* ssid = "xxxx-xxxx";
const char* password = "1111@1111";
WiFiServer server(80);
void setup() {
Serial.begin(9200);
delay(10);
Serial.println();
Serial.println();
Serial.print("Connecting to ");
Serial.println(ssid);
IPAddress ip(192,168,1,20);
IPAddress gateway(192,168,1,1);
IPAddress subnet(255,255,255,0);
WiFi.hostname("ESP8266 ESP-01");
WiFi.config(ip,gateway,subnet);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected");
server.begin();
Serial.println("Server started");
Serial.println(WiFi.localIP());
}
void loop()
{
Serial.println("jsem tu");
delay(5000);
}
Serial.println("jsem tu"); je ok, to vypisuje ale to co je ve void setup ne.
ten kod proste fungovat musi
mmnt ja si to tu jdu zkusit ted mi to fakt palice nebere ze to nefici
EDIT: Funguje .. setup to vypise a loop pak taky .. arduino 1.8.9
PC-maniak píše:mmnt ja si to tu jdu zkusit ted mi to fakt palice nebere ze to nefici
A dotaz.
Jak si v void loop načtu do řetězce celou IP co zadam do prohližeče?
Už jsem to před mnoha lety řešíl v Ethernet Shield W5100.
Třeba když mam modul připojený na te IP 192.168.1.20.
Do prohližeče zadam http://192.168.1.20/?-1
Prostě potřebují -1 vypní rele +1 zapní tele
bohuzel uz je to taky nejakej patek co jsem tohle resil
Kód: Vybrat vše
byte x = 0;
void setup() {
Serial.begin(9600);
Serial.println("jsem tu");
while(x < 1000){
Serial.println(x);
delay(1000);
x++;
}
}By mně tedy zajimalo, kde je zrada.
Kód: Vybrat vše
void setup() {
Serial.begin(9200);
delay(10);
Serial.println();
Serial.println();
Serial.print("Connecting to ");
Serial.println(ssid); Když to delay zvednu na 9000, tak to je ok.
Tak daleko do toho nevidím, ale výstup ze ser.portu by se měl ukladat někam do pamětí.
Takže zasunu modul do počitače a než stihnu spustit ser.monitor, tak je to pryč.
Asi dokokocene Win.
Zitra zkusím doma.
Dik moc za pomoc.
BigSandy píše:
A dotaz.
Jak si v void loop načtu do řetězce celou IP co zadam do prohližeče?
Už jsem to před mnoha lety řešíl v Ethernet Shield W5100.
Třeba když mam modul připojený na te IP 192.168.1.20.
Do prohližeče zadam http://192.168.1.20/?-1
Prostě potřebují -1 vypní rele +1 zapní tele
Piš to spíš jako http://192.168.1.20/?rele=-1
Jednodušší je vytvořit reakci na událost:
do metody setup vlož před server.begin()
Kód: Vybrat vše
server.on("/", handleRoot);do metody loop přidej
Kód: Vybrat vše
server.handleClient();no a někde před metodou setup definuj metodu handleRoot()
Kód: Vybrat vše
void handleRoot()
{
if (server.hasArg("rele")
{
String value = server.arg("rele");
/ * tady vlastni obsluha */
send(200, "text/plain", "nastaveno");
}
else
{
send(500, "text/plain", "BAD ARGS");
}
}
a na espXX je nesrovnatelně lepší PlatformIO + VSCode (případně Atom, dle preferencí) než Arduino IDE
https://platformio.org/
PlatformIO IDE for VSCode