Fórum témák

» Több friss téma
Fórum » Arduino
A klónok CH340 Soros-USB illesztőjének drivere (Letöltés)
Lapozás: OK   88 / 854
(#) Tetye válasza erdeidominik1999 hozzászólására (») Feb 25, 2015 /
 
Nem a html-be kell beírni, ha basic autentikációt szeretnél.
A HTTP fejléc ezt kell tartalmazza :
  1. web_server.write("HTTP/1.1 401 Authorization Required\r\n");
  2.   web_server.write("WWW-Authenticate: Basic realm=\"LloRealm\"\r\n");
  3.   web_server.end_headers();


Ez után jön csak a HTML.
  1. web_server.write("<!doctype html><html lang='nl'><head><title>Title</title><meta charset='utf-8'/></head>");
  2. web_server.write("<body><h1>asd</h1></body></html>");


Bővebben: Link
Bővebben: Link
A hozzászólás módosítva: Feb 25, 2015
(#) czibulak hozzászólása Feb 25, 2015 /
 
Üdv minden kedves fórumtársnak!

Bizonyára sokan ismeritek, használjátok az arduino eszközeit. Ebben a témában ezen eszközök javításához, hibakereséséhez szeretnék segítséget kérni és hasznos információkat felhalmozni.
(#) czibulak hozzászólása Feb 25, 2015 /
 
Témakezdőnek rögtön itt egy hiba, amit jó lenne kijavítani.

Adott egy arduino uno R3 modellBővebben: Link. Minden előzetes jel nélkül elszállt a 3,3V os stabilizátor rajtaBővebben: Link.
A meghibásodás körülményei a következők voltak:
A 3,3V-os kimenetet nem használtam. Az áramkört a tápcsatlakozón keresztül láttam el 12,7V-al egy 7Ah kapacitású ólom akkuról.
Feltételezésem szerint a 12,7V túl sok volt az utángyártott ismeretlen eredetű stabilizástornak, holott 16V-ot is ki kellene bírjon.

A kiégett IC-t levettem a nyákról, eztán kipróbáltam USB-ről a készüléket, de az valószínűleg alapállásba állt, mivel a csatlakoztatott LED kijelző minden szegmense fel kapcsolt.
Próbáltam újraprogramozni, sikertelenül, közben feltűnt hogy a gép nem "látja az eszközt".
Azóta mindkét mikrovezérlő(a felprogramozható és a bootloadert tartalmazó is), enyhén melegszik multiméter szerint 32 fokig.

Szeretném kikérni a véleményetek. Tönkrement valyon vagy orvosolható a probléma?
(#) erdeidominik1999 válasza Tetye hozzászólására (») Feb 25, 2015 /
 
Na jó, akkor most előszőr ne arduinóban gondolkozzunk, csak simán, tehát ha a weboldal forrásába beteszem ezt amit írtál fejlécnek még a legelejére, a doctype elé, akkor csak simán megjelenik a weboldalon, oda még kéne valami, nem?
(#) kapu48 válasza czibulak hozzászólására (») Feb 25, 2015 /
 
Vannak ilyen lézeres AVR vágó berendezések, azok jó pénzért kivágják neked a zárlatos részeket!
A maradék meg jó lesz dicsekedni vele a haverok előtt.

És ne a kínait szidjad, neked kellet volna hűtőbordát tenni ara a stabilizátorra!
(#) csatti2 válasza czibulak hozzászólására (») Feb 25, 2015 / 1
 
Ne vedd magadra kapu hozzászólását. Attól még, hogy koppintás igenis tudnia kellene a megadott engedélyezett feszültségszinteket (alig egy kicsit lépted túl a javasoltat és messze voltál még az engedélyezettől).

Ami miatt gond van a 3V3 regulátor hiánya miatt az az, hogy a 3V3-as jelet használja a komparátor egyik összehasonlító jeleként is. Ez alapján dönti el, hogy a VIN-en jövő feszültséget használja-e vagy pedig az USB-ét. Mivel most ez a pin lóg a levegőben ezért jó eséllyel összevissza kapcsol a komparátor és emiatt gond lehet a betáppal (eszed ágában se legyen rákötni dupla táplálással a számítógépedre a cuccot!!!, kinyírhatod az alaplapod!). Ha van szkópod meg kéne nézni, hogy néz ki a betáp feszültség. Az is lehetséges, hogy nem kapcsolgat a mosfet (amit a komparátor nyitna), hanem simán csak a benne lévő dióda nyit csak ki és ezért csökkentett feszej jön az USB felől. Tehát csak kb. 4V körül van a uC-hez érkező feszültség, ami kevés neki. Ez is okozhat fura működést. Természetesen nem esküszöm meg, hogy tényleg ez a baj, hisz én a hivatalos kapcsolási rajzot néztem és a kínaiak több mindenben is elszoktak térni attól, de hát csak ez áll a rendelkezésemre.

Mellesleg hivatalosan a 3V3-at egy LDO állítja elő 5V-ból, nem direkt kapja a betápot.
A hozzászólás módosítva: Feb 25, 2015
(#) csatti2 válasza czibulak hozzászólására (») Feb 25, 2015 / 1
 
Tehát, ahogy megpróbálhatod orvosolni.
1., beszerzel egy megfelelő típusú 3V3 regulátort... Ugye ez lenne a legjobb megoldás.
2., Csak az USB-ról hajtod meg! Kiméred az 5V-on lévő feszültséget. Ha igazam van és 4V5-alatt van, akkor ellenőrzöd még a Vin-en lévő feszültséget is, ha nagyobb mint 0V (szerintem olyan 3V körül lehet), akkor megpróbálhatsz egy feszültségosztót építeni az alábbi módon. Veszel két elég nagy értékű ellenállást, ami 2/3-ad arányban viszonyul egymáshoz (mondjuk egy 20k-st és egy 33k-st). Ezekből építesz egy feszültségosztót a föld és az 5V közé ógy, hogy 3V körül legyen a két ellenállás közötti feszültség szint. Ezt kösd rá a 3V3 pinre és nézd meg mennyi az 5V-n kijövő feszültség. Ha megnött és nem látsz más gondot a panelen, akkor jó vagy.
(#) erdeidominik1999 válasza erdeidominik1999 hozzászólására (») Feb 25, 2015 /
 
Sikerült megoldanom, hogy kérje a hitelesítést, most akkor az jönne, hogy a hitelesítő adatok hogyan érkeznek vissza?
(#) KBal76 válasza czibulak hozzászólására (») Feb 25, 2015 /
 
Én egy másféle leégetést produkáltam véletlen: Az 5V ágat rövidre zártam, miközben USB-re dugtam egy arduino nano v3 klónt. De nem esküszök meg, lehet hogy a 12V ágat zártam rövidre, a lényeg hogy füst szállt fel a panelbôl, amit elôször el sem akartam hinni, lévén az USB port nem egy acélos tápegység. Innentôl kezdve nem adott életjelet a panel.
Nagyító alatt szemügyre véve, egy schottky-dióda volt megégve (mûanyag tokos, a kapcsolási rajzról kerestem vissza mi is az). Egy rossz laptop-alaplapjából kitermelt hasonló paraméterû schottky-diódával pótoltam a leégettet, azóta jó ismét.
(#) proba válasza csatti2 hozzászólására (») Feb 25, 2015 /
 
Azért ezzel a határértékkel óvatosan.Az alkatrészeknek van egy teljesítmény paraméterük is.Ha már ledeket kötött rá, akkor lehet az tűnt neki soknak.
(#) Tetye válasza erdeidominik1999 hozzászólására (») Feb 25, 2015 /
 
Mint írtam nem a HTML-be kell tenni hanem a HTTP fejlécbe. De akkor erre már rájöttél.
Na most kicsit kapaszkodj mert nem fordítgatom a Bascomos bulimat Arduinora, de egyszerűen ki tudod hámozni belőle ami kell neked hozzá:
  1. Sub Wiz5100_receive
  2.    Local I As Word
  3.    Local Top As Word
  4.    Local Bytes_rcv As Word
  5.    Local Headerend As String * 4
  6.    Local Userpass As String * 12
  7.    Userpass = "admin:" + Passwd                             'Place a : between username and password (max. 15 character all together)

Na eddig csináltunk változókat és a "Userpass" nevűbe betöltöttük a fix adatokat, hogy a felhasználó név admin a jelsó pedig eepromból kerül elő, az pedig legyen asd123.
Tehát a Userpass=admin:YXNkMTIzDQo=
  1. Local Tmp_auth As String * 20
  2.    Tmp_auth = Base64enc(userpass)

Na itt van az hogy titkosítjuk, és a Tmp_auth változóba tóljuk bele
Most ez a rész nem fontos neked itt az eth vezérlőtől kérjük el az adatokat...
  1. 'Check for new incomming data
  2.   Call Wiz5100_readvalue(w5100_s0_rx_rsr0)
  3.      Bytes_rcv = Wert
  4.   Shift , Bytes_rcv , Left , 8
  5.   Call Wiz5100_readvalue(w5100_s0_rx_rsr1)
  6.   Bytes_rcv = Bytes_rcv + Wert
  7.   If Bytes_rcv > 0 Then
  8.      Bytes_rcv = Bytes_rcv - 1
  9.      For I = 0 To Bytes_rcv
  10.          Top = I + &H6000                                  'rx-memory
  11.           Call Wiz5100_readvalue(top)
  12.           'We only use correct header, correct header must be < 680 bytes!
  13.          If Bytes_rcv < 700 Then
  14.            Buffer = Buffer + Chr(wert)
  15.          End If
  16.      Next
  17.     'Is header complete or is it a post reply?
  18.       Headerend = Chr(13) + Chr(10) + Chr(13) + Chr(10)
  19.       If Instr(buffer , Headerend) > 0 Then

Nu, akkor most vizsgáljuk az amit kaptunk a vezérlőnktől, ezt a "buffer"-be töltöttük be.
Mindent amit kaptunk az egész http csomagot.
Az instr nekem azt csinálja hogy megnézi hogy a "buffer"-ben benne volt-e a Tmp_auth.
  1. If Instr(buffer , Tmp_auth) > 0 Then


Ha jól írtuk be a böngészőben az adatokat, akkor a "buffer"-ben benne lesz ez a rész: "admin:YXNkMTIzDQo="
Ami az admin felhasználónevet és az asd123 jelszót takarja.
így érthető?
(#) erdeidominik1999 válasza Tetye hozzászólására (») Feb 25, 2015 /
 
Igen értem, nagyon köszi, viszont még egy problémám lenne, ha egyszer hitelesítettem, jó adatokkal, akkor utána hiába zárom be a böngészőt, vagy akár rezetelem az arduinót, következő megnyitásnál már újból hitelesítve van, és bejön az oldal, és ha nézem soros monitoron, akkor a weboldaltól vissza is jön a felhasználónév, jelszó páros, ez miért lehet? Előre is köszi!
(#) Tetye válasza erdeidominik1999 hozzászólására (») Feb 25, 2015 /
 
Töröld a böngészőből a fütykösöket
Cookie/süti jelszavak.
Egy idő után magától is elfelejti.

ps: Neked egy weboldalad van az avr-ben vagy több is?
Nekem van:
-"network admin" - ip, gw, mask, mac, beállítás- mentés eepromba- újraindul
-"user admin" - itt lehet jelszót cserélni-- eepromban tárolja-újraindul- kéri
-"input"- A/D értékek kiírása - input lábak állapotának kiírása
-"output" - kimeneti lábak kapcsolása nyomó gombal visszajelzéssel
-"system" - írja az uptime-ot, hálózati configot board és külső hőmérsékletet
-"main" - semmi szinte csak lista az elérhető lehetőségekről.
És ez mind a chipben, nincs SD.
Nálad ez hogy néz ki?
(#) csatti2 válasza proba hozzászólására (») Feb 25, 2015 /
 
Határérték alatt a bemenő feszültséget írtam. Az UNO specifikáció 20V-on határozza meg a maximális bemenő feszültséget. A kiégett alkatrész egy 3V3-as LDO, amit saját bevallása alapján nem használt. A LED-es kijelzőt nem tudom, hogyan kötötte be. Ha direktben hajtja őket a uC-ről egyszerre, kicsi előtétellenállással PWM stb. nélkül, akkor természetesen az is lehetséges, hogy túl nagy áramot vesz le a kimenetekről. Ezt a jelenlegi leírás alapján nem lehet megválaszolni. Az én tippem az, hogy mivel leszedte a 3V3-as regulátort. A komparátor, amit a Vin (fele) és a 3V3 szint összehasonlítására használ a kártya nem nyitja ki a MOSFET-et. A MOSFET úgy van bekötve, hogy ilyenkor is átengedjen (de csak a benne lévő diódán keresztül) egy Vf-el csökkentett feszültséget (különben nem tudná meghajtani az LDO-t, ami a 3V3-at állítja elő és nincs összehasonlító fesz.) de szigorúan csak az USB felől a panel irányába. Ez azonban a dióda függvényében egy csak egy 4V körüli feszültség lehet (az USB a legritkább esetben 5V, általában pár tizeddel már ezen a ponton is kevesebb), azaz 5V-Vf (Vf a dióda nyitófeszültsége). Az ATMEGA16U2 és a ATMEGA328P is legalább 4V5-öt igényel 16MHz-es működéshez. Valószínűleg ezért nem megy az USB sem.

Megnéztem a T1 MOSFET adatlapját. A Vf tipikus értéke 0.7V a maximum 1.2V. Egész egyszerűen nem kaphat 4V5-öt a uC a jelenlegi bekötés szerint. Ha beállították a BOD biztosítékot az ATMEGA16U2-n akkor az reset módban van folyamatosan (BOD: brown out detector).
A hozzászólás módosítva: Feb 25, 2015
(#) erdeidominik1999 válasza Tetye hozzászólására (») Feb 25, 2015 /
 
Köszi szépen az összes segítséget, most már minden működik, nekem 3 weboldal van az avr-ben, nekem van sd, de onnan csak naplófájlokat olvas be ill. ír rá. Viszont még egy olyan kérdésem volna, hogy létezik-e az, hogy ha megára töltök 102 ezer byte sketch-et (ugye az még bőven ráfér) akkor olyan lassú lesz, hogy ha valamit kiírok soros minitorra, akkor az úgy jön le, mintha 500-as delay-jel írnám?
(#) Tetye válasza erdeidominik1999 hozzászólására (») Feb 25, 2015 /
 
Ezt nem tudom megmondani, de én a kinai duino mega és uno paneleket 80-100% ra szoktam feltölteni és ilyennel még nem találkoztam. DE én nem arduinoban programozok. Lehet abban van valami bug. De mondom nem értek annyira a keretrendszerhez.
Mennyire publikus a sketched?
(#) erdeidominik1999 válasza Tetye hozzászólására (») Feb 25, 2015 /
 
Hát, ha egy-két dolgot átírok, akkor publikus.
(#) Tetye válasza erdeidominik1999 hozzászólására (») Feb 25, 2015 /
 
Meg tennéd hogy megosztod valamikor? Nekem is van egy hiba és nem tudom hogy kezeljem le. Reménykedem hogy valaki már megoldotta legalább más rendszerrel, hátha segít.
(#) erdeidominik1999 válasza Tetye hozzászólására (») Feb 25, 2015 /
 
Itt a sketch, ez csak a webes része a proginak, mert külön írtam még, és a végén raktam össze, ez működik tökéletesen. Illetve, ha majd megnézed, 3 oldal van, és ha tudsz valami megoldást arra, hogy ha bezárom a böngészőt, akkor autómatikusan az első oldalra ugrik, mert így ahol bezártad, a következő megnyitásnál ott kezdi.
(#) Tetye válasza erdeidominik1999 hozzászólására (») Feb 26, 2015 /
 
Szia!
A 9600as baudrateet tedd fel 115200 ra nyugodtan, gyorsabb lesz.
Amúgy jó lett.
Enyémnek bascomos a forrása így sajna nem mennél vele sokra meg most nem is tudom megmutatni mert ki van halva. Ez a bajom hogy valamiért néha véletlenszerűen kihal a web
ping van csak nem tudod megnyitni. általában ha telóról piszkálom és nagyobb a válaszidő.
De van hogy nem piszkálom megy 60-80 napot és akkor hal ki. És nem találom hogy mitől.
Arra tippelek hogy várja a feljéc végét, chr10,chr13,chr10,chr13, ez valamiért hibásan jön be és ott marad a loop-ban, de erre sem találtam bizonyítékot.
(#) erdeidominik1999 válasza Tetye hozzászólására (») Feb 26, 2015 /
 
Még egy dolgot kérdeznék: hogyan tudom posttal elküldeni az adatokat az arduinónak, mert az nem jön le client.read()-del.
(#) Tetye válasza erdeidominik1999 hozzászólására (») Feb 26, 2015 /
 
Hát az egy nagyon jó kérdés. Nem tudom hogy arduino az ilyesmit hogy tudja kezelni, de elvileg ugyan az mint amikor getel kéred az oldalt csak nem get hanem post lesz a HTTP fejlécben, meg amit küldesz.
pl:
  1. GET /images/logo.gif HTTP/1.1
  2. Host: google.hu
  3. Connection: close
  4. User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9) Gecko/2008052906 Firefox/3.0
  5. Accept-Charset: ISO-8859-1,UTF-8;q=0.7,*;q=0.7
  6. Cache-Control: no-cache
  7. Accept-Language: de,en;q=0.7,en-us;q=0.3
(#) erdeidominik1999 válasza Tetye hozzászólására (») Feb 26, 2015 /
 
Elvileg...Nekem nem jön le, ami posttolok.
(#) andykaaa hozzászólása Feb 26, 2015 /
 
Megint segitsegre szorulok.
Adafruit_ILI9341 konyvtar hasznalata eseten hogy lehet elerni azt hogy csak az adott betut vagy szamot torolje es ne az egesz kepernyot ? Mert ugy tul lassu.
(#) csatti2 válasza andykaaa hozzászólására (») Feb 26, 2015 /
 
Egyszerűen ráírsz a szövegre. Ezzel csak azt a részt törlöd és viszonylag gyors is. A leggyorsabb pedig, ha ugyanazt a karaktert írod oda (persze ha tudod mi volt) olyan módon, hogy mind a betűszínt mind pedig a háttérszínt ugyanúgy a háttérszínre állítod (ilyenkor csak azokat a képpontokat frissíti ami a betű pontja lenne és a háttérpontokat nem).
(#) andykaaa válasza csatti2 hozzászólására (») Feb 26, 2015 /
 
Nem igazan lenne megoldhato, mert egy valtozo erteket kellene megjelenitenem.
Valami mas nincs ?
(#) csatti2 válasza andykaaa hozzászólására (») Feb 26, 2015 /
 
Írtam, akkor simán ráírod az új értéket.
(#) andykaaa válasza csatti2 hozzászólására (») Feb 26, 2015 /
 
ha csak rairom az uj erteket, akkor egy ido utan egy teglalap alaku valamit kapok. Nem torli a regi erteket, mintha ceruzaval ugyanarra a helyre irnam egymas utan a szamokat. Egy ido utan csak egy folt lesz.
(#) csatti2 válasza andykaaa hozzászólására (») Feb 26, 2015 /
 
Mert nem állítottad be a háttérszint...
pl.: _tft.setTextColor(ILI9340_WHITE, ILI9340_BLACK);
(#) andykaaa válasza csatti2 hozzászólására (») Feb 26, 2015 /
 
Az be volt allitva csak nem ebbe a formaba ahogy te irtad, hanem csak igy: tft.setTextColor(ILI9341_YELLOW); .
Most mar mukszi, kosi.
Következő: »»   88 / 854
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem