Servo ovladane z webu (Web Controlled Servo)

Nefunguje mi to, chcem radu ako na to...
MarcusAurelius
Príspevky: 26
Dátum registrácie: Streda, 3. Januára 2018, 15:37

Servo ovladane z webu (Web Controlled Servo)

Príspevok od užívateľa MarcusAurelius » Piatok, 26. Januára 2018, 18:54

Zacnem asi tym, ze sem pridam link, kde som nasiel navod na ovladanie serva z webu.

https://diyhacking.com/make-web-control ... o-esp8266/

Uz som skusal vsetko mozne, ale stale mi to nejde a nechapem co robim zle.
Mam dosku WeMOS D1, mozno ze aj to je problem, kedze ona uz obsahuje esp8266 modul v sebe, ale aj tak...

Pripojim male ESP8266 prostrednictvom adapteru a 4 vodicov k mojej doske tak ako pisu v navode. Moja doska ma trochu inac definovane vystupy jak ta zo stranky
#define sg90_pin 8 som zmenil na "0" lebo GPIO 8 ja nemam na doske
GPIO 2 a 3 mam tiez umiestnene inak, ale vodice od ESP8266 (RX a TX) som zapojil na spravne miesto kde maju ist.

teda vsetko pripravene jak ma byt a pustil som sa do nahravania programu, avsak tu mi vkuse zacalo vypisovat error, ze sa neda program nahrat na dosku.

warning: espcomm_sync failed
error: espcomm_open failed
error: espcomm_upload_mem failed
error: espcomm_upload_mem failed

Neviem kde robim chybu, ci je to koli doske alebo koli comu? A na to aby som prisposobil "skec" pre moju dosku som zatial este prikrakty...hoci som sa snazil, ale neuspesne zatial.

Vie mi niekto pomost s tymto.. pripadne poslat nejaky program co funguje? .. Dakujem vopred.

Užívateľov profilový obrázok
arduinoposlovensky
Príspevky: 51
Dátum registrácie: Streda, 22. Novembra 2017, 15:01
Kontaktovať užívateľa:

Re: Servo ovladane z webu (Web Controlled Servo)

Príspevok od užívateľa arduinoposlovensky » Pondelok, 29. Januára 2018, 09:05

Pokiaľ chceš rovno do ESP8266 nahrať software, musíš najskôr pin GPIO0 uzemniť a následne resetovať - to je pokyn pre čip, že sa má prepnúť do flashovacieho módu.

No ale najskôr aby bolo v tom jasno, máš WeMOS D1 a to pripájaš ešte k Arduino doske tak jak je to na obrázku z toho odkazu na návod alebo rovno k WeMOS D1 chceš pripojiť servo?
Arduino za pár drobných na: AliExpress.com, Bangood.com

MarcusAurelius
Príspevky: 26
Dátum registrácie: Streda, 3. Januára 2018, 15:37

Re: Servo ovladane z webu (Web Controlled Servo)

Príspevok od užívateľa MarcusAurelius » Pondelok, 29. Januára 2018, 15:46

No ja som to robil podla toho navodu presne jak je na tej stranke. Aby som sa vyhol prepisovaniu programu siteho na mieru WeMOS D1. To by som si este netrufol. Jednak su tam nejake divne prikazy pre ESP. Bezne pisem inym sposobom program a nie cez tieto command-y. Ked sa na to pozriem chapem zhruba co to ma robit, ale problem je tam, ze sa to nechova tak ako tam pisu.

Aby som naprogramoval samotne ESP8266 na to pouzivam maly programator mam tam prepinac kde ho prepinam do programovacieho modu alebo potom do normalneho (provozneho) .. Tak som tam nahral aj ten kod, ale ked som to pripojil potom na WeMOS D1 tak mi to neslo. Stale sa resetoval. Len rozmyslam, ze ci nevadi, ze na WeMOS je nieco nahrate. Tym padom si WeMOS pusti svoj program a ESP nefunguje tak ako ma. Skusal som to nahrat na na obe dosky, ale to asi tiez nie je spravne ked sa nad tym tak zamyslam.

Zrejme by som mal nejak flashnut ten WeMOS, aby to slo. Neviem :/

Užívateľov profilový obrázok
arduinoposlovensky
Príspevky: 51
Dátum registrácie: Streda, 22. Novembra 2017, 15:01
Kontaktovať užívateľa:

Re: Servo ovladane z webu (Web Controlled Servo)

Príspevok od užívateľa arduinoposlovensky » Pondelok, 29. Januára 2018, 16:36

ok, takže budeme vychádzať z tohto zapojenia v tom návode:
Arduino-Web-Controlled-Servo1.jpg
Arduino-Web-Controlled-Servo1.jpg (40.03 KiB) 867 zobrazení
Máme tu jeden WeMOS s čipom ESP8266 a jedno Arduino s čipom Atmel ATmega328p so servom. Do Arduina treba nahrať cez Arduino IDE ten uvedený kód zo stránky a v tom WeMOSe musí byť nahratý firmware, ktorý podporuje AT príkazy - skratka, chová sa ako "WiFi modem" pre Arduino (aj telefónne modemy kedysi takéto príkazy podporovali pre PC).

Ono aj ten WeMOS s ESP sa dá programovať v Arduino IDE (a aj to servo by sa dalo ním rovno ovládať a aj vie fungovať ako samotný webserver), no keď tam nahráš takýto program z Arduino IDE, tak ten pôvodný program s AT príkazmi sa vymaže. Pokiaľ teda chceš aby fungoval v hore uvedenom zapojení, musí tam byť len ten firmware s AT príkazmi. Stiahnuť sa dá priamo zo stránok výrobcu espressif.com a znovu ho tam nahrať a bude opäť fungovať ako "WiFi modem".

Preto ako prvé treba rozchodiť cez serial monitor to, aby ti odpovedal na AT príkazy. Skratka aby si sa vedel cez serial monitor a príkaz AT+CWJAP="SSID","password" pripojiť na vlastný domáci WiFi router a vedel jeho IP adresu cez príkaz AT+CIFSR. Takto budeš mať istotu, že funguje ako "WiFi modem".

Ak to ESP odpovedá správne, pripojí sa cez sériovú linku k Arduinu a on už s ním bude komunikovať cez tie AT príkazy:

Kód: Vybrať všetko

  esp8266Data("AT+RST\r\n", 2000, DEBUG); //reset module
  esp8266Data("AT+CWMODE=1\r\n", 1000, DEBUG); //set station mode
  esp8266Data("AT+CWJAP=\"Tenda_31BC98\",\"barcelona\"\r\n", 2000, DEBUG);   //connect wifi network (meno a heslo k WiFi)
  while(!esp8266.find("OK")) { //wait for connection
  } 
Keď to teda zhrnem, jedno zariadenie je ako modem (ESP s AT príkazmi) a to druhé zariadenie je ako hlavné ovládacie so svojim programom (Arduino so svojím programom).
Arduino za pár drobných na: AliExpress.com, Bangood.com

MarcusAurelius
Príspevky: 26
Dátum registrácie: Streda, 3. Januára 2018, 15:37

Re: Servo ovladane z webu (Web Controlled Servo)

Príspevok od užívateľa MarcusAurelius » Streda, 31. Januára 2018, 16:03

No tak sa opat hlasim, prisiel som na to ako flashnut esp a rovnakym sposobom ide flashnut aj WeMOS, musim to urobit na oboch. Otestoval som oba na "serial monitore" AT OK mi islo v pohode. Nasledne som nahral kod do WeMOS-u. Potom som pripojil k doske ESP a nasledne "reset gombikom" resetol WeMOS zacalo mi to pekne pisat, ze:
ready
WIFI CONNECTED
WIFI GOT IP

Ked som zadaval dalsie prikazy do serialmonitoru tak fungovali pekne a reagovalo to na vsetko. Vyziadal som si IP a vypisalo mi ju.
No ked som si spustil tu HTML tranku kde do okienka bolo treba vlozit pridelenu IP tak to mi uz nefungovalo. Vzdy si ju prepisalo na tu standardu co tam ma. Pokusil som sa prepisat HTML kod na adresu, ktoru mi pridelilo, no ani to nepomoho, takze som zas o krok dalej, ale nereaguje mi to stale na ten bezec z html stranky

Nema sa to nejak inak spustat ta stranka? :roll:

Užívateľov profilový obrázok
arduinoposlovensky
Príspevky: 51
Dátum registrácie: Streda, 22. Novembra 2017, 15:01
Kontaktovať užívateľa:

Re: Servo ovladane z webu (Web Controlled Servo)

Príspevok od užívateľa arduinoposlovensky » Streda, 31. Januára 2018, 17:06

Stiahni si do počítača oba súbory (webservo.html aj jquery.js) a spusti v prehliadači websevo.html, IP zadaj správnu a daj enter aj keď ti to napíše tú štandardnú. Malo by to fungovať - debugger mi vypisoval odosielané hodnoty pri posúvaní posuvníka na mnou zadanú IP adresu 192.168.0.11 i keď ukazoval pôvodnú:
debugger.png
debugger.png (19.42 KiB) 860 zobrazení
Arduino za pár drobných na: AliExpress.com, Bangood.com

MarcusAurelius
Príspevky: 26
Dátum registrácie: Streda, 3. Januára 2018, 15:37

Re: Servo ovladane z webu (Web Controlled Servo)

Príspevok od užívateľa MarcusAurelius » Streda, 31. Januára 2018, 17:18

oboje som mal stiahnute v adresary kde bol samotny sketch.. aj na stranke autor uvadza,ze sa tieto dva subory maju nahrat do jedneho adresara. To som mal dobre. Subor jqueri.js je vlastne co zac? to je nejaky java subor alebo co? nepotrebujem mat v pc nahrate nieco,aby to vedelo fungovat? ako si vyvolal prosim ta ten debugger. A este otazka.. V programe som mal zadefinovanu komunikaciu RX TX na pinoch 1 a 3. V akom poradi ich priraduje arduino tomu ESP-cku? alebo je to jedno? je jedno ako ich zapojim,alebo ked by som zadefinoval opacne poradie 3 a 1 malo by to nejaky vplyv na komunikaciu?

Užívateľov profilový obrázok
arduinoposlovensky
Príspevky: 51
Dátum registrácie: Streda, 22. Novembra 2017, 15:01
Kontaktovať užívateľa:

Re: Servo ovladane z webu (Web Controlled Servo)

Príspevok od užívateľa arduinoposlovensky » Streda, 31. Januára 2018, 17:47

Súbor jquery.js je súbor typu javascript - používa sa k html na tvorbu dynamickej stránky. V tomto prípade sa postará o odoslanie hodnoty z posuvníka na uvedenú IP adresu. Nepotrebuješ k tomu nič zvláštne nainštalované, o to sa postará webový prehliadač.
Ten debugger vyvoláš napr. v prehliadači Google Chrome pri kliknutí pravím tlačítkom na myši a vyberieš preskúmať (Ctrl+Shift+I). Info tu: https://developer.chrome.com/devtools

TX = odoslané (Transmited)
RX = prijaté (Received)

Medzi dvomi zariadeniami sa zapájajú vždy do kríža (inak to nebude fungovať):
rx-tx.png
rx-tx.png (20.26 KiB) 857 zobrazení
Arduino za pár drobných na: AliExpress.com, Bangood.com

MarcusAurelius
Príspevky: 26
Dátum registrácie: Streda, 3. Januára 2018, 15:37

Re: Servo ovladane z webu (Web Controlled Servo)

Príspevok od užívateľa MarcusAurelius » Streda, 31. Januára 2018, 18:42

ok dakujem za vsetky rady :)
takze nie je to jedno,ale ako poznam,ze ktore je ktore... zadefinujem pin (1,3) tak ktore z toho je rx a ktore tx? ci to len skusmo?

Užívateľov profilový obrázok
arduinoposlovensky
Príspevky: 51
Dátum registrácie: Streda, 22. Novembra 2017, 15:01
Kontaktovať užívateľa:

Re: Servo ovladane z webu (Web Controlled Servo)

Príspevok od užívateľa arduinoposlovensky » Streda, 31. Januára 2018, 19:32

nikdy to nieje jedno, ono to má svoje pravidlá:

Kód: Vybrať všetko

#define rxPin 2 // digitálny pin RX (pripojí sa na TX druhého zariadenia)
#define txPin 3 // digitálny pin TX (pripojí sa na RX druhého zariadenia)
SoftwareSerial esp8266(rxPin, txPin);
A taktiež nie všetky piny sa dajú na to použiť.
Arduino za pár drobných na: AliExpress.com, Bangood.com

Napísať odpoveď