Ich hatte das ursprünglich hier gepostet: http://www.mikrocontroller.net/forum/read-1-231795.html#232422 Starte hier aber mal lieber nen neuen Thread ;) ----------------------------------- Ich bin grad dabei die Kommunikation der seriellen MCA-25 Handykamera zu entschlüsseln. Live vorschau unkomprimiert in geringer Auflösung und bis 640x480 JPEG komprimiert. kommunikation über RS232 bzw ich bin gerade dabei nen perl Programm zu schreiben dass das Handy simuliert. Ist nicht ganz so einfach rauszubekommen wer welche Daten sendet... Die Kameras gibts bei ebay für 1,- Müsst nur aufpassen dass ihr euch nicht gegenseitig überbietet ;) In der Kamera ist nen 640x480 cmos sensor, nen ARM Prozessor sowie sram und nen flash: prozessor: ctech argus CT100 - 75mips 32bit risc arm7 core flash: 39vf800A xMbit Flash sram: TC55W400XB-?? 4Mbit 2.7-3.6v lp sram Sobald ich was vorzeigbares habe werd ichs irgendwo hinpacken. Ziel ist erstmal ein Perl Programm das die Cam am pc ansteuern kann und dann das ganze auf nen atmel zu packen und einfache BV zu machen (blob tracken per servo oder so) ----------------------------------- So, mal als Fortsetzung was bis jetzt geht: Anschluss: Handycam per USB<->Seriell Wandler am PC Versorgung Cam: 5V über 1N4148 auf ~4.3V runtergebracht (Handy liefert 4.2V) Anschluss RxD/Txd: Direkt mit RX/TX vom Max232 verbunden. Der läuft auf 5V, also "quäle" ich die Kamera mit 5V Pegeln obwohl sie normalerweise mit 3.3V läuft. is ja nur zum testen erstmal ;) Was kann das PC Testprogramm: - alle AT Kommandos von der Kamera empfangen und beantworten bis zum GSM07.10 mux modus - on the fly auf 460800 baud umschalten - aktivieren des Mux Modus und zwei DLCI Channels öffnen - ein paar acks senden ---> ab da blicke ich momentan nicht mehr durch, mache heute abend weiter ;) meine einzige 07.10 Doku: http://www.hddznet.com/FileDown/mc35/MC35jj.pdf (vorsicht, sehr langsam!) zum gucken wie die checksum berechnet wird: gsmMux für BeOS (GPL) Am aktivieren des MUX Protokolls muss die Cam scheinbar mit 460kbaud laufen ... Muss man nachher gucken wie man das mit nem avr macht... Soweit erstmal von mir....
So, habe nun mal mithilfe der neuen Erkenntnisse über den muxmodus mein datenstrom->ppm Programmverbessert. Sieht schon ganz brauchbar aus :D (sind eigentlich schon zwei Bilder) Mein Problem: Bild sollte laut xml 100x80 sein, ist aber 80x60 wenn ich 8Bit Farbtiefe annehme... Wobei mir da eh noch nicht ganz klar ist wie das kodiert ist... Ich habe erstmal die 8 Bit so zerpflückt das die bit 7-5 = Rot bit 4-3 = Grün bit 2-0 = Blau sind... Nur um zu gucken wie das Bild aussieht... Ist ganz brauchbar geworden ;) Achtung: Das ist nur aus dem geloggten Datenstrom extrahiert! Noch kann ich ohne Handy den Datenstrom nicht aktivieren :(
so, bildextrahieren aus dem Datenstrom funktioniert nun auch mit den echten Farben :D Hab mal andere Bildsensoren angeguckt wie die 8BPP definieren. Und siehe da es wird RGB332 eingesetzt (ich hatte RGB323 dekodiert). Schnell umgestrickt und tadaaaaaaaaaaaaaaaa das erste Farbbild ;) (siehe Anhang) Für die BV auf nem Avr ist das Bild in 80x60 und RGB332 eigentlich ganz brauchbar denke ich ;) Zwar nur mit 6fps aber als Spielerei bestimmt brauchbar
@Sssssss Alle Achtung bist ja ein ganz guter "Datenschnüfler" ;-) Spass bei Seite, ich glaube da entwickelt sich ein echt gutes Projekt. Bin ja mal gespannt auf deinen Sample Code bzw. Protokoll! Wenn Du im Großraum Stuttgart wohnst, dann gebe ich mal ein paar Flaschen Bier aus.
Toll, ich bin begeistert!! Schaffst du es auch von der unkomprimierten Vorschauansicht auf ein komprimiertes JPG Bild umzuschalten? Bin grad dabei mir so ein teil zu ersteigern und freue mich schon darauf die Cam an einen avr zu hängen :-) Ich denke da auch an die Kombination mit dem hier im Forum vorhandenen Mega32 Webserver.. abbonier!
>flash: 39vf800A xMbit Flash
8MBit laut Google
Ob man wohl für den ARM7 + 512K RAM + 1MB Flash selber programme
schreiben kann?
Das hab ich mir auch schon überlegt... Wäre natürlich am besten die BV auf dem arm zu machen... Aber von ARMs hab ich null Ahnung 8) Zum Stand der Kommunikation: Ich kann jetzt den Mux Mode initialisieren und komme bis dahin wo mir die Cam AT Commands auf Ch3 schickt. Meine Antworten werden aber irgendwie ignoriert :( Ablauf: CAM F9 03 3F 01 1C F9 DLCI Channel request Ch0 HANDY F9 03 73 01 D7 F9 UA(ck) Ch0 CAM F9 23 3F 01 C9 F9 DLCI Channel request Ch3 HANDY F9 23 73 01 02 F9 UA(ck) Ch3 CAM F9 03 EF 09 E3 05 23 8D FB F9 UIH, PF=0, Ch0, 4byte data: E3 05 23 8D HANDY F9 01 EF 0B E3 07 23 0C 01 79 F9 UIH, PF=0, Ch0, response, 5byte data E3 07 23 0C 01 CAM F9 03 EF 09 E1 07 23 0C 01 FB F9 UIH, PF=0, Ch0, 5byte data: E1 07 23 0C 01 ???? eigentlich ist len=4 !!! HANDY F9 01 EF 09 E1 05 23 8D 9A F9 CAM F9 23 EF 1B 41 54 2A 45 41 43 53 3D 31 37 2C 31 0D D1 F9 UIH, PF=0, Ch3, 13byte data 41 54 2A 45 41 43 53 3D 31 37 2C 31 0D = AT*EACS=17,1\r HANDY F9 21 EF 0A 0A 0A 4F 4B 0A 0A 48 F9 UIH mit \n\nOK\n\n Das letzte UIH Paket mag die Cam nicht :( Ich mache nachher weiter ;)
so mal der aktuelle Stand vom 07.10 mux protokollablauf: // channel 0 open: CAM CH0: COMMAND SABM len:0 <> HANDY CH0: COMMAND UACK len:0 <> // channel 3 open: CAM CH3: COMMAND SABM len:0 <> HANDY CH3: COMMAND UACK len:0 <> // MUX config ch3 and ch0: CAM CH0: COMMAND UIH len:4 <E3 05 23 8D > HANDY CH0: RESPONSE UIH len:5 <E3 07 23 0C 01 > CAM CH0: COMMAND UIH len:4 <E1 07 23 0C 01 > HANDY CH0: RESPONSE UIH len:4 <E1 05 23 8D > // AT*EACS=17,1\r + ECHO from handy CAM CH3: COMMAND UIH len:13 <41 54 2A 45 41 43 53 3D 31 37 2C 31 0D > HANDY CH3: RESPONSE UIH len:13 <41 54 2A 45 41 43 53 3D 31 37 2C 31 0D > // handy requests channel 1: HANDY CH1: RESPONSE SABM len:0 <> CAM CH1: RESPONSE UACK len:0 <> // mux config CAM CH0: COMMAND UIH len:4 <E3 05 83 8D > HANDY CH0: RESPONSE UIH len:4 <E1 05 83 8D > // image transfer ? CAM CH1: COMMAND UIH len:31 <A0 00 1F 10 00 20 ... > 31 byte image data ? HANDY CH1: RESPONSE UIH len:26 <80 00 1A 10 00 02 ... > ??? // ??? CAM CH3: COMMAND UIH len:14 <41 54 2B 43 53 43 43 3D 31 2C 31 39 39 0D > HANDY CH3: RESPONSE UIH len:6 <0D 0A 4F 4B 0D 0A > So langsam verstehe ich das Protokoll ;) Aber scheinbar gehen irgendwie bytes verloren, der max232 scheint nicht ganz mitzukommen bei den 460kbaud. Ich hab jetzt mal dem max nur 4.2V wie dem Handy gegeben und es scheint besser zu klappen. Hab irgendwo noch ne ftdi platine die auf 3.3V arbeitet... Muss ich heute abend mal testen.
Hi! So langsam tut sich was... Ich bin nun in der Lage per PC eine 07.10 mux verbindung mit allen 3 Kanälen aufzubauen: Channel0: mux control channel Channel1: Data (da wandern Bilddaten und Commands drüber) Channel3: Control (AT Kommandos) Ich bin schon soweit dass ich die Kamerainfo auslesen kann: <camera-info version="1.0" SW-version="R1A CXC125496"> <memory free="484" free-images="8" stored-images="2" fun-layer="10"/> </camera-info> Starten des Bildtransfers klappt noch nicht, irgendwas mache ich da wohl falsch. Mal sehen ;) Wer hat sich schon MCA25 Cams bei ebay organisiert ? Passt auf dass ihr euch nicht überbietet ;) 1 Eur ist der normalpreis von vor 2 Wochen ;)
Hi und abo Schreit nach Wetterkamera für Multimoderelais und PC-lose Packet Radio Digipeater :-) (oder in einer WLAN Variante: An freistehenden Access points) Hendrik
@Ssssss Leider kann ich das Datenblatt nicht runterladen. Auch habe ich mich bei Ericsson "angemelded" doch find ich den White Paper nicht (wo-is-er?). Kann man das Datenblatt nicht sonstwo finden oder noch besser auf einen schnelleren Server zu ferfuegung stellen fuer ein paar Tage (Mache ich gern selbst doch brauch ich das "Original") Sonst eine super Sache, wenns klappt kommt das Ding an mein Microcontroller mit web. Edward
Welches Datenblatt meinst du ? Ich habe keines zur Kamera ... Ich habe nur die generelle Beschreibung des Mux Protokolls GSM 07.10: http://www.hddznet.com/FileDown/mc35/MC35jj.pdf und dann noch nen Sony Ericcson Pdf über allgemeine AT Commads (das erste im ZIP): http://developer.sonyericsson.com/getDocument.do?docId=65054 Ein datenblatt für die Kamera habe ich NICHT :( Ich bin aber nun fast soweit dass ich das Protokoll im groben verstanden habe, nur einzelne Befehle ergeben für mich keinen Sinn. Ich habe soeben den kompletten MUX Verbindungsaufbau, Config und Bildanforderdialog in eine Reihenfolge gebracht wo man sieht wann wer was sendet. Jetzt werde ich anhand dieses Ablaufs mein perltestprog umschreiben... Den Ablauf poste ich erstmal noch nicht, musste an einigen Stellen raten wer was sendet. Hiermal der Auszug bis wohin ich mir ziemlich sicher bin (nur ab AT+CMUX=0...): TX = CAM -> mobile RX = mobile -> CAM //open mux channel0 TX CH0: COMMAND SABM len:0 || <F9 03 3F 01 ?? > RX CH0: COMMAND UACK len:0 || <F9 03 73 01 ?? > //open mux channel3 TX CH3: COMMAND SABM len:0 || <F9 23 3F 01 C9 > RX CH3: COMMAND UACK len:0 || <F9 23 73 01 02 > //config mux ch0 TX CH0: COMMAND UIH len:4 |....| <F9 03 EF 09 E3 05 23 8D FB > RX CH0: RESPONSE UIH len:5 |.....| <F9 01 EF 0B E3 07 23 0C 01 79 > //config mux ch3 TX CH0: COMMAND UIH len:4 |.....| <F9 03 EF 09 E1 07 23 0C 01 FB > RX CH0: RESPONSE UIH len:4 |....| <F9 01 EF 09 E1 05 23 8D 9A > //some AT Commands TX CH3: COMMAND UIH len:13 |AT*EACS.17.1.r| <F9 23 EF 1B 41 54 2A 45 41 43 53 3D 31 37 2C 31 0D D1 > RX CH3: RESPONSE UIH len:13 |AT*EACS.17.1.r| <F9 21 EF 1B 41 54 2A 45 41 43 53 3D 31 37 2C 31 0D B0 > RX CH3: RESPONSE UIH len:6 |.r.nOK.r.n| <F9 21 EF 0D 0D 0A 4F 4B 0D 0A 48 > //authenticate peripheral device TX CH3: COMMAND UIH len:14 |AT+CSCC.1.199.r| <F9 23 EF 1D 41 54 2B 43 53 43 43 3D 31 2C 31 39 39 0D 35 > RX CH3: RESPONSE UIH len:14 |AT+CSCC.1.199.r| <F9 21 EF 1D 41 54 2B 43 53 43 43 3D 31 2C 31 39 39 0D 54 > RX CH3: RESPONSE UIH len:13 |.r.n+CSCC..E3.r.n| <F9 21 EF 1B 0D 0A 2B 43 53 43 43 3A 20 45 33 0D 0A B0 > //authenticate peripheral device phase2 TX CH3: COMMAND UIH len:17 |AT+CSCC.2.199.B9.r| <F9 23 EF 23 41 54 2B 43 53 43 43 3D 32 2C 31 39 39 2C 42 39 0D FB > RX CH3: RESPONSE UIH len:6 |.r.nOK.r.n| <F9 21 EF 0D 0D 0A 4F 4B 0D 0A 48 > RX CH3: RESPONSE UIH len:17 |AT+CSCC.2.199.B9.r| <F9 21 EF 23 41 54 2B 43 53 43 43 3D 32 2C 31 39 39 2C 42 39 0D 9A > ... so weit erstmal ;)
OK, sorry, falsch verstanden, ich habs jetzt. Bei http://www.fer.hr/repozitorij/ts_101369v060300p.pdf geht es schneller, da ist der "07.10 Multiplexer protocol" von ETSI. Ist es das gleiche was du hast? Edward
Cool, Danke ! Meines ist nur ne Zusammenfassung von Siemens gewesen. Dein Link ist ausführlicher ;) Ich habs geschafft ! :D Die Kamera hängt am PC und man kann ihr per Perlskript Bilder entlocken. Hab bis jetzt nur den Previewmodus (80x60, 8 BPP) laufen. Da die Kamera aber per xml gesagt bekommt dass sie in 80x60 Pics machen soll denke ich man kann sie evtl zu jeder anderen größe überreden :D So nu muss ich mal überlegen wie man das alles in nen mega8 etc quetscht... Wenn ich das ganze irgendwie zusammen hab mach ich damit wahrscheinlich ne Website und pack dort alles (protokoll, doku, source, ...) hin. Habe mal ein Bild angehängt. Es zeigt mein Fenster wie die am Kabel rumhängende Kamera es sieht ;) Links x4 vergrößert, rechts 1:1
Congratulations, Nebenbei, wenn du Zeit hast (Will dich nicht aufhalten ;-) ): - Wo hast du die Pinbelegung des Cam gefunden? - Wieviel Strom frisst die Cam? (Solar RF link CAM ???) Edward
Heut mach ich erstmal nichts mehr. Evtl heute abend noch bissl ;) Pinbelegung: http://pinouts.ru/data/erics_t28_pinout.shtml pin4 : max232 RX pin5 : max232 TX pin6 : per 100K an 5V -> cam startet, offen cam schläft pin10: masse pin11: ~4,2V max232 und Kamera hängen per diode an 5V -> ~4.2V, sinkt im betrieb manchmal auf 3,6V. Klappt aber ;) Die I/O Pins scheinen 5V tolerant zu sein, jedenfalls gehen sie auch mit 5V. Wenn ich 5V auf pin11 gebe dann springt meine Strombegrenzung an... Stromverbrauch: Die Kamera liefert dem Handy diese Daten sogar per rs232. Während der Initialisierung: 4,4 mA Während dem Bilderpreview und senden: 100 mA Während dem speichern des 640x480 bildes: 110 mA (bin mir da nicht ganz sicher) Sind aber nur die Werte die die Cam sendet. Gemessen hab ich noch nicht. Vorallem wenn pin6 offen ist dann schläft die Cam wahrscheinlich komplett -> noch geringer. Bin mal gespannt wer als erstes sone Cam nimmt und zusammen mit nem PR Modem an nen Heliumballon hängt gg
Ey Sssssss, dem letzten Satz nach könntest du letztes Wochenende auf der Weinheimer UKW-Tagung gewesen sein... da kam das Bild aber ned per PR, sondern SSTV... Warst du ? Ich scho. Hendi
ne war ich nicht. hab mit funk/pr eigentlich gar nichts zu tun ;) hab nur letztens so ein interessanten artikel irgendwo gelesen wo jemand die sendeplatine aus nem billigen 433mhz (oder 800?) funkgerät zusammen mit gps und nem kleinen uC an nen Baloon gehängt hat g
Ja, sowas gibts. In Weinheim hätteste sowas derartiges abheben sehen können, mit 145 MHz Sender, Fernbedienung über 43x MHz, Kamera (Standbild mittels slow scan television), Sprach- und PR-Telemetrieausgabe, Temp außen, Temp innen, GPS (Der Spaß brachte), Drucksensor (der den SPaß hätte verhindern können) und Geigerzählrohr. Gibts aber öfter, so 3-5 mal im Jahr, bestimmt auch mal in deiner Gegend. Mir gehts bei der Kamera weniger um den Datenström, sondern mehr drum die Kamera zu triggern und ein JPEG per RS232, gerne auch langsamer, zurückzukriegen. Ich bin jedenfalls jiperig auf deine Fortschritte, hab schon satte 5,99 EUR in die Kamera investiert - die ebaypreise sind ja sprunghaft gestiegen wies aussieht :-) Wenns um Webspace geht, da hätte ich welchen für den Anfang :) Make wider Hendi.
5,99 ? Aber mit Porto, oder ? Gut das ich mir schon 5 gesichert habe ;D ;D So, habe nun mal ein paar Frames nacheinander ausgeben lassen. (pc mit perlskript steuert die cam) Zu sehen ist mein Fernseher (Simpsons, man kann im ersten pic Bart erahnen g) Dann schwenke ich zu meinem TFT. Für 80x60 mit 8 Bit Farbtiefe gar nicht mal so schlecht :D
ups, da hatte sich ein fehler in eingeschlichen der die Bilder versetzte. Hier nochmal ohne den Bug ;)
yeaaaaaahhh :D Supernews: Die Kamera liefert einen reinen JPG Stream :D Header: ÿØÿà^@^PJFIF^@^A^A^@^@^A^@^A^@^@ÿÛ^@ C^@^T^O^O^Q^O^L^T^Q^Q^Q^V^V^T^Y^^2!^ ^^[^[^^?-0&2IBNLIBGGQ[tcQVoXGGe~Khoy |~D~D~DNc~P~Z~N~~Xt~A~D~ÿÛ^@C^A^V^V^ V^^^[^^<!!<~SGS~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ÿþ^@, Imaged by MCA-25, (E:0520, RG:124, BG:176) Und nun das beste: Ich kann die Bilder per PC anfordern UND extrahieren :D Beweis siehe Foto ;) Ist überl verrauscht, ich hab aber auch kaum Licht angehabt ;) Der Sensor scheint viel Licht zu brauchen. Die 640x480 Datei ist 40.909 Byte groß. Siehe Anhang ;)
Wie schaut jetzt dein Protokollablauf aus? Also der zum JPEG Stream anfordern u. Bilder emfangen. Bzw. ein sehr interessantes Thema :)
Mein Perl Prog ist noch zu durcheinander als das ich das hier posten würde g Eine Millionen if then else Bedingungen 8) Ablauf: - mux init kram - cam init sequenz, reihe von hex werten - cam init (setzen von previewcfg, thumbcfg, fullcfg) - cam info holen (mem status, evtl optional) - monitor modus starten - cam sendet jetzt 512 Byte Daten in mux Paketen, jedes davon muss mit speziellem ACK akzeptiert werden ----> erste monitorbild is da - monitor modus starten - cam sendet jetzt 512 Byte Daten in mux Paketen, jedes davon muss mit speziellem ACK akzeptiert werden ----> zweite monitorbild is da, dies ist beliebig oft wiederholbar - vollbild anfordern - cam sendet jetzt 512 Byte Daten in mux Paketen, jedes davon muss mit speziellem ACK akzeptiert werden wo genau ich sage welches bild ich als vollbild haben will hab ich noch nicht geguckt, wird in einem der pakete gemacht. Ich bin mir auch noch nicht sicher was passiert wenn man die 512byte verzögert ACKt, ideal wäre wenn die Cam dann wartet mit den neuen Daten bis ich ein ACK sende. Diese 512 Byte sind bestimmt konfigurierbar, ich hab ein paar Befehlsfolgen wo ich den Sinn noch nicht verstehe.
wirklich toll!! ich warte grad darauf, dass meine cam kommt und dann gehts los freu
Hallo Sssssss, Gut geschlafen? (Sorry, mit dem Nickname ...) Ich habe (weahrend ich auf mein Cam warte ...) die MUX spec und die AT commands "reingezogen". Wie hast du die Cam Befehle rausgefunden, durch reines "schnueffeln"? Respekt. Wird die Cam auch mit AT befehlen gesteuert (fuer Aufloesung, Flash (hat es den einen?), Fun Modus (watdndat?) )? Hat jemand der mitverfolgt ein Manual zum runterladen gefunden? Ich habe im Internet auch keine Befehlsliste fuer die Cam gefunden. Warte ungeduldig auf meine Cam (Gestern noch 6 Stueck da, jetzt ... ). Die Ware wird heiss auf Ebay! Edward
Moin ;) Die Cam an sich wird über XML und teilweise über komische hex reihen gesteuert. Die Ansteuerung habe ich durch mitsniffen und raten wer was sendet rausbekommen ;) Fun-Layer sind glaub ich die Effekte (Invertieren, S/W, Sepia,...). Ebay: g gut das ich hier 5 Stück liegen habe ;)
blöde frage, gibts jpeg-standbilder auch mit niedrigerererer Baudrate ? (DOS auf Notebook) Muss mal eure Links checken ob und wo es da speks gibt, hab erst pinout geguckt... @Sssssssssssssssssssssss: Wenn du immer raten musst wer sendet: Ich hab hier eine 2*COM Karte, die auch unter Win95 und DOS glaub 406k tut. Da hättest du zwei RX Kanäle womit dann klärbär wäre wer was sendet. Willsu ? Hendi.
Hi! Die Kamera fragt zwar das Handy was es für Baudraten kann und nimmt dann die maximal angegebene, sobald sie in dem muxmodus schaltet nimmt sie aber scheinbar IMMER 460kbaud :( Danke für das Angebot, ist aber nicht mehr nötig ;) Ich hab ja schon nahezu alles entschlüsselt und dank dem mux protokoll (command -> response) sehe ich auch fast immer von wem was kommt.
Zum Thema "was ist fun-layer": Siehe Dateianhang (fun-layer=6) lol Man kann seine Bilde rmit so "hübschen" Rahmen versehen ... Ausserdem habe ich so langsam einen Überblick über die "wirren" Initsequenzen: 80 00 1A 10 00 02 00 46 00 13 E3 3D 95 45 83 74 4A D7 9E C5 C1 6B E3 1E DE -> dort wird mit 02 00 gesagt dass immer 512 byte bilddaten geackt werden müssen. Stelle ich das auf 01 00 muss ich alle 256 byte ACKen -> super für den avr denn dann können wir den bildbuffer kleiner machen. 512 Byte war mir schon ein bissl groß ... Und ein paar Datenflusspakete: A0 00 03 = ACK 40 00 03 = ?? jedenfalls irgendein error 83 00 03 = das muss man nach jedem Bildpaket (512Byte) senden -> ACK (?) Daten im Bilddatenstrom: 90 02 00 C3 00 -> die ersten 512 Byte daten (=0x0200) kommen jetzt 90 02 00 48 01 -> mittlere 512 Byte daten (=0x0200) kommen jetzt ... 90 01 10 49 01 -> die letzten 272 512 Byte daten (=0x0110) kommen jetzt Dann gibts noch //mem info holen: //------------------------------------------ \x83\x00\x17\x42\x00\x14x-bt/camera-info\x00 //preview mode aktivieren: //------------------------------------------ \x83\x00\x69\x71\x00\x3F<monitoring-command version="1.0" take-pic="YES" zoom="10"/>B\x00\x21x-bt/imaging-monitoring-image\x00\x4c\x00\x06\x06\x0 1\x80 //bild holen: //------------------------------------------ "\x83\x00\x82\x71\x00\x58<monitoring-command version="1.0" take-pic="NO" send-pixel-size="640*480" zoom="10"/>B\x00\x21x-bt/imaging-monitoring-image\x00\x4c\x00\x06\x06\x0 1\x80 Der Rest der Kamerainitialisierung läuft über XML: <camera-settings version="1.0" white-balance="OFF" color-compensation="13" fun-layer="0"><monitoring-format encoding="EBMP" pixel-size="80*60" color-depth="8"/>\r\n <thumbnail-format encoding="EBMP" pixel-size="101*80" color-depth="8"/>\r\n <native-format encoding="" pixel-size="640x480"/>\r\n </camera-settings>
Tolle Arbeit. Bitte auf jeden Fall ne Homepage mit der Zusammenfassung des Protokolls etc. machen!! Danke nochmal!
Hi! Es gibt Neuigkeitem: ES FUNKTIONIERT ! Man nehme: MCA25 1,- Eur, ne olle ne2k netzwerkkarte, nen mega32, Steckbrett und ein paar kabel -----> Homemade ipCAM für <10 Euro 8) Anbei ein Screenshot. Bildaufbau ca 1-10s je nachdem wie gross das JPG ist (~5KByte/s). Lässt sich bestimmt noch durch größeren Buffer verbessern (momentan pro tcp packet nur 250 byte cam daten). Hatte heute mit fiesen Ram Bugs zu kämpfen (siehe printf post). jetzt gehts aber so weit ;) Ein paar Kleinigkeiten fehlen noch (jpg ende Erkennung, ...) aber das Prinzip funktioniert :D Wann kommen eure Kameras an ?
Achja, die Streifen kommen von der Regelung der Kamera. Ich muss noch einbauen dass sie intern erst ein paar Bilder verwirft bevor ich das Vollbild auslese.
Hallo Sssssss Ich habe eine groessere Menge bei Handynow gekauft da ich dann nur einmal Post zahle. Muesste in den naechsten Tagen ankommen. Einen Ericsson Connector von einem kapputen Handy habe ich auch schon umgebaut und parat hier liegen. Bin gespannt wie der Perl Code aussieht. Ich wollte das Ding zuerst mal an meine Linux Kiste klemmen. Dannach vieleicht an mein AT89S8252 Webserver klemmen doch ich glaube das wird nix? Kann mann kleiner als 256 Bytes fahren (128?) oder ist 256 das Limmit? Dann muss wohl ein AVR her. Super tolle Arbeit! Gruss Edward
Hi! Wieweit runter der Buffer geht weiss ich nicht. Muss man testen ;) Connector: Ist nicht nötig... Einfach die Cam aufschrauben (vorne und hinten das graue abhebeln, darunter sind 4 schhrauben) und den connector durch hin und zurück bewegen abbrechen. Dann kann man die Pins von der Platine einzeln ablöten und dort 5 Kabel anlöten (gnd, vcc, rx, tx, "reset"). Vcc erstmal nur bis 4,2V anlegen, muss noch testen ob sie auch 5V mag ;) An den RX/TX Leitungen machen 5V scheinbar nix, hab sie ohne Level Konverter am mega ;) Linux Kiste ist gut, der Code läuft auch nur dort da ich ein system("stty...); verwende um die Baudrate mitten im Code zu ändern ;)
Auktionen laufen noch... Kannst mal ein Bild von draussen posten? (Tageslicht, und nicht direkt in die Sonne) Um die Qualität beurteilen zu können. Thanx Aticio
Hi! Wenn es nachher noch hell genug ist wenn ich zuhause bin gerne ;) Muss nur gucken ob ich das bewegt bekomme, ist ja nur auf nem steckbrett fliegend verdrahtet (20 kabel zum isa bus...) Aber ich versuchs ;) Habe heute morgen den Bug behoben das er das bildende nicht erkannte.
Hi! So, hier ein Bild von gerade eben. Der hell/dunkel Streifen kommt daher das die Cam das erste Bild direkt ausliefert, werde ich aber ändern. Wenn er erstmal vorher 2-3 Bilder zum Helligkeitsabgleich machen kann sollte das nicht mehr sein ;) Jetzt habe ich nur ncoh einen Bug drin dass ich die Cam irgendwie resetten muss falls jemand im Browser auf abbrechen klickt... Als Workaround sollte ein 2s watchdog reset reichen g Aber auch nur im Notfall 8)
so, und damit ihr euch auch den Versuchsaufbau vorstellen könnt hier mal ein Bildchen ... g Chaos pur g Aber es funzt ;)
Hi. Danke für die Bilder. Das erste sieht im oberen Teil ja nicht schlecht aus. Woher kommt der Grauschleier im unteren?
Guten Morgen Sssssss, Hurra, meine Kiste mit Cams ist da! Die sind ja niedlich klein. Kannst du den Perl Code posten (oder mailen)? Edward
Hi! Gruaschleier kommt daher dass nur ein Bild gemacht wird intern. Die Cam braucht aber länger für helligkeitsabgleich. Kann ich aber beheben ;) So zum Anschluss der Cam an den PC nochmal was: - Cam an nen usb Adapter über nen max232 dranhängen - cam und max 232 mit 4,2V versorgen (einfach ne Diode in Reihe, nach der Diode nen 10uF nach Masse) - den Pin6 erst noch auflassen - perl code starten, pin10 mit 100K auf 4,2V ziehen -> cam startet @Edward: Den Perlcode maile ich dir zu, ist aber undokumentiert und total chaotischt. Der Atmega Code ist aber dokumentiert, muss aber erst noch aufräumen ;)
der ATMega - Code würde mich auch interessieren. Wenn man jetzt nur je ein Foto machen und auf einem SPI-EEPROM speichern will (so wie ich), sollte es doch reichen, wenn man AVR und Kamera verbindet? Evtl. sogar ohne Max232, wenn mab die RX/TX-Leitungen findet..? Auf jeden Fall schonmal meine Anerkennung! Ich hab auch schon mal so Kabelhaufen wie in Deinem Bild gezüchtet - das größte Problem war immer ein gestecktes Kabel, das nicht richtig saß ("abber Draht dran") - Ich drück die Daumen, daß Dir das nicht passiert.. Gruß Carsten
Hallo! Bitte auch um den Mega32 Code. (Wenn er funktioniert ;-) ) Werds nämlich auch direkt damit verbinden Danke nochmal für die tolle Arbeit!!
Sssssss, der aufbau ist echt lustig ;). Muss man eigentlich das gesamte TCP/IP protokoll auf den AVR portieren oder reicht ein karten treiber?
Den mega32 Code gibts später auf ner website ;) Muss ihn noch weiter dokumentieren und bugs fixen... @philipp: Auf dem mega läuft ulrich radigs webserver. also ethernet, ip, tcp, http... Damit man ihn per http ansprechen kann brauchts natürlich tcp/ip ;) Die mca25.c wird man aber auch ohne den webserverkram nutzen können. Zumindest habe ich versucht es so allgemein wie möglich zu coden ;)
Hallo Sssssss, Auf dem T68 macht der Cam. Doch an meinem board nicht. Ich hab alles X mal gecheckt. 4 und 5 vertauscht (Mann weiss ja nie) und vieles mehr. Ich habe auch mit 3.6 Volt versucht da das ist was die T68 hergibt, auch kein glueck. Wenn ich pin6 hoch ziehe geschiet nix? oder sollte die Cam dann ein 9600baud message von sich geben? Die Perlscript laeuft mit einem USB adapter so wie du und ich krieg nur das "9600" vom stty auf den Bildschirm. Danach laeuft die Schleife doch die Cam sendet kein Byte ... Sorry, ich gebs vorerst mal auf. Edward
Hallo again, Pin 6 lass ich jetzt frei. Wenn ich pin 7 toggle kommt AT&F. Danach immer wieder AT&F. Der Perlscript bleibt in dieser Schlaufe. Der erste Erfolg. Ich muss mal gucken ob ich was besseres habe als n MAX232N da ich nicht sicher bin ob der 0.5 Mbit kann. Edward
Oh sorry dann ist es wohl pin7 :-X Hab meine Cam zugeschraubt hier liegen ::) Also pin7 nach dem progstart mit 100K auf 4,2V ziehen. Dann sendet die Cam AT&F bei 9600 baud. Darauf antwortet das Prog erstmal bei 9600... Starte mal minicom und stell Harware Handshake aus ;) Das ist zu 90% dein Fehler denk ich.
hi! Habe gestern den ganzen Tag damit verbracht einen Speicherbug zu finden :-X Am ende wars nen blöde testarray den ich im code vergessen hatte ... naja egal, jetzt läufts (fast) alles. Folgende Sachen hab ich bemerkt: Der dunkle Balken kommt nicht wie vermutet daher dass nur ein Bild vorher geholt wird. Hole ich mehrere wirds sogar noch schlimmer... Ich vermute meine Cam Stromversorgung bricht zusammen. Hatte mich eh gewundert dass es mit den Dioden klappte. Ab und an gibts noch ein Problem mit der Erkennung des Bildendes. Ich hoffe es liegt am versuchsaufbau und dass ein Byte nicht richtig erkannt wird oder so... @edward: und, schon ein Bild rausbekommen ?
Hallo wieder Ssssssssssssss, Handshake ist OK, Doch mit "stty raw" geht es besser. Jetzt funzt es. Welches Telefon hast du gehorcht. Ich habe ein altes T68 gefunden und der macht zB 0D 0D 4F 4B 0D 0A und nicht 0D 0D 0A 4F 4B 0D 0A wie dein script fur den "OK" ... Wenn du ein anderes Fon benutzt koennen wir ja mal vergleichen ... Edward
An ein paar stellen wartet die Cam auf \r\r\nOK\r\n wobei \r und \n teils beliebig tauschbar sind... Macht deine Cam auch so Balken oben ? Kannst du mal ein Pic posten das du mit meinem perlcode gemacht hast ? Sobald der Bildmodus läuft braucht man scheinbar die OKs für den Stromverbrauch nicht mehr senden. Zumindest mache ich das im aktuellen webcam code nicht und es geht trotzdem 8) Ich hab nen olles T310 von ebay genommen fürs protokoll sniffen.. Das sieht vielleicht aus :-X Das hat jemand versucht selber neu zu lackieren lol Danach isses wohl auch nochmal ins wasser gefallen oder so, jedenfalls gehen die meisten Tasten nicht und das Display hat streifen g
Ja guck mal hier: http://www.mikrocontroller.net/attachment.php/236104/webcam.jpg_20092005_1632uhr.jpg Wie versorgst du die cam mit Strom ? Deins sieht ja super aus :)
Strom von einer HP 6825A Bipolar Power Supply, Gibt stinkt normale 5 Volt her ! dann durch die 1n4148 in C=220uF. Pass auf mit Strom von USB, ich hatte ein anderes Projekt da waren bei meinem PC ueber 100mVpp Ripple drin. Mein Fon gibt nur 3.6 Volt. Edward (Heisser Thread, schon 7 Downloads in weniger als 10 min!)
Ich tipp auf Foto aus ner Einrichtung von T-Systems / Mediabroadcast. :)
Hi! Hab jetzt nochmal das perl prog benutzt. Und siehe da die Streifen sind weg :-X Liegt wohl irgendwie an den Kommandos die ich mitm avr schicke...
Hi! Hätte auch intresse am Perl-Src, Cam ist heute gekommen. Echt super Arbeit!
Hi! Schreib mal deine email Adresse dann schick ich ihn dir... Vorsicht beim anschliessen, oben steht pin6 als enable, richtig ist pin7 (keine sorge, alle anderen sind NC in der Cam)
Hi, soory, dachte die Email steht immer im Header wenn man sich angemeldet hat. Dem ist wohl nicht so, angeben kann man sie auch nicht, bisschen komisch. Naja, Email ist joh-z(at]gmx.de
Bitte das Pearl-Program auch an c.pietsch[at]web.de senden. Ich werde sobald ich Zeit habe (kann eine Weile dauern :-) ) versuchen, mit BasCom / Assembler dem Teil zuleibe zu rücken. Kamera hab ich schonmal ..
Hallo alle, Gute Nachricht fuer kleine MicroProfessoren (uC): Die Cam hab ich bis 64 byte Paeckchen runtergedreht (Dank Sssssssss Perl Script) und kleiner ist bestimmt auch drin. Versuch noch immer den Durchblick ganz zu kriegen. Ich besteatige schon mal dass am Anfang ein Frame von der Cam 1 Byte zu lang ist. Neahmlich: F9 03 EF 09 E1 07 23 0C 01 FB F9 Ich dachte an "control-octet transparency", dem ist aber nicht so, da 0xF9 oefters in Frames vorkommt. Die Cam scheint wirklich nur "Basic Option" zu machen aber halt mit einem (einzigen) Fehler! Edward
Hi, komisch habe jetzt die cam angeschlossen. 11 Vcc (3,38V pc netzteil) 10 GND 7 Enable über 100k an Vcc 5 TX am max232 an pin 11 4 RX am max232 an pin 12 Wenn ich pin 7 mit 100k an Vcc klemme zieht er an Vcc 107mA. Habe mal spass halber RX und TX vertauscht auch nix. Max232 läuft auch an den 3,38V funktioniert auch. Bekomme weder mit dem Perlscript noch mit gtktem 9600,8,N,1 Daten. Einer noch ne Idee?
Also sobald du pin7 auf Vcc ziehst solltest du ein AT&F mit 9600 Baud empfangen. So ca im Sekundentakt... verbinde mal rx und tx von max232 und guck mit minicom ob du alles gesendete zurückbekommst. Hardware handshake aus ? /dev/ttyUSB0 eingestellt ?
Hallo, kannst Du mir das Perl-Programm bitte auch mailen? Danke. malaga (at) arcor (punkt) de Gruß Michael
Weil der code noch zu durcheinander ist und ich gerne wissen möchte wer ihn alles hat ;) Ich bastel fleissig an der Website, sobald die fertig ist poste ich die hier, keine sorge. Code+ Doku werden auch frei verfügbar sein (GPL), will ja nichts damit verdienen ;)
Dann bin ich auch schon fast starklar. Die Kamera hat heute einen Strip gemacht und liegt jetzt splitternackt vor mir - eventuell kriegt sie schon dieses Wochenende ein neues Kleid und Spielgefährten: Pegelwandler und Stromversorgung :) Viele Grüe, Hendrik (nein ich bin nicht so)
Hallo, meine Kamera ist nun auch da. Wäre auch an dem Programmcode interessiert. Meine Email: topsoft@gmx.li
Hallo an alle die ein Cam haben. Wenn ihr 10 + 11 via eine banale Diode an 5 Volt klemmt und mit einem ordentlichen C decoupled musstet ihr an Tx mit einem Scope die AT&F sehen sobald ihr pin 7 von "frei" auf +5V mit 100kOhm zieht. Passt auf eure MAX232 auf, die machen nicht alle mit bei 0.5 Mbit/Sec, die meissten sind nur fuer 0.1 Mbit/Sec. Ich habe mit einem USB - seriell Adapter an einer Linux Machine den Code von Sssssssssss laufen. An Sssssssssss: Hallo, ich bin dabei den Code umzuschreiben um zu verstehen was laueft. Man sieht es dem Code an dass du geschwitzt hast um das alles zu "reverse engineeren", noch einmal reisen Respekt. Ich versteh nicht wieso die eine Frame zu lang ist, ich konnte mir lange nicht vorstellen dass die Cam einen Bug hat, aber ich nehme jetzt an dass es so ist. Hast du da noch was raus oder einfach Schulter zucken un so sein lassen ? Gruss, Edward
Sorry, Um Missverstaendnisse zu vermeiden, die "AT&F" ist mit 9600 baud alle Sekunde mal, 0.5 Mbit braucht ihr spaeter fuer die Bilduebertragung. Schoenes Wochenendtuefteln an alle! Edward
Hi! Ich hab das einfach als Bug der Cam angesehen dass das eine mux Frame ein Byte zu lang ist ... Keine Ahnung warum das so ist, evtl ist es absicht das die Cam nicht an normalen gsm07.10er muxen läuft ?! Egal, wenn mans weiss ist es ja kein Problem ;) Wenn du den Code umgeschrieben hast schickst du ihn mir ? Ich würde ihn dann gerne auch auf die Webseite von mir stellen. Hab gestern schon die Protokollbeschreibungen zu 50% fertig bekommen. Hoffe nach dem WE ist alles komplett ;)
Hallo zusammen, ich hatte schon mal in einem anderen Thread vom meinem c-328 CameraModul berichtet. Offensichtlich scheint es sich um den gleichen "Kern" zu handeln. Auch hier kommen die Daten des Bildes in Blöcken, die man segmentieren kann. Allerdings "spricht" die Cam kein XML, sondern verwendet einfache Header, wie z.B 0xAA 0x0D 0x00 0x00 0x00 als Sync-Kommando. 2Byte sind das Kommando und 4Byte die Parameter. Blocklänge, Auflösung ect. lässt sich auch einstellen. Ist aber WESENTLICH teurer als das, was es ebay gibt. Aber eben auch deutlich einfacher zu handeln. Klasse Arbeit - nebenbei bemerkt. RESPEKT Hast Du dafür nebenbei auf Arbeit Zeit...? Viele Grüße und schönes WE noch AxelR.
Hallo Sssssssssssssss, Echo / No Echo macht ein unterschied? Hast du das auch? With no ECHO: >> Got_Cmd>> AT&F >>Sent_Cmd>> \r\r\nOK\r\n >> Got_Cmd>> AT+IPR=? >>Sent_Cmd>> \r\r\n+IPR: (),(1200,2400,4800,9600,19200,38400,57600,460800)\r\n\r\nOK\r\n >> Got_Cmd>> AT+CMUX=? >>Sent_Cmd>> \r\r\n+CMUX: (0),(0),(1-7),(31),(10),(3),(30),(10),(1-7)\r\r\r\nOK\r\n >> Got_Cmd>> AT+CMUX=0,0,7,31 >>Sent_Cmd>> \r\r\nOK\r\n With ECHO: >> Got_Cmd>> AT&F >>Sent_Cmd>> AT&F >>Sent_Cmd>> \r\r\nOK\r\n >> Got_Cmd>> AT+IPR=? >>Sent_Cmd>> AT+IPR=? >>Sent_Cmd>> \r\r\n+IPR: (),(1200,2400,4800,9600,19200,38400,57600,460800)\r\n\r\nOK\r\n >> Got_Cmd>> AT+IPR=460800 >>Sent_Cmd>> AT+IPR=460800 >>Sent_Cmd>> \r\nOK\r\n Alles noch bei 9600 ... Edward
Versuch mal nur: \r\r\n+IPR: (),(1200,2400,4800,9600,19200,38400,57600,460800)\r\r\nOK\r\n (ein \n weniger vor dem ok) Manchmal kommt es auf die anzahl der \r\n an ... Ich glaub der "parser" ind er Kamera guckt manchmal nur nach \r oder so ::) Damit sollte es auch ohne echo gehen.
Hi Simon, Hast du es schon hingekriegt nach der Init direkt ein jgp mit VGA Aufloesung zu fordern. Ich kriege es ohne vorhiges "preview" nicht hin. Die Cam kann richtig stoerrisch sein ;) Edward
Hi! Ne hab ich auch noch nicht geschafft. Ich vemute man muss irgendwie beim init take-pic="yes" mitsenden und ausserdem muss man irgendwie die Kontrollpakete verändern denke ich. vor dem grab command: preview: F9 81 EF 3F 83 00 69 71 00 3F 3C 6D 6F 6E 69 74 ... 640x480: F9 81 EF 3F 83 00 82 71 00 58 3C 6D 6F 6E 69 74 ... nach dem grab command: preview: ... [4C 00 06 06 01 80] .. 640x480: ... [4C 00 06 06 01 80] .. Die vor dem grab machen wohl irgendwas. austauschen hat nichts gebracht.. Achja versuch mal beim preview take-pic="no" dann bekommst du ein schwarzes Bild beim jpg/preview. Ich denke das take-pic sorgt dafür dass ein bild aufgenommen wird. Deshalb ja auch meine frage per mail ob beim t68 ohne preview gegrabbt wird... Da haette man sich die Daten abgucken können. @all: Ich habe die Protokollbeschreibung jetzt online: http://avr.auctionant.de/avr-ip-webcam/mca-25-protokoll.html Sonst fehlt noch einiges auf der Seite, nicht wundern wenn manche Links noch tot sind ;)
Hi Ssssssssssssssssssss Ich habs raus, Wenn die CAM geinitet wird ist wohl die AGC noch nicht eingerastet. Nach etwa 5 previews ist es OK. Deshalb das schwarze Bild. Die T68 gab ein preview bevor man schoss und ich erinnere mich noch, es hat gedauert (2-3sec) bis die Helligkeit OK war. Wenn ich 0 previews mache ist das VGA bild schwarz. Nach einem ist es sehr dunkel ... etc. Die ACKs koenne etwa 1 sec warten. Wenn man nach etwa 1 sec kein bild mach (preview oder vga) geht die CAM auf standbei (AT*ECUR 41) Bei packete von 32 byte min (ich konnte nicht weniger fahren) und 1 sekunde verarbeiten kann man schon packet machen ... (<50bits/sec) und das vga bild braucht etwa 1 minute zum runterladen. Edward
Hi! Du bekommst jetzt ein Bild ohne preview ? Was ich jetzt noch dringend suche ist ein "abort" befehl. Sprich ich fordere gerade ein jpg an, möchte nun aber nach 512 Byte abbrechen (jemand hat im browser auf abbrechen geklickt). Ein ACK ist ja: xF9\x81\xEF\x07\x83\x00\x03\xA6\xF9 Jetzt versuche ich einfach mal ein paar Bits zu kippen und ein Nack zu generieren :( Oder hast du da schon was gefunden ? Was bastelst du eigentlich damit ?
Hi! Hab jetzt nochmal das Handy belauscht... Es scheint kein "jpg transfer" Abbrechen Kommando zu geben :-X Naja muss man halt ein bild "skippen" falls man einen Transferabbruch erkennt. Klappt auch wunderbar, nach dem drücken auf abbrechen und reload liefert die cam nun endlich ein volles Bild. Dauert zwar ein bisschen länger aber egal ;) Ich habe aber massive Probleme mit Störungen ... Ok, an der Cam hängt auch nen 30cm langes Flachbandkabel ... Mit 10cm Kabel ists aber genauso... Ich denke dort stört irgendwas auf der Versorgungsspannung... Ausserdem werden die Störungen mehr wenn ich vorher 6 previewbilder hole (siehe Bild) Ich hab die Cam mal testweise an 5V gehängt (ganz mutig direkt an nen 7805 :-X). Macht ihr nichts... Wie vermutet scheint die Cam intern eh nur mit selbst generierten 3,3V zu arbeiten. Geht also auch ohne Diode. Hat aber auch keine Besserung gebracht :( Ich vermute Störungen durch den mega32 oder sogar durch die Netzwerkkarte :( Hat irgendjemand vor seine cam auch an nen webserver zu hängen ? Code ist schon fast fertig dokumentiert und lauffähig ;) Suche noch freiwillige Testkandidaten.
Ich hab ne Vermutung was bei mir stört... Wenn ich den mega32 mit 4,3V versorge sind die Störungen fast weg! Auch ein paar delays beim senden der capture cmds brachte etwas. UND: Das Bild wird deutlich besser an die Helligkeit angepasst. Hab nochmal fast dasselbe Bild gemacht wie vorhin. Endlich kann man bei normaler Beleuchtung was erkennen :D Vermutung: Die Cam mag die 5V an der rs232 rx leitung nicht g Mal gucken obs mit R-Teiler besser wird. Wobei bei 460kbaud ist das bestimmt auch nicht ohne. Nen vernünftigen Pegelwandler will ich eigentlich keinen einbauen ::) Mal sehen ;)
Hallo Ssssss. kannst du mir den code zuschicken ? In den nächten tagen kommt meine cam und dann kann ich mich schonmal einarbeiten. Natürlich wird n bild gepostet, wenns get.
Hi! So, habe vorerst genug aufgeräumt... Auf meiner Seite gibts die erste Version zum download :) Neu ist ausserdem: - die Möglichkeit einen Servo anzuschliessen und damit die Kamera auszurichten :D - der Webserver liefert ein "busy" jpg wenn jemand anderes gerade ein Kamerabild lädt Bekannte Bugs: - ab und an hängt sich die Cam auf (evtl später mal per watchdog resetten) So hier gehts zur Software; http://avr.auctionant.de/avr-ip-webcam/avr-webserver-software.html Und hier noch ein paar Infos zur HW: http://avr.auctionant.de/avr-ip-webcam/avr-webserver-hardware.html Viel Spaß ;)
Kompliment nochmal. (Hast eh einen Counter auf der HP oder? ;-) ) Warte schon ungeduldig auf meine cam.....
Hi Simon, Apropos ENDE vom Datentransfert: 83 EF 3F 90 02 00 48 01 FD (normaler frame group begin) 83 EF 3F A0 00 7E 49 00 7B (last frame group begin) Sprung von 90 auf A0 , und , 48 auf 49 , signaliert letztes Frame ? 02 00 wird nach 48 zu 01 FD 00 7E wird nach 49 zu 00 7B der gleiche unterschied 3 bytes ? Ich kann mit dieser Taktik fasst immer ;) das Ende erkennen. Ich muss 100erte Frames grabben bis es nicht klappt. Diese letzten Fehler gilt es noch auszumertzen. Welche Taktik benutzt du beim AVR um das Ende zu sehen? Edward
Hi Sssssss, meine Kamera ist am Mittwoch auch endlich angekommen. Beim anschließen der Kamera habe ich gemerkt, dass bei den Angaben zur Anschlussbelegung auf deiner Homepage sich ein Fehler eingeschlichen hat: Laut den Angaben auf http://pinouts.ru/data/erics_t28_pinout.shtml müsste PIN 4 Kamera TX und Pin 5 Kamera RX sein. So ist es glaube ich auch auf dem Bild zusehen. Ist bei dem Software-Download (http://avr.auctionant.de/source/avr-ip-webcam_based_on1.38_290905.tgz) auch der Perl Quelltext dabei? Ich möchte die Kamera nämlich am Computer betreiben. Gibt es eine Möglichkeit die Spannung auf den RX/TX Leitungen zwischen MAX232 und der Kamera auf Kamera verträgliche Bereiche "runterzuschrauben"? Bei der VCC-Leitung zur Kamera habe ich zwei 1N4148 Dioden und einen 220µF Kondensator eingebaut (wie im Schaltplan [http://avr.auctionant.de/img/avr-ip-webcam_s01_sch.png]). Peter
Hi! Guck mal in die webcam/mca25.c rein. Ich erkenne das Ende dadurch dass 7te Byte nicht mehr 0x48 ist. Bei einer Blockgröße von 512Byte klappt das eigentlich auch immer. Alternativ hatte ich mal probiert if (len < 0x0200) then END probiert. Das scheiterte aber manchmal (vermutlich war irgendwann einmal ein jpg genau passend gross :-\) Ob das mit dem !=0x48 immer klappt weiss ich nicht. Ich habe noch einen Bug drin dass die cam ab und an stehen bleibt. Dem Datentransfer nach aber scheinbar mitten in einem Paket, nicht am Ende. Warum sie das tut weiss ich noch nicht :( Das senden eines mux config paketes nach jedem jpg hat da einiges gebracht.. Vorher passierte es alle 3-5 Bilder. Jetzt ca alle 20 oder so... Die Streifen hab ich übrigends durch ein warten nach dem grab request (diese erste zeile vor dem bt-cam....) nahezu ganz wegbekommen. Aber guck mal in die webcam/mca25.c rein, ist deutlich besser kommentiert als der perlcode ;) (hoffe ich zumindest g)
@Peter: Danke, hast recht... Wird sofort gefixt ;) >Gibt es eine Möglichkeit die Spannung auf den RX/TX Leitungen zwischen >MAX232 und der Kamera auf Kamera verträgliche Bereiche >"runterzuschrauben"? Kann man machen, bringt aber keinen Unterschied. Die Cam--->uC brauchst du nciht ändern, der uC erkennt auch 3.3V Pegel vernünftig. uC--->Cam kannst du durch einen 33k/22K RTeiler runterbringen. GND o----[33k]----x------[22k]-----o uC TX An x für die Cam abgreifen... Bei der VCC-Leitung zur Kamera habe ich zwei 1N4148 Dioden und einen 220µF Kondensator eingebaut (wie im Schaltplan [http://avr.auctionant.de/img/avr-ip-webcam_s01_sch.png]).
Hallo, ich habe jetzt die Kamera per MAX232 an den PC angeschlossen und die Intialisierung funktioniert soweit. Zur Kommunikation mit MUX-Paketen habe ich eine Frage: Wenn im txt-File auf Ssssssss Homepage z.B. folgendes steht: //open mux channel0 TX CH0: COMMAND SABM len:0 || <F9 03 3F 01 1C F9> RX CH0: COMMAND UACK len:0 || <F9 03 73 01 D7 F9> Muss ich dann auf den Empfang von "F9 03 3F 01 1C F9" warten und "F9 03 73 01 D7 F9" antworten? Peter
Hi! Ja genau! Die Kamera (TX) fordert das ch0 öffnen an und das Handy (RX) bestätigt dies. Ich habe mal den perl Testcode auf meine Seite gepackt: http://avr.auctionant.de/source/connect_640x480.pl Ist aber undokumentiert, war nur zum schnell mal testen gedacht. Ist auch nur unter Linux lauffähig. Unter windows müssten die system(stty...) Aufrufe geändert werden ;)
Hi, ich habe ein Problem mit meiner Schaltung/meinem PC-Programm: Sobald ich die Baudrate auf 460800 umschalte empfange ich nichts mehr. Ich weiß nicht, ob es an meinem MAX232 (MAX232CPE 0533) liegt, ich habe einmal testweise den RX Pin mit dem TX Pin (Kameraseite vom MAX232) verbunden und mit dem PC ein paar Zeichen mit 460800 Baudrate gesendet und auch empfangen. Wenn ich nicht auf 460800 Baud umschalte (die Kamera aber) empfange ich etwas (nur Müll --> wegen unterschiedlichen/zu hohen Baudraten?), d.h., dass die Kamera auf jedenfall etwas sendet. Peter
Die serielle (onboard-) Schnittstelle eines PCs kann maxmimal mit 115200 Baud übertragen. Mehr geht nur mit Schnittstellen, die andere Hardware verwenden; PCI-Schnittstellenkarten oder USB-Seriell-Adapter.
Danke. Dann muss ich mir woll einen USB-Seriell-Adapter anschaffen. Peter
>..und mit dem PC ein paar Zeichen mit 460800 Baudrate gesendet und auch empfangen. >..Die serielle (onboard-) Schnittstelle eines PCs kann maxmimal mit 115200 Baud übertragen. der PC scheint es ja wohl zu machen - der Kauf eines USB-Seriell-Adapters scheint in diesem Fall nicht notwendig, oder? Gruß Axel
Hi! Ist die Frage ob der PC dann wirklich mit 460kbaud sendet oder mit der am besten passenden niedriegen Baudrate ... Sonst sende mal 0b010101010 und mess die Bitlänge mit nem Oszi aus... Dann weisst du obs sicher 460kbaud sind ;) Ich habs nur mit usb->seriell Wandlern probiert :-\ Oder konfigurier nen mega32 auf 460kbaud (Baudratenquarz ! 7,3... Mhz) und schicke von dem irgendwelche Testbytes an den pc ;)
Ich habe zur Zeit weder ein Oszi, noch einen mega32 zur Verfügung, deshalb habe ich jetzt einen usb->seriell Wandler bestellt. Damit bin ich dann auch flexibler, wenn ich die Schaltung an einem Notebook ohne serieller onboard Schnittstelle nutzen will.
Nen mega8 sollte die Baudrate eigentlich auch können (hab nicht nachgesehen) Oder sonst irgendein uC. Aber nen usb->seriell Wandler kann man immer brauchen ;)
Das liegt daran, dass ein Megabit-MAX viel zu teuer für sowas billiges (~ 10,-) ist. Sowas feines gönnt sich kaum ein Hersteller solcher Wandler. jörn
Hab jetzt mal in meinen reingeguckt (von meinem hp notebook) Dort ist nen ftdi ft232AM und nen Sipex3243ECA drin. Dahinter klemmt nen max232n. Keine Ahnung ob der für 1kbaud ausgelegt ist. Funktioniert aber ;) Alternativ könnte man ggf einen billigen usb2serial wandler nehmen und sich rx,tx direk am ftdi abzweigen. Dei haben dann 5V (oder 3.3V?) Pegel und man braucht keinen max ;)
Also bei dem USB->Seriell Wandler, den ich bestellt habe steht in der Beschreibung: >High Speed Datentransferrate (seriell, max. 1MBit/Sek) Er ist noch nicht angekommen, aber wenn er da ist werde ich es mal testen und falls es nicht funktioniert RX und TX schon vor dem MAX232 abnehmen. Peter
@Peter: Was hast Du für die High-Speed Variante bezahlt? Gruß Roland
Wenn hier schon Handy-Zubehör-Recycling betrieben wird, wäre es dann nicht stilechter, man würde ein Handy-Datenkabel als USB-Seriellwandler verwenden? Wenn das so ein Standardkabel ist, ist da ein Prolific-Chip drinnen, der bis 920kBaud kann und auch schon 3,3V Ausgangspegel hat. Man muß nur aufpassen, bei manchen Handys ist der USB-Chip wohl schon im Handy. Dann ist das Kabel natürlich nutzlos. Getestet und für gut befunden sind von mir die Kabel für Nokia 3510i und Siemens ST55 & ST60. Vermutlich funktionieren auch noch eine ganze Reihe anderer Kabel. Wer mag, soll bitte seine Erfahrungen hier posten. Einfach Kabel ohne Handy am Rechner anschließen. Wenn dann der USB COM-Port im Gerätemanager erscheint, ist der USB-Chip im Kabel. Die Kabel gibts wie immer für 1 Euro + (zu hohe) Portokosten bei ebay. Ich hab jetzt auch meine Kameras und ollem T310 und werde mich jetzt auch mal daran versuchen.
Mal ein paar fragen von nem Noob der sich für den webserver interresieren würde. Hab schon n bissl mit ATMELS gearbeitet. 1. Wo krig ich pinbelegungen von so ner Netzwerkkarte her??? 2. Welche IP hat die Karte??? 3. Wie rufe ich die bilder ab???(Firefox mit ulr, z.B. 192.168.1.34/bild.jpg, wenn ja wie heißt dann das bild) 4. Wie lange dauert der bildaaufbau ca.??? 5. Ist die bildqualität auf dem handy auch so streifig??? 6. Anregung für später(fänd ich echt cool als überwachungscam): Ausgabe per Chinch an den Fernseher Vielen Dank an alle die dieses Projekt ermöglichen.
noch ne frage: muss es eine ne2000 karte sein???? Ich krig die nirgends. Geht da nix per PCI Karte??? Oder hast du vlt. noch viele rumliegen von denen du 1 verkaufen kannst???
>@Peter: >Was hast Du für die High-Speed Variante bezahlt? Ich habe bei eBay 3,99 (+ 7,90 Versandkosten = 11,89 ) bezahlt. (http://cgi.ebay.de/USB-Adapter-Seriell-RS-232-Konverter-9-Pol-COM-DB9_W0QQitemZ5813547228QQcategoryZ3668QQrdZ1QQcmdZViewItem) Peter.
Ein paar Fragen kann ich beantworten, da es auf den Webserver von Ulrich Radig beruht, den man in der Codesammlung findet. Ich habe den mit einem Atmega 129 am Laufen. >>1. Wo krig ich pinbelegungen von so ner Netzwerkkarte her??? In der Beschreibung des Webservers auf http://www.ulrichradig.de/ ist auch die Belegung aufgeführt. >>2. Welche IP hat die Karte??? Kannst du in dem Programm einstellen. Du musst aber zuerst eine kleine Änderung an der Karte machen. Beschreibung siehe 1. >>3. Wie rufe ich die bilder ab???(Firefox mit ulr, z.B. 192.168.1.34/bild.jpg, wenn ja wie heißt dann das bild) Du rufst unter deinem Webbrowser die Ip-Adresse des Webservers auf. Der Webserver schickt dann über das Netzwerk eine Homepage mit dem Bild. Refresh-Rate kann ich dir nicht sagen, soweit habe ich die Änderungen noch nicht angesehen. zu 4., 5., 6. kann ich leider noch nichts sagen. Die Kamera ist bestellt. >>noch ne frage: muss es eine ne2000 karte sein???? Ich krig die nirgends. Geht da nix per PCI Karte??? Nein, es muss eine ISA-Karte sein. Optimal ist eine Karte mit dem RTL8019-IC. Allerdings funktionieren auch viele der NE2000-kompatibeln, da nur Grundbefehle verwendet werden. Gruß Elektrikser
Waah, ich habe gerade einen neuen Atmega erfunden. Es sollte der 128er sein.... ;-)
Hi! >1. Wo krig ich pinbelegungen von so ner Netzwerkkarte her??? siehe ulrichradig.de -> projekte -> webserver dort ist ein gutes pdf >2. Welche IP hat die Karte??? Wird in den sourcen konfiguriert. default bei mir: 192.168.0.101 >3. Wie rufe ich die bilder ab???(Firefox mit ulr, z.B. >192.168.1.34/bild.jpg, wenn ja wie heißt dann das bild) http://192.168.0.101/ Dort wird ein html geladen mit servo pos auswahl und reload button. Darin wird dann das jpg geladen http://192.168.0.101/cam.jpg ist das jpg direkt. >4. Wie lange dauert der bildaaufbau ca.??? im lan ca 7-8s, per www ~12s >5. Ist die bildqualität auf dem handy auch so streifig??? Die Streifen sind in der aktuellen Version nicht mehr da. Nur noch ganz leichte hell/dunkel Streifen (fallen kaum auf). >6. Anregung für später(fänd ich echt cool als überwachungscam): >Ausgabe per Chinch an den Fernseher Da kauf dir lieber ne ~20 Eur Kamera die direkt nen TV Signal ausgibt. Das ist per avr UNMÖGLICH. Man kann das Bild ja nichtmal zwischenspeichern (~40-60 kByte !) Genrell empfehle ich jedem erstmal einen lauffähigen webserver ohne cam aufzubauen. Daran habe ich auch einige Stunden gesessen. Grund: falsch konfigurierte Karten und die Anschlüsse spiegelverkehrt angelötet :-X Haben aber alle Karten überlebt ;) PCI kannst du vergessen. Muss ne2000 kompatibel sein. Von 7 ISA Karten haben bis jetzt 4 funktioniert, muss kein rtl8019 drauf sein. Diverse Clones gehen auch. Wichtig: korrekt jumpern ! wenn ohne jumper ggf eeprom ablöten. Kabelrecycling hört sich super an ! Da bin ich gar nciht drauf gekommen :D Die T310 Kabel sollten nen Wandler drinhaben, das Handy hat keinen usb chip soweit ich weiss ;)
Hi. Hab grad meine kamera bekommen. Kann mir nochmal jemand die schaltung beschreiben, wie ich die kamera an den PC anschließ ? evtl. ein schaltplan ??
Hallo, einen Schaltplan habe ich nicht, aber die Pinbelegung der Kamera findest du hier: http://avr.auctionant.de/avr-ip-webcam/mca-25-kamera.html Die Schaltung mit dem MAX232 kannst du von http://www.mikrocontroller.net/tutorial/uart nehmen und den AVR im Schaltplan gegen die Kamera ersetzen. Peter
Wenn du die kamera zugeschraubt vor dir liegen hast und die Kameraöffnung nach oben zeigt sowie die anschlüsse zu dir. Dann sind ganz rechts 2 abgetrennte anschlüsse. Der ganz rechts ist pin11 (=vcc) daneben pin10 gnd An Vcc legst du nun 3.6V an. Am einfachsten ist es zwei 1N4148 Dioden zu in Reihe zu nehmen und an 5V anzuklemmen. Dann unbedingt zischen gnd und Vcc an der Kamera ~220uF angklemmen. Dann nimmst du nen sub2serial konverter und klemmst nen max232 dahinter. (ganz normale beschaltung) Dann an den RX Pin kommt pin4 der Cam (camTX) An den TX Pin klemmst du pin5 der Cam (camRX). Dann startest du das perl Programm von meiner Website. Nun klemmst du den pin7 per 100K R an 5V oder 3.6V, ist egal ;) Sobald pin7 auf hi ist sendet die cam AT&F im sekundentakt. http://avr.auctionant.de/avr-ip-webcam/mca-25-kamera.html
macht es der cam nix aus, wenn sie auf dem RX pin 5 V bekommt? und schält der max 232 zuverlässig, wenn auf Tx der cam die spannung von ca. 3,6 V rauskommt ?
Bei meiner Cam/MAX232 hat es nichts ausgemacht, ich habe zwar bisher noch keine Bilder empfangen können, weil die Schnittstelle am Computer zu langsam ist, aber die Intiailisierung der Cam hat funktioniert.
Hallo @ Peter Schuster Benutze mal ein USB->seriell Kabel diese können mehr als die üblichen 115kBaud. Gruss Ulrich Radig
Dank für die vielen antworten. Hat jemand ne ne2000 karte die er nicht braucht??? bei ebay find ich keine.
Hi! Die 5V machen nichts aus da sie über nen 100k R kommen. Da können maximal I = U/R = 5V/100000 = 0.05mA fliessen ;) Die rs232 Ports scheinen 5V tolaerant zu sein. jedenfalls ist nix kaputtgegangen ;) Man kann die Cam auch mit 5V betreiben. komischerweise ist das Bild dann sehr dunkel ! Optimal ist es bei 3.6V. Keine Ahnung warum... Eigentlich dachte ich da sein nen Spannungsreg drin für den ADC :-X Von den Bauteilen her würd ich sagen dass da zwei Spannungsregs drin sind. Evltl ein 3.3V (Prozessor) und ein 2.8V (CMOS-Sensor)... Hab aber nicht näher geguckt...
>Dank für die vielen antworten. Hat jemand ne ne2000 karte die er nicht >braucht??? bei ebay find ich keine. Frag mal im Bekanntenkreis rum. Frag einfach nach alten ISA Netzwerkkarten. Dann suchst du dir passende raus ;) Oder an der Uni/Schule/Firma. Oder mal kleine PC Läden fragen. Bei PC Läden aufpassen, als ich bei nem PC Laden gefragt hab hatte ich nen "Verkäufer" der keinen ISA Slot kannte lol Im anderen Laden waren sie schon alle entsorgt ... Der hat mich auch für bekloppt gehalten und wollte mir ne GBit Ethernetkarte verkaufen lol Evtl könnte man auch mal bei nem Recyclinghof gucken...
sind alle zumindest ne2000 kompatibel. ist hier vielleicht eine dabei? http://cgi.ebay.de/TOP-ISA-Ethernet-Adapter-NE2000-UK0022-BNC-PnP-451_W0QQitemZ5814005035QQcategoryZ26807QQssPageNameZWDVWQQrdZ1QQcmdZViewItem http://cgi.ebay.de/TOP-ISA-Ethernet-Compex-ReadyLink-RL2000A-Combo-363_W0QQitemZ5814005023QQcategoryZ26807QQssPageNameZWDVWQQrdZ1QQcmdZViewItem http://cgi.ebay.de/TOP-ISA-Ethernet-Realtek-8019AS-Combo-521_W0QQitemZ5815975734QQcategoryZ26807QQssPageNameZWDVWQQrdZ1QQcmdZViewItem http://cgi.ebay.de/TOP-ISA-Ethernet-Davicom-DM9008F-520_W0QQitemZ5815975735QQcategoryZ26807QQssPageNameZWDVWQQrdZ1QQcmdZViewItem http://cgi.ebay.de/TOP-ISA-Ethernet-Realtek-8019AS-Combo-522_W0QQitemZ5816047190QQcategoryZ26807QQssPageNameZWDVWQQrdZ1QQcmdZViewItem mfg raoul
>Benutze mal ein USB->seriell Kabel diese können mehr als die >üblichen 115kBaud. Ich habe schon eins bei eBay bestellt.
@ raoul Dein dritter Link ist genau das Richtige: http://cgi.ebay.de/TOP-ISA-Ethernet-Realtek-8019AS-Combo-521_W0QQitemZ5815975734QQcategoryZ26807QQssPageNameZWDVWQQrdZ1QQcmdZViewItem
danke hab nur nach ne2000 gesucht und nix gscheits gefunden. Muss ich da moch irgendwelche eeproms entfernen???(wenn ich die 3. kauf???) Weil einerseits heißt es im doku vom webserver: ---------------------------------------------------- Gibt es auch ein Netzwerkkarten Modul? Es gibt auch ein Netzwerkkarten Modul mit RTL8019 Chipsatz welches nicht konfiguriert werden brauch. ---------------------------------------------------- und andererseits wird am ende der umbau für die realtec erklährt die diesen chaipsatz hat.
achja, was noch SEHR hilfreich währe ist ein C Compiler der kostenlos is dass ich das programm auf den atmel bekomm. Hab bisher nur mit assembler gearbeitet und noch keinen compiler gefunden
Hi! linux: apt-get install avr-gcc 8) Windows: Keine Ahnung, glaub heisst irgendwas mit winavr, ist aber auch der gcc Unter Linux reicht dann ein make; make program; (nutzt avrdude) aus um es zu kompilieren und zu flashen. Eeprom musst du evtl nicht ablöten. Einfach mal Karte in nen alten PC stecken und gucken ob IO und IRQ richtig gesetzt sind. Oder einfach probieren, viele funktionieren direkt so ;)
währe froh wenn mir jemand sagen kann wie es mit windoof geht. trozdem danke an Sssssss
Hallo, du lädst dir WinAVR von winavr.sourceforge.net herunter und installierst es auf deinem Computer. Alles weitere findest du im "AVR-GCC-Tutorial" auf dieser Seite. Peter
danke, ihr seid die besten. Falls ich jetzt die 3. bei ebay nehm, wie muss ich die dann umlöten das es geht(falls die einstellungen falsch sind)???? Hab keinen so alten PC mehr, sry ich weiß das ich nerve bitte entschuldigt mich
hängt die cam noch so alle 20 bilder oder so??? danke mfg lordludwig
Hi, benoetigt die Kamera eigendlich mehr als 3,3V(falls sie noch einen eigenen LDO drauf hat)? Gruss Tobias
Falls ich jetzt die 3. bei ebay nehm, wie muss ich die dann umlöten das es geht(falls die einstellungen falsch sind)???? Hab keinen so alten PC mehr, sry ich weiß das ich nerve bitte entschuldigt mich hängt die cam noch so alle 20 bilder oder so??? danke mfg lordludwig
@lordludwig: mach am besten nen neuen thread zum thema netzwerkkarte auf.. Dann geht es hier nicht unter ;) Ob/wie du was ablöten musst weiss ich nicht genau. Versuchs erstmal so und wenns nicht geht schneid das eeprom ab. Die Cam hängt noch ab und an. Aber sehr selten. liegt evtl an meiner Stromversorgung. @Tobias: Ich vermute ja. Mein Handy liefert 3.6-4.2V. Also 3.6V (5V-2*0.7) funktioniert ohne probs ;)
ich werd es dann denk ich mal robieren. Dann kauf ich mir irgendeine Karte is mir egal oder ich frag mal bei so computerläden an. danke
Bei mir musste bei den RTL8019AS-Karten das EEPROM raus. Und dann noch zwei Drahtbücken pro Karte gelötet und die Karten hatten funktioniert. Ich habe es vorher mit einem alten Rechner probiert und versucht, den IRQ auf 9 zu stellen, aber das klappte nicht. Gruß Elektrikser
toll aber es gibt viele verschiedene karten mit RTL8019 chip. Da hab ich keine ahnung wo der eeprom raus muss. Ich schau übermorgen mal auf dem sperrmüll und hol mir n paar aus alten PC's. Da is bestimmt bei einer IRQ9 und so eingestellt. Mal ne andere frage an Sssssss: Wo haste diesen ISA Slot mit lötkelchen her???? und: über welchen Port läuft die cam??? ich hätte gerne n anderen port als 80 um den Port vom router auf die cam umzuleiten und so von überall auf die cam zugreifen kann. ich würde hier dann auch die Adresse posten das ihr mir alle zuschaun könnt^^
Hi! >toll aber es gibt viele verschiedene karten mit RTL8019 chip. Da hab ich >keine ahnung wo der eeprom raus muss. Das kleine 8polige Dingen ;) 93C46 oder so >Mal ne andere frage an Sssssss: Wo haste diesen ISA Slot mit lötkelchen >her???? Hatte ich hier rumfliegen 8) War mal in irgendeiner Steckersammlungstüte die ich irgendwo günstig erworben hatte. Ansonsten: altes MAinboard holen und mit heissluftfön auslöten ! Oder direkt an die Karte löten ;) >und: über welchen Port läuft die cam??? ich hätte gerne n >anderen port als 80 um den Port vom router auf die cam umzuleiten und >so von überall auf die cam zugreifen kann. ich würde hier dann auch >die Adresse posten das ihr mir alle zuschaun könnt^^ Datei Socket.h: //#define SOCKET_HTTP 0x5000 //www-http //port 80 #define SOCKET_HTTP 0x050d //www-http //port 3333 Mein Source ist momentan auf Port 3333 konfiguriert ;)
danke erstmal. 1. Muss ich noch was anderes umlöten als den eeprom raus(MUSS man die lötbrücken setzen???) 2. Wie berechne ich den Port??? 050Dh=1293d und 5000h=20480d ich denke ich werde mir so ne alte karte holen wo ein 1 ISA Slot auf 2 ISA Slot converter drauf is und da feste kabel anlöten oder mit ner säge n altes motherboard schrotten und direkt an die pins die kabel(hab kein heißluftfön und ohne den wirds n bissl kompliziert) noch 1000 mal danke ihr seid echt die besten
Portberechnung: 80 = 0x0050 -> hi/lo tauschen -> 0x 50 00 3333 = 0x0D05 -> hi/lo tauschen -> 0x 05 0D Also wenn du 1234 als Port willst: 1234 = 0x04D2 -> hi/lo tauschen -> 0xD204
das mit den lötbrücken hat sich im forum von u.radig erledigt. Anscheinend gehts auch ohne^^. wünscht mir glück das auf m sperrmüll ne 8019 rumfliegt
sonst versuch dein Glück morgen mal aufm Floh-/Trödelmarkt ;) Da hab ich meine ersten beiden funktionierenden her 8)
Hallo, das Projekt hört sich ja sehr interessant an. Ich hatte mir letztens eine der Platinen von Holger Buss' AVR Webserver ( www.mikrocontroller.com ) besorgt, um mich in das Thema µC einzuarbeiten. Wie schließt man die MCA 25 da sinnvollerweise an?
Der Initiator dieses Projekts hat hier seine Ergebnisse zusammengestellt: http://avr.auctionant.de/avr-ip-webcam/ Da findest du auch einen Schaltplan.
Hi! Du musst meinen Schaltplan und die Sourcen ggf an die anderen Pins anpassen. Du brauchst nur den RX/TX port am avr und irgendeinen pin als Reset Signal zur Cam. Die leds kannst du weglassen, den Servo auch ;)
So ich war heute in München-Schillerstr. und hab eine Karte geschenkt gekrigt nachdem ich ihm glaubhaft gemacht hab das ich echt eine ISA Karte will. Die Karte hat RTL 8019AS Chipsatz(kam unter nem Sticker zum Vorschein). Die IRQ und I/O Ports kann ich auf der Karte einstellen(Jumper). Aber es gibt 3 Probleme: 1. Das Ding hat kein RJ45 Ausgang aber löcher dafür--->Nachrüstbar???(siehe Foto in Link) 2. Wie ist die Pinbelegung(wie die andere Karte???) 3. ein Kondensator is so komisch eingesägt--->Absicht???(siehe Foto) Hier Fotos(man sieht karte, RJ45 löcher, Kondensator und Anleitung): www.ludwigspowerseite.de/ne2000bilder.zip (2,5MB) Noch ne Frage: Was is ne Boot-ROM Adress??? Wie muss ich die einstellen???
Hi! Oha da fehlt der RJ45 Anschluss und der Übertrager soweit ich das sehe... Evtl kannst du einen von ner anderen alten karte dort einlöten. Weiss nicht ob die genormt sind. Oder du lötest den rtl8019 ab und packst ihn auf ne eigene Platine 8)
RJ45 hab ich bräuchte nur nen Übertrager. weiß da jemand nen anderen als 20f-001n weil den gibts nirgends mehr
Hi! Macht doch bitte für das Netzwerkkartenproblem jeweils nen eigenen Thread auf ;) Das liest dann evtl auch jemand der sich mit Netzwerkkarten auskennt aber kein Interesse an der Handycam hat 8) Thnx
ich denke des gehört wieder hier rein: wenn ich die da kauf: http://images.auctionworks.com/hi/67/67032/n391.jpg Wo muss da der eeprom raus??? ich seh da keinen
achja: auf dem 8-pin chip oben links steht: | | | | ------------ | ATMEL648 | | 93C16 | | PC | ------------ | | | | sieht man auf dem Foto nicht hab aber nachgefragt
Poste das doch bitte im Netzwerkkartenthread... Das hat mit der Ansteuerung der Cam 0,nix zu tun und geht hier nur unter ;) Danke ;)
@lordludwig: Dreimal darfst Du raten, was ein 93C16 für ein Baustein ist.
An Christian...Danke An Ssssss: Fand ich eigentlich schon aber egal.
Hallo, ich teste gerade dein Programm auf meinen Webserver. Es ist ein Atmega128er-Board. Also mal den 128er im makefile geändert und die SYSCLK geändert. Er bringt dann aber beim Complilieren Fehler. Es werden die SFR "UCSRB" und "UCSRA" nicht gekannt (kommt in der uart.c und in der mca25.c vor), was auch logisch ist. In der uart.h sind diese Register schon für beide Controller definiert. Dort werden sie "USR" und "UCR" genannt. Wäre schön, wenn du es abändern könntest in deinem Programm, falls einer den Webserver von Ulrich nachbaut und dann das gleiche Problemm vorfindet. Die Idee gefällt mir sehr gut und ich würde mich freuen, wenn ich hier bald eine Erfolgsmeldung posten kann. Viele Grüße Elektrikser
Hi! Danke! Hatte beim testen die mega32 sregs direkt eingetippt und das contitional #define in der uart.h übersehen. Hier nun die geänderte Version: http://avr.auctionant.de/source/avr-ip-webcam_based_on1.38_151005.tar.gz Sollte nun per mega32/mega128 define automatisch die richtigen regs ansprechen ;) Habs aber nicht getestet da der webserver grad nicht neben mir liegt ;)
Guten Abend, hat es schon jemand geschafft die Kamera mit der Hardware von Holger Buss anzusteuern? Ich habs mit dieser Einstellung versucht //CONFIG: #define MCA25_RESET_PORT PORTD #define MCA25_RESET_PORT_DIR DDRD #define MCA25_RESET_PIN 6 //reset control signal #define MCA25_RESET_HI() MCA25_RESET_PORT|= (1<<MCA25_RESET_PIN); #define MCA25_RESET_LO() MCA25_RESET_PORT&=~(1<<MCA25_RESET_PIN); //status led on pin d5 #define MCA25_STATUS_LED_OFF() MCA25_RESET_PORT|=(1<<5); #define MCA25_STATUS_LED_ON() MCA25_RESET_PORT&=~(1<<5); //error led on pin d4 #define MCA25_ERROR_LED_OFF() MCA25_RESET_PORT|=(1<<4); #define MCA25_ERROR_LED_ON() MCA25_RESET_PORT&=~(1<<4); //clock led on pin d7 #define MCA25_CLOCK_LED_OFF() MCA25_RESET_PORT|=(1<<7); #define MCA25_CLOCK_LED_ON() MCA25_RESET_PORT&=~(1<<7); sowie die Konfiguration an die Hardware angepasst,aber es funktioniert nicht. Anscheinend wird auch die NW-Karte nicht initialisiert,da auch kein Ping darauf funktioniert. Über Tips und Tricks freue ich mich. Danke Roland
Hi! Du musst noch ISA_CTRL definieren. Moment, ich habe heute von Ingo eine Version für die Platine gemailt bekommen. Ich fuege das mal eben mit meiner aktuellen Version zusammen und lade es dann auf meine Seite ;)
Hallo Sssssss, ich danke Dir schonmal im voraus. Viele Grüße Roland
So, guck mal hier: http://avr.auctionant.de/source/avr-ip-webcam_based_on1.38_181005.tar.gz In der mca25.h kannst du dir die Beschaltung der Cam abgucken. Wenn du ohne leds arbeiten willst mach das define USE LEDS aus ;) Ich hab das aber nciht getestet, ich hoffe ich habe beim mergen nichts übersehen. Irgendwie hat diff gestreikt ..
Hallo Sssssss, ISP_CTRL oder ISA_CTRL hatte ich schon passend eingestellt,ich werde Deine neue Version morgen testen und Bericht erstatten. Erstmal vielen Dank. Viele Grüße Roland
Hi! Dann berichte mal bitte obs funzt ;) Die Änderungen gegenüber der Version vom 15.10 sind von Ingo (mikrocontroller.com). Ich hab sie lediglich mit der 15.10er Version zusammenkopiert ;) Versuch mal zum testen das define USE_MCA25 auf 0 zu setzen. Also ohne Cam zu arbeiten. Wenn dann der Webserver läuft kannst du ja schritt für schritt gucken wo es hakt ;) Du kannst auch an der cam_tx leitung mal parallel mit dem pc gucken was dort passiert. Zuerst auf 9600 baud und danach gehts auf 460kbaud hoch wenn der erste cam init Teil gelaufen ist. Evtl bleibt er schon bei dem AT&F @9600 baud stecken. Bye, Simon
Hallo Ssssss, ich hab schon beim kompilieren Schwierigkeiten,obwohl ISP_CRTL gesetzt ist kommt folgende Fehlermeldung bei rtl8019.c rtl8019.c: In function `Init_Realtek_Network_Card': rtl8019.c:82: error: `ADDR_OUTPUT' undeclared (first use in this function) rtl8019.c:82: error: (Each undeclared identifier is reported only once rtl8019.c:82: error: for each function it appears in.) rtl8019.c:83: error: `CTRL_LINES_DIR' undeclared (first use in this function) mal gucken was da los ist. Viele Grüße Roland
Hi! Bitte nochmal neu runterladen... In Ingos Version hatte er es ISA_CTRL genannt, beim mergen hab ich bei mir noch einmal ISP_CTRL übersehen. Ist nun gefixt und kompiliert ;)
Hallo, in rtl8019.h fehlt meiner Meinung nach noch ein #define ISA_CTRL, dann kompiliert er durch. Roland
Hast du den aktuellen Code von gerade eben heruntergeladen ? http://avr.auctionant.de/source/avr-ip-webcam_based_on1.38_181005.tar.gz (hab ihn nicht neu benannt) Also bei mir kompiliert der auch ohne extra #define in der rtl8019.h Die rtl h wird ja in der main.h nach dem define included ;) bei der alten version war ISA_CTRL und ISP_CTRL vermischt...
Ja hatte ich,aber ich hatte das define noch eingefügt,da es bei der Vorgängerversion nicht geklappt hat. Der Server funktioniert soweit ohne Kamera.Mit der Kamera kann ich erst morgen wieder testen.Melde mich dann wieder. Roland
Hallo Ssssss, es geht auch ohne das define in der trl8019.h. Noch eine Frage kann ich die Cam über einen FT232 an den PC hängen, klappt das mit der Geschwindigkeit? Danke für Deine Geduld. Roland
HI! Jepp, ftdi 232 klappt ;) Wenn du nen selber gebauten hast direkt an den ftdi, ansonsten halt mit max232. Guck dir mal den Perlcode auf meiner mca25 Seite (Software) an.
was ist jetzt in der neuen version genau geändert???? Hab schon die ISA Karte da und MCA-25 und Bauteile sind auch schon bestellt
Hallo Ssssss, ich hab nen selbstgebauten,das Perl-Skript habe ich mir schon runtergeladen. Dann werde ich das morgen mal testen. Roland
Ich glaub es wurden ca 5 Dateien geändert. Es wurde grob gesagt dafür gesorgt dass man das #define ISA_CTRL wieder benutzen kann ;) Wenn du die Schaltung nach meiner Seite aufbaust dann ist das uninteressant für dich. Wenn du holgers ISA ctrl webserverplatine nutzt dann brauchst die neue ;) Wenn du es genau wissen willst dann lade die 15.10.2005 und 18.10.2005 Versionen runter, entpack sie in zwei verzeichnisse und mach ein diff source_151005 source_181005 dann siehste es ;)
Hallo Sssssss, das sind die einzigen Ausgaben die ich mit Deinem Perlskript am FT232 erhalte,sieht so aus als wird die Cam nicht initialisiert. Pentium3667:/home/roland # ./connect_640x480.pl 9600 <<IN <<AT&F. >>SEND>>AT&F< [41 54 26 46 ] >>SEND>>\r\r\nOK\r\n< [0D 0D 0A 4F 4B 0D 0A ] <<IN <<AT&F. >>SEND>>AT&F< [41 54 26 46 ] >>SEND>>\r\r\nOK\r\n< [0D 0D 0A 4F 4B 0D 0A ] <<IN <<AT&F. >>SEND>>AT&F< [41 54 26 46 ] >>SEND>>\r\r\nOK\r\n< [0D 0D 0A 4F 4B 0D 0A ] <<IN <<AT&F. >>SEND>>AT&F< [41 54 26 46 ] >>SEND>>\r\r\nOK\r\n< [0D 0D 0A 4F 4B 0D 0A ] Roland
Scheinbar erhält die Cam das OK cmd nicht. Check mal die Cam RX Leitung. Also am PC TX ;)
Ich werd mich dann mal in meinen Bastelkeller zurückziehen,da steht leider kein Linuxrechner,mal vorsichtshalber die zweite Cam umlöten und gucken was da passiert. Roland
Ich gebs für heute mal auf,2 Cams,2 verschiedene FT232 gleiches Ergebnis wie oben. Morgen mal in Ruhe alles durchchecken. Roland
Evtl falsch verdrahtet ? Weiter oben hatten sich falsche Belegungen eingeschlichen. Siehts so aus wie auf meinem Foto: http://avr.auctionant.de/img/mca25_kabel_angeloetet_thumb.jpg ? Irgenwie scheint die Cam dein OK nicht zu empfangen :( Wie hast du sie mit dem ftdi verbunden ? Kannst du evtl mal nen Schaltplan posten ?
Ich habs genauso verdrahtet wie auf deinem soeben geposteten Bild. Die Verbindung von der Cam zum FTDI sind gekreuzt,also RX auf TX und umgekehrt.Die LEDs am FTDI blinken ja auch bei den Verbindungsversuchen.Die Spannung an der Cam liegt bei 3,7V,naja für heute mache ich erstmal Feierabend. Roland
Hi! Hmm komisch... Dann sollte es eigentlich gehen. Kannst ja evtl mal versuchen per minicom per Hand mit der Cam zu reden. 9600 baud 8N1 hw handshake off Die Cam sendet alle Sekunde ein AT&F und du musst \r\nOK\r\n senden. evtl reicht auch nen OK\n Wenn sie das empfangen hat sendet sie was anderes als AT&F zurück (steht auf meiner Protokollseite) 3.7V sollte ok sein... Auf was läuft der ftdi ? 3.3V ? Ich hab rx/tx mit 5V Pegeln benutzt beim testen.
was hälste von spannungsteilern für die RS232??? sind nur 2 widerstände und die cam hängt sich evtl. nicht mehr auf. N versuch währs doch wert
Hatte es mal getestet, brachte keine Änderung. Nen Spannunsteiler bei 460kbaud einzusetzen ist auch nicht optimal. Die Frequenzen sind ja schon recht hoch... Die rx/tx Pins scheinen aber auch 5V tolerant zu sein. Sonst wär meine Cam längst gestorben ;) Aber sooo oft haengt sich die Cam nicht auf. Und wenn das nen Problem ist einfach den wdt auf 1s stellen und nur in er mainloop resetten. -> hängt die cam resettet sich der uC und initialisiert alles neu. Kann man evtl mal ergänzen ;)
Hi, hab heute auch mal meine Kamera ausprobiert und gerade das Bild im Anhang geschossen :) Jezt aber guts naechtle Tobias
Könntest du bitte den WDT für mich einbaun weil ich hab 0 erfahrunf in C. Das ding soll wochen laufen ohne das ich da bin und soll verfügbar sein.(ich will meine wohnung während urlaub sehen können)
Die Kameras senden schön brav ihr AT&F,reagieren aber nicht auf mein gesendetes Signal,das auch in den Cams ankommt. Ich bin anscheinend zu blöd die Dinger in Betrieb zu nehmen. Roland
Das ist sehr komisch ... Wenn du am ftdi RX und TX verbindest und mit minicom irgendwas tippst, kommt es dann genauso als Echo zurück ? Evtl hat der ftdi irgendwas ? Masse ftdi und cam hast verbunden denke ich mal, oder ?
1. Ist meine Anfrage möglich??? 2. is das normal oder ein fehler??? uart.c:18: warning: `return' with no value, in function returning non-void
1. nö. kram dir das mega32 pdf raus und schreibs selber. sind allerhöchstens 20 zeilen (wahrscheinlich sogar <10). in der main musst du immer ein reset_wdt machen und den wdt auf 1s setzen. Ich hab meine platine momentan nicht hier und kann nicht testen. hab auch keine zeit gerade um daran zu coden. 2. ist in der original webserver version auch so. kannst du ignorieren, funzt auch so ;)
Hallo Simon, der FTDI funktioniert,Masse ist auch angeschlossen. Seltsam dass es bei beiden Cams und verschiedenen FTDIs das gleiche Verhalten ist. Ich hab dir gerade ne Mail geschickt. Roland
Ich arbeite mich grad ein und hoffe mich jetzt nicht zu grunde zu blamieren weil ich glaube ich habe einen Fehler gefunden. Uns zwar: //Ethernet Card Ports #define DATA_CTRL_RLT DDRA #define DATA_ADDR_RLT DDRC //Für ATMega128/32 wird bei ATMega102 nicht benö. #define ADDR_PORT_RLT PORTC #define DATA_PORT_RLT_WRITE PORTA #define DATA_PORT_RLT_READ PINA //Read #define WRITE_PIN 6 //Pin an dem WriteIO Signal angeschlossen #define READ_PIN 5 //Pin an dem ReadIO Signal angeschlossen #define RESET_PIN 7 //Pin an dem Reset angeschlossen ist #else DATA_PORT_RLT_WRITE und DATA_PORT_RLT_READ ist Port bzw. Pin A. Laut schaltplan sind die wenn mich nicht alles irrt an Port bzw. Pin C. entweder habe ich geholfen(glaub ich zwar nicht wirklich)oder ich habe mich zu grunde blamiert. Wenn ja dann korrigiert mich bitte!!!
welche HW hast du ? die von holger ? Dann mach mal define ISA_CTRL an und scroll weiter runter ;) Das ist schon alles ok ;) Tipp: Versuch erstmal die original Webserver Software laufen zu lassen. Wenn die funzt dann probier meinen webcam mod.
is bei allen so. Bei dem weiter unten (ISA_CTRL) passts erst recht ned. Da ist z.B. DATA_CTRL_RLT auf C(in deinem Schaltplan A) und ADDR_PORT_RLT A(in deinem Schaltplan C). Ich gehe davon auch D0-7 ist daten und A0-4 ist Adress. Reicht 1 Sekunde Watchdog Time??? ein bild zu übertragen dauert doch schon n paar sekunden. Maximalwert is ja 2 sek das könnte ein proble werden. Ich würds dann da reinhaun: ------------------ //Hauptprogramm l�ft st�dig in einer schleife und macht nichts while (1) { } ------------------ oder gehts wo anders besser wo die sekunde reichen sollte. Hardware kommt in den nächsten Tagen dann bau ich den webserver und dann die IP CAM ;-)
Bei meinem Schaltplan liegt es aber doch der Datenport auf PORTA ?! http://avr.auctionant.de/avr-ip-webcam/avr-webserver-hardware.html Ist doch richtig. Oder was meinst du ? wdt: jo einfach in die Main idle schleife. In diesem Fall könnte man den wdt reset evtl auch in den Network_Card_INT interrupt packen. Normalerweise ist das keine gute Idee nen wdt reset in nen hw interrupt zu packen. Für diese Anwendung würde das aber funktionieren ;) Zur 1s: ja, die Cam braucht länger zum senden. Das Bild wird aber in mehrere 512 Byte Pakete unterteilt und zwischenzeitlich wird der rtl interrupt verlassen -> das hauptprog sollte weiterlaufen.
ha muss ich nochmal schaun. Zur Belegung: ------------------------------ Dein Schaltplan: Datenport: Port A Adressport: Port C /IOW und /IOR: Port C Read/Write/Reset Pins: 5/6/7 ------------------------------ ohne ISA_CTRL: Datenport: Port A Adressport: Port C /IOW und /IOR: Port A Read/Write/Reset Pins: 5/6/7 ------------------------------ mit ISA_CTRL: Datenport: Port C Adressport: Port A /IOW und /IOR: Port C Read/Write/Reset Pins: 2/1/0 ------------------------------ Jetzt binn ich mal gespannt was ich/du falsch verstanden hast^^
Wobei ich auch nicht wüsste wie man nochwas an Port A anschließen soll wenn eh schon Daten drann sind. Ich vermute ienen fehler im Programm(warum auch immer)
Hi! rtl8019.h:
1 | #ifndef ISA_CTRL
|
2 | #define RTL_WR_OFF() ADDR_PORT_RLT&=~(1<<WRITE_PIN);
|
3 | #define RTL_WR_ON() ADDR_PORT_RLT|=(1<<WRITE_PIN);
|
4 | #define RTL_RD_OFF() ADDR_PORT_RLT&=~(1<<READ_PIN);
|
5 | #define RTL_RD_ON() ADDR_PORT_RLT|=(1<<READ_PIN);
|
6 | #define RTL_RESET_OFF() ADDR_PORT_RLT&=~(1<<RESET_PIN);
|
7 | |
8 | //Ethernet Card Ports
|
9 | #define DATA_CTRL_RLT DDRA
|
10 | #define DATA_ADDR_RLT DDRC //Für ATMega128/32
|
11 | #define ADDR_PORT_RLT PORTC
|
12 | #define DATA_PORT_RLT_WRITE PORTA
|
13 | #define DATA_PORT_RLT_READ PINA //Read
|
14 | #define WRITE_PIN 6 //Pin
|
15 | #define READ_PIN 5 //Pin
|
16 | #define RESET_PIN 7 //Pin
|
RTL_WR pin ist demnach ADDR_PORT.WRITE_PIN = PORTC.6 (=IOW) RTL_RD pin ist demnach ADDR_PORT.READ_PIN = PORTC.5 (=IOR) Stimmt doch ?! Oder hab ich mich verguckt. Also ich sehe da keinen Fehler ;)
Achso, ich dachte READ_PIN, WRITE_PIN und RESET_PIN ist daran gebunden: #define DATA_PORT_RLT_WRITE PORTA #define DATA_PORT_RLT_READ PINA //Read dann war ich mal wider falsch. sry Wofür is das dann, wenn nicht für READ_PIN...???
wofür ist das?: #define DATA_PORT_RLT_WRITE PORTA #define DATA_PORT_RLT_READ PINA //Read
Hi Leute, habe den Server von Holger Buss aufgebaut (ISA-CTRL). Die Kamera habe ich angeschlossen und folgende Datei für den Kamerabetrieb verwendet: avr-ip-webcam_based_on1.38_181005.tar.gz Der Server funktioniert nur ohne Kamerabetrieb. Wenn ich den Code für die Kamera auf enable setze, dann funktioniert nix mehr. Wenn ich die Kamera wieder deaktiviere, dann kann ich auf den Server zugreifen - natürlich kann ich dann kein Bild im Browser sehen. Mußte jedoch die ganzen Variabelndefinition nach "#ifndef ISA_CTRL" alle rausnehmen und die für Holger Buss' Server stehenlassen. Irgendwas stimmt im Code nicht - bloß was? Hat schon jemand funktionstüchtigen Code für den ISA-CTRL mit Kamera für mich parat? Ich finde den Fehler einfach nicht... Liebe Grüße, Micha
Hi! Kommentier mal bitte in der main.c die Zeile 73 (DDRB = ..) aus und versuch es nochmal. Dann deaktivier in der main.c die caminit: //mca25_init(); //mca25_configure(); Dann #define USE_MCA25_CAM 1 und lass die webcam ab. Dann ruf die index.html auf, zumindest die indexseite müsste zumindest laden. Danach mach die cam dran und die beiden mca25 zeilen wieder einkommentieren. Dann wieder index.html. Danach meld dich mal wieweit du gekommen bist ;)
Hi, habe folgendes ausprobiert: #define USE_MCA25_CAM 1 Dann hab ich in der main.c folgendes geschrieben: //DDRD = 0xFF //mca25_init(); //mca25_configure(); Ergebnis: kann ping durchführen und die index.html aufrufen. Wenn ich in der main.c dann schreibe: DDRD = 0xFF //mca25_init(); //mca25_configure(); Ergebnis: kann kein ping durchführen und die index.html nicht aufrufen. Wenn ich dann in der main.c schreibe: DDRD = (1 << DDD3) //mca25_init(); //mca25_configure(); Ergebnis: kann ping durchführen und die index.html aufrufen. (hab den Cam-Reset am Port PD3) Wenn ich dann in der main.c schreibe: DDRD = (1 << DDD3) mca25_init(); //mca25_configure(); Ergebnis: kein ping und kein index.html In der mca25.5 steht bei mir folgendes drin: #ifndef MCA25_H #define MCA25_H 1 #include "main.h" //enable cam plugin: #define USE_MCA25_CAM 1 //enable debug leds: #define USE_WEBCAM_LEDS 0 #define MCA25_COMM_BUFFER_LEN 40 #define MCA25_NOT_BUSY 255 #define MCA25_STILL_BUSY 254 #define MCA25_FIRST_DATA 0 #define MCA25_NEXT_DATA 1 #define MCA25_SKIP_PICTURE 99 #define MCA25_RESET_PORT PORTD #define MCA25_RESET_PORT_DIR DDRD #define MCA25_RESET_PIN 3 //reset control signal #define MCA25_RESET_HI() MCA25_RESET_PORT|=(1<<MCA25_RESET_PIN); #define MCA25_RESET_LO() MCA25_RESET_PORT&=~(1<<MCA25_RESET_PIN); Weiter komm ich irgendwie nicht... Liebe Grüße, Micha
Ok da haengt dann die cam irgendwo. Kannst du mal an die Cam TX Leitung den pc mit anklemmen ? Dann lasuch mal bei 9600 baud mit was da gesendet wird... poste das dann mal hier dann sehe ich ob die cam ueberhaupt kommunizieren kann.
Hi, ich nochema... g hier der Log der Kamera - hab es aufgezeichnet. Im Terminal steht auch, daß die Kamera "is running". Liebe Grüße, Micha
öhm was issn das ? R: 0x52 R: 0x52 R: 0x52 û: 0xFFFFFFFB û: 0xFFFFFFFB : 0xFFFFFF8B Õ: 0xFFFFFFD5 í: 0xFFFFFFED e: 0x65 Õ: 0xFFFFFFD5 Das sendet die Cam ?? Kannst du mal deine verbindungen skizzieren ? Du hast die Cam doch nicht hinter dem max232 haengen oder ?
Nene, ist ohne max232: Hab den TX der Cam direkt an den TX des Atmels und den RX der Cam direkt am RX des Atmels. Jetzt hab ich das so gelassen und einfach den TX der Cam an das RX des Com2 vom PC angeschlossen. Das was in der Datei steht das kommt dann dabei raus... Aber ich ahne schon, daß ich den RX der Cam mit dem TX des Atmel und vice versa verdrahten muß? Fällt mir gerade auf... g
jepp... du musst rx/tx kreuzen g Und direkt an die com geht auch net, da muss dann nen max232 zwischen ;) Also uC<-->cam direkt (txrx gekreuzt) camTX->pc nur ueber max232
hallo, ich bins mal wieder. hab mich jetzt an dem Watchdog gemacht(4 zeilen) und hab ein Problem: Beim Compilen kommen folgende Fehler: -------------------- main.c:1: error: stray '\239' in program main.c:1: error: stray '\187' in program main.c:1: error: stray '\191' in program main.c: In function `main': main.c:113: error: parse error before "asm" make.exe: *** [main.o] Error 1 -------------------- Anbei meine neue main.c und main.h ich kann nichts finden(fehler is beim "wdt_enable(WDTO_1S)" #include <avr/wdt.h> hab ich gemacht ich weis nicht weiter
ok, eigene dummheit hab die ; vergessen. aber mir ; kommt immernoch
das:
-------------------
main.c:1: error: stray '\239' in program
main.c:1: error: stray '\187' in program
main.c:1: error: stray '\191' in program
make.exe: *** [main.o] Error 1
> Process Exit Code: 2
-------------------
was dass soll weis ich auch ned
Auch wenn ich RX-TX gekreuzt habe passiert nix... Auf der seriellen Ausgabe vom Server kommt ohne angeschlossener Cam: Webserver starting mac: x.x.x.x.x.x ip: 192.x.x.x CAM_RUNNING wenn ich die Cam angeschlossen habe: Webserver starting mac: x.x.x.x.x.x ip: 192.x.x.x CAM_RUNNING OK +IPR: (........) OK OK Also ist jetzt alles korrekt angeschlossen. Aber ich kann kein ping und kein index.html machen...
ok dann lass mal die cam dran und log die andere leitung mit. erstmal bei 9600 baud und nochmal mit 460kbaud
Ich geb's jetzt auf - woran kann das denn liegen? Kann es sein, daß die Cam futsch ist? Es kommt ja eigentlich immer ein OK als Ausgabe?
vlt. hat sie die +12V und -12V von der seriellen schnittstelle vom PC nicht gefressen
Ich denke mal, daß die Cam nicht richtig funktioniert. Werde mir ne neue besorgen und das dann nochmal ausprobieren. Ich berichte dann ob es funktioniert... Nochmal Danke und viele Grüße, Micha
Ich habe auch noch Probleme mit der Kamera und den Atmega128-Webserver von Ulrich Radig. Allerdings kann ich erst nächstes Wochenende daran weiterbasteln. Momentan sieh es bei mir so aus, als ob sich die Cam bei oder nach dem Umschalten auf die 460800 Bd aufhängt. Gruß Elektrikser
nein warte mal! Wenn die OKs kommen dann funzt sie soweit... Bitte log doch mal die andere leitung mit dann kann ich dir weiterhelfen ;) also nicht PC tx wie oben (OK etc) sondern PC rx mitloggen, sprich das was die cam sendet. So schnell geht die cam net hops ;)
Dumme frage zwischendurch: Was verwendet ihr als Quarz ? Es ist ganz wichtig dass es nen "krummer" Baudratenquarz ist. 8 oder 16 Mhz wird 100%ig nicht klappen bei 460kbaud! Liegts evtl daran ?
Bei mir sitzt ein 16 Mhz Quarz drauf. Aber ich kann prima seriell kommunizieren... Ich geh morgen mal zu Segor, mir nen passendes Quarz zu holen. Müßte dann ein 14,7456 MHZ nehmen? Ich versuch dann mal zu loggen, was die Cam sendet. Nur zur Sicherung: da muß ich also die TX-Leitung der Cam anzapfen bzw. das RX-Stück das am mC hängt?
Quarz: ne mit 16mhz geht 460kbaud nicht... Versuch mal mit 460kbaud mit dem uC per PC zu reden wenn nen 16mhz drin ist... Zumindest würde mich das sehr wundern... Ich hab nen 7,3728 Mhz Quarz benutzt. Das funktionierte 1A ;) Loggen: Ja genau! Du hats beim letzten mal das geloggt was der pc sendete. nun loggst du das was die cam sendet. Einmal bitte in 9600 baud und danach nochmal mit 460 kbaud. Ich bräuchte beide ;)
Jepp funzt bei mir auch. Laut atmega Manual ist 460kbaud auch das maximum bei 7.3xxx mhz ;)
Ich verwende einen 14,318 MHZ-Quarz. Sollte eigentlich passen, oder? Wenn nicht, besorge ich mir diese Woche einen 7,3728 Mhz.
bei 14.318 mhz bist du bei 447437,5 baud bei 7,3728 mhz bist du bei 460800 baud (passt genau!) Bei so hohen baudraten wär ich vorsichtig ... Sind immerhin fast 3% Abweichung bei deinem Quarz. Wobei das eigentlch noch klappen sollte. Kannst du mal die cam TX Leitung bei 460kbaud mitloggen und hier posten ? Daran kann ich erkennen ob die baudrate ok is bei dir.
Sorry, leider erst am Wochenende. Werde mir aber erstmal einen 7,3728 MHz Quarz besorgen. Ich mache neben der Arbeit noch eine Schule und schreibe diese Woche zwei Arbeiten. Muss also noch ein wenig pauken. Aber ab Samstag darf wieder gebastelt werden ;-) Die TX-Leitung der Cam werde ich dann auf jeden Fall mitloggen. Melde mich am WE wieder. Gruß Elektrikser
Hallo, vielleicht gehört meine frage nicht ganz in dieses Forum,jedoch benötige ich als neueinsteiger ein wenig hilfe.ich kenne mich garnicht mit mikrocontroller aus. mein problem ist,dass ich drei signale(zwei digitale und ein analoges) mit 200kHz synchronisieren muss.alle drei signale sollen in den rechner geladen werden und ausgewertet. meine frage:wie kann ich das mit mikrocontrollerboards realisieren und welche kommen da in frage? ist nur ne variante von mir,alternativen sind PCI- oder USB-Messmodule.die sind nur ein wenig teuer. wär euch für eure hilfe sehr dankbar MfG
Hi, wie waere es eigendlich diesn Thread in die Codesammlung zu setzen. Hier in Allgemeine Elektronik geht er schnell wieder unter. Gruss Tobias
jo wer macht da einen auf??? weil dieser ist auch schon ziemlich lang und unübersichtlich
Hi, habe jetzt einen 14,7456 MHz Quarz drin (doppelte von 7,3728) und es funktioniert!!! freu Also Leute - Es muß tatsächlich ein Schnittstellenquarz rein!!! ;-) Problem: nach mehreren Tests auf verschiedenen Rechnern funktioniert es jetzt leider nicht mehr! Es wurde als letzte Anzeige als Bild gezeigt: "Cam in use - try again in 5 sec." Habe parallel mit mehreren Rechnern zugegriffen und nun kommt gar nix mehr raus. Es läßt sich nur noch die index-Seite laden - jedoch ohne dem Bild! Woran kann das liegen? Liebe Grüße, Micha
Dann ist irgendwie der Transfer eines Bildes nicht ganz abgeschlossen worden. Der Webserver implementiert TCP/IP leider nur minimal. Wenn die Verbindung abbricht und er kein TCP close paket bekommt schliesst er den tcp socket nicht. Und demnach ist die cam noch für den entsprechenden socket "busy". Da hilft nur ein reset :-X Evtl koennte man das so erweitern dass er im main loop einfach zaehlt und wenn 15s der socket nicht geschlossen wird dann schliesst er ihn und setzt das cam busy neu. -- Aber super das endlich jemand das ganze laufen hat ausser mir :) Aber jetzt musst du auch ein pic von deiner cam hier posten ;)
Ja, aber es hat doch eben noch funktioniert - richtig mit mehreren Bildern machen und reload. Wie kann ich denn den Reset machen? Braucht den der µC oder die Cam? Hilft es evtl. die MTU_size zu erhöhen? Oder muß der CAM-buffer erhöht werden? Mich verwundert nur, daß es doch eben noch geklappt hat. Habe am Aufbau nichts verändert und auch sonst nix gemacht... grübel
Ja das kann mal haengenbleiben. Aber eigentlich passiert das nur wenn man auf abbrechen klickt beim bildladen. Und nur ab und an... Hast du auf abbrechen geklickt beim Bild laden ? Reset: Einfach Strom ab und neu dran ;) Also alles resetten ;) MTU/buffer: ne bringt nix. Ausserdem muss man dann den Camcode anpassen.... Ist auch nicht mehr viel Ram frei um da grossartig nach oben zu gehen ;)
Also mein Firefox liefert dem webserver noch nen TCP close wenn ich auf abbrechen klicke. Dadurch wird intern alles richtig neu gesetzt. Ich weiss nicht was der ie macht...
Ja, habe auf abbrechen gedrückt, während das Bild geladen wurde... :-( Hab mehrfach alle Stecker gelöst und Strom weggenommen - also mehrere resetzs gemacht - hilft aber nichts - Bild wird nicht mehr übertragen... Was kann ich da noch machen? Mehr als Reset geht doch nicht. Oder merkt sich die Cam irgendwas? Kommt auch immer 3x das OK via com-Port... und der ping läßt sich auch machen...
Wielange hast du gewartet ? Zieh mal den Strom ab und warte 15s. Dann wieder dran.
OK - hab mal nen anderen Browser genommen - jetzt klappt es! Vielleicht kann man ja in "reload" der Internetseite die mca25_init() und mca25_configure einsetzen und somit die cam neu starten?
Hier mal ein screenshoot! Werde das Projekt dann weiter umbauen und den Schaltplan von Holger verwursten und mir die Platine dann selbst ätzen, so daß alles ganz schick in ein kleines Gehäuse mit Cam kommt... Ist ja voll geil1 Zusammenfassung: - RX und TX müssen überkreuzt von der Cam zum µC - es muß dringend ein Schnittstellenquarz sein (7,3728 MHZ oder 14,7456) - die Portleitung muß individuell im Code angepaßt werden (für reset-cam) - beim Laden des Bildes nicht auf Abbruch drücken (evtl. neuen Browser nehmen) Verbesserungsvorschläge: - in Reloadbutton für index.html kann man den Cam-Reset integrieren? Liebe Grüße, Micha
Hi, hab die mca25.c mal bissel auf Konstanten umgestellt, die im Flash und nciht im Ram liegen. Die Funktion memcmp_P vergleicht Speicher im Flash mit Speicher im Ram, was ja staendig benuzt wird. Leider hab ich diese Version noch nicht voll getestet. Koennte die mal jemand bei sich einbauen und schauen, ob sich die selbe Funktion einstellt? Spart glaub so ca 200Bytes ram Gruss Tobias
Haette ich auch in die Codesammlung posten koenenn faellt mir auf :)
@Micha: Probier mal http://avr.auctionant.de/source/avr-ip-webcam_based_on1.38_241005.tgz Dort habe ich soeben eine "Erkennung" vom abbrechen klicken beim Image transfer eingebaut. Grob gesagt erkennt er nach 5s inaktivität das der cam socket nicht mehr genutzt wurde. 5s lang sollte Eigentlich kein TCP paket unterwegs sein oder ? Notfalls kann man das auch länger einstellen ;) Habs getestet und scheint zu gehen.. Jedenfalls hab ich durch wildes ESC und F5 drücken keinen absturz hinbekommen ;) @Tobias: Super Idee ! Danke ! Ich bau es mal eben ein und veröffentliche es dann mit der nächsten Version, ok ?
@alle die sich gerade das neue tgz geladen haben: Bitte nochmal neu runterladen, da fehlte ein define fürs _delay_ms @tobias: Bei deinem Code fehlten noch ein paar ")". Aber irgendwas funktioniert da auch nicht. Hab jetzt nicht geguckt wo er haengenbleibt :( In der aktuellen Version ist eine webcam/mca25_pgm_buggy.c das sind deine Änderungen mit gefixten ")". Musst nur noch in der mca25.h das deklarieren von pgm compare einkommentieren und mca25_pgm_buggy.c nach mca25.c kopieren Vielleicht findest du den bug ja ;) In der aktuellen Version (http://avr.auctionant.de/source/avr-ip-webcam_based_on1.38_241005.tgz) ist dein neuer Code noch nicht aktiv.
komisch, bei mir kompiliert der code wenigstens :) Naja ich werd das lieber mal richtig fertigtesten :) Gruss Tobias
Interessantes Projekt. Habe auf anhieb nicht das gefunden was ich gesucht habe. Gibt es schon ein verwertbares Layout oder nen Schaltplan für das Projekt? Und auch die Software zum Programmieren?
watchdog sind echt nur 4 zeilen und fänd ich in der neuen version auch sehr gut. Is doch echt kein aufwand und sehr praktisch wenn die cam echt mal hängt
Hi! Dann poste doch mal den wdt Code und ich bau ihn in meine Version ein ;) Natürlich nur wenn du nichts dagegen hast 8)
würd mich sogar freuen, bin nur grad ned zu hause ich poste den code später
mal 2 fragen fals der thread noch beachtet wird: 1. Hast du ICQ, Yahoo, MSN oder AIM??? weil das schreiben hier ist doch ziemlich nervig mit der zeit. 2. Wieso legst du an AVCC keinen strom an? Der ist doch für Port A notwendig (dataport) oder nicht???
@lordludwig: Ich finds hier nciht nervig ;) Ich bau deinen Code schon ein, muss das nur noch testen. Ich muss momentan was anderes wichtiges für die Uni machen, kümmer mich also wahrscheinlich erst Sonntag darum ;) Keine Angst, ich habs nicht vergessen. Avcc sollte natürlich angeschlossen sein ;) Danke. Werds am WE nachtragen. @scout: Ich hab keine 1wire sensoren hier und auch noch nie damit gearbeitet. Hab bis jetzt immer i2c sensoren von maxim oder so genommen. Dazu müsste man entweder software i2c nehmen oder die pins umsortieren. Ersteres wäre einfacher 8) Das einbauen von 1wire sollte aber kein Problem sein ;) Schnapp dir die Sources und bastel es dir doch einfach rein.
1wire Sensoren funktionieren mit dem Webserver sehr gut. Ein Beispiel siehst du in der Codesammlung. Das funktioniert bei mir seit einem Jahr. Allerdings versuche ich noch den Unterschied zwischen der Webserver-Software von Holger Buss und der von Ulrich Radig herauszufinden. Mein Webserver mit einem ATmega128 baut mit der von Holger keine Webpage auf. Die Suche geht weiter... Gruß Elektrikser
Ist der Unterschied nicht nur das #define ISA_CTRL ? Oder was meinst du ?
danke an Sssssss dass er den WDT nicht für mich eingebaut hat. Jetzt hab ich mich hingesetzt und versuch C zu lernen, is sicher ne interessante beschäftigung
#define ISA_CTRL? Heisst das nicht ISP_CTRL? (rtl8019.h) Ist aber bei den Sourcen von Radig und bei dir auskommentiert... Aber ich geb nicht auf...
das ISA_CTRL sollst du ja reinkommentieren wenn du die hardware von holger benutzt dafür ist es gedacht weil da die pinbelegung anders ist als bei ulrich radig
Hi! Bei mir in den Sourcen war ein mischmasch aus ISP_CTRL und ISA_CTRL drin. Wobei ISP_CTRL irgendwie sinndfrei war. Deshalb heissen die jetzt alle ISA_CTRL ;) Wenn du die pinbelegung von holgers Platine hast musst du #define ISA_CTRL 1 aktivieren ;)
Habe ich ja nicht, deswegen wundert mich es ja, dass ich, obwohl das auskommentiert ist, keine Webpage kommt. Ich habe den Webserver vom Radig nachgebaut. Das beste wird sein, wenn ich die Kamera-Änderungen in meine Version übernehme. Aber heute nicht mehr. Grüße und Danke für eure Bemühungen, Elektrikser
Das mega128 define gesetzt ? Mein Code geht von nem mega32 aus. Der nutzt nen anderen interrupt. Am besten wäre du nimmst meinen source, wenns updates gibt (zum beispiel den wdt code von lordludwig am we) brauchst den nur einspielen ;)
is mir grad wieder aufgefallen für was is #define DATA_PORT_RLT_WRITE #define DATA_PORT_RLT_READ und wo kann man festlegen dar IRQ an port E hängt??? mit CTRL_LINES????
irq9: nein, das hat nix mit der software zu tun. Das entscheidet nur das anlöten an der ISA Karte ;) IRQ: interrupt4.h oder so. Es gibt aber nur zwei Interrupt Pins, da is nix mit Grossartig verschieben ;) Guck mal ins Atmega32 manual erste Seite. Da sind zwei Pins die INT0 und INT1 heissen. Beim mega128 muss due interrupt4.h wissen obs nen mega32 oder mega128 is ;) Dort ist es glaub ich INT4 oder so.
das meinte ich nicht. ich meinte wo wan festlegt an welchem port der IRQ9 drann ist. und selbst wenn ich nerver wozu die da sind??? #define DATA_PORT_RLT_WRITE #define DATA_PORT_RLT_READ
PORT: es gibt nur zwei interrupt pins! Da is nix mit Port aussuchen ;) guck mal in die interrupt4.c/h Und dann aufs Datenblatt ;) Wofür die beiden defines sindweiss ich jetzt ausm Kopf nicht. Durchsuch einfach alle c/h files danach ;) (linux: grep -ri "DATA_PORT_RLT_WRITE" source/)
Wie schauts aus Elektrikser??? Hab mich endlich mal angemeldet mal schaun obs funktioniert
so jetzt aber. Jetzt muss mir nur noch ein inteligenter text zum thema einfallen... auch wenns nicht intelligent ist, mich interresierts wirklich: Was passiert wenn der I/O Port nicht 300 ist??? Und was nehm ich am besten als ISA-Slot weil bei reichlt gibts sowas ned???
Nicht so toll im Moment. Programm weiß, dass es einen ATmega 128 vor sich hat. Habe mal die Initialisierung des Netzwerk-ICs vor der Kamera gestellt, aber jetzt bringt er Fehler 255. Ich steh gerade ein bißchen auf dem Schlauch. Mache ja nix anderes als beim Original-Programm vom Ulrich und das klappt wunderbar. Auch meine Variante mit Temperatursensoren und Ein- und Ausgängen klappt. Bloß das hier nicht...??? Ich werde einfach weiterprobieren. Mittlerweile habe ich einen Oszillator mit 14,7456 MHz aufgetrieben und betreibe den Server damit. Kann eigentlich nur eine Kleinigkeit sein, aber ich finde den Wald vor lauter Bäumen nicht. Gruß Elektrikser
da hst du wohl echt ein problem. schonmal geprüft ob es wirklich die gleiche verkabelung ist???(rtl8019.h)
@Elektrikser: Ahh moment.... Meine Version läuft auf Port 3333, hast das evtl ueberlesen ? Also http://192.168.0.101:3333/ >Was passiert wenn der I/O Port nicht 300 ist??? Dann passiert nichts. Die Netzwerkkarte reagiert einfach nicht auf die Befehle. Darf sie ja auch nicht, ist ja nicht für sie. Wär das totale Chaos im pc wenn jede Karte auf jede Adresse antworten würde ;) >Und was nehm ich am besten als ISA-Slot weil bei reichlt gibts sowas ned??? Altes Mainboar + Heißluftpistole = ISA Slot 8) Ich hatte noch neue rumliegen, musste also nichts auslöten. Oder guck mal bei ebay nach diesen alten 90° winkeln für den ISA Slot (name fällt mir grad nicht ein).
achja muss gleiches subnet sein. also wenn dein rechner 192.162.1.33 hat dann muss die cam mit 192.168.1.xxx beginnen. aber des netzwerkkarteninit gibt ja schon 255 zurück deswegen schätze ich auf falsche pinbelegung. hab keine heißluftpistole. mainboards bits aufm sperrmüll
Hallo Sssssss, Die Änderung in der socket.h habe ich nicht überlesen. Wäre schön, wenn es so einfach wäre. Mein Rechner, an dem der Server hängt, hat die IP 192.168.0.3, damit fällt das auch wieder weg. Den Aufruf der Seite habe ich im Firefox so vergenommen. Die serielle Ausgabe sieht bei mir so aus: [WEBSERVER STARTING][[[ mac: 1e.0a.022b.022b.022d.4d ]]][[[ ip: 192.168.000.101 ]]]Init Network Card: ......... Init Ready! [[[ init: ok (34) ]]][configuring cam]debug output is now off!CAM_RUNNING Jetzt spuckt er zwar keinen Fehler mehr aus, aber die Webseite habe ich immer noch nicht (Zeitüberschreitung). Wie pinge ich ihn an, wenn er auf einen anderen Port ist? Der normale ping ergibt Zeitüberschreitung.
>Und was nehm ich am besten als ISA-Slot weil bei reichlt gibts sowas
ned???
Gibt sowas ähnliches bei Reichelt
"Stecker 62-254"
Zwei Stück davon und einen absägen, den Rest
kann man für die SD-Karte nehmen.
an wgoedde: danke!!! "Jetzt spuckt er zwar keinen Fehler mehr aus,..." wie haste des geschafft??? Wegen ping schau ich mal da gibt es ne möglichkein... welches betriebssystem???
>Jetzt spuckt er zwar keinen Fehler mehr aus, aber die Webseite habe ich >immer noch nicht (Zeitüberschreitung). Sehr komisch ... Die Karte scheint initialisiert zu werden. Kannst du mal ne Grafik posten wo du was angeschlossen hast ? VOr allem die IRQ Leitung. Hast doch nen mega128 oder ? Oder mail mir mal die Sourcen zu die bei dir gehen dann suche ich die differenz zu meinem code raus ;) -> avr@auctionant.de >Wie pinge ich ihn an, wenn er auf >einen anderen Port ist? Der normale ping ergibt Zeitüberschreitung. Ping hat nichts mit dem port zu tun ;) Sollte noch ganz normal gehen.
Win XP oder Win98. Habe beides da. Allerdings bin ich einen Schritt weiter. Ein Webserver mit dem Atmega 128 und einer mca25 läuft bereits. Ist zwar nicht die neueste Programmversion (ist die erste Version, bei der ich die serielle Schnittstelle auf den 128er angepasst hatte), aber immerhin. Mein kleines Problemkind weigert sich aber immer noch. Hmmm, der will mich irgendwie ärgern. Ich sehe mittlerweile auf der seriellen Schnittstelle einen kräftigen Datenverkehr, der darauf schliessen lässt, dass die Cam arbeitet. Aber anpingen lassen will der sich nicht. Ist aber der selbe Aufbau, wie der andere. Die habe ich damals gemeinsam aufgebaut... Die Suche geht weiter...
mail mir bitte mal den laufenden (alten) code, dann gucke ich mal wo sie sich unterscheiden ;) avr@auctionant.de
Ich vermute, dass es eigentlich mit dem neuen auch laufen müsste. Aber ich kämpfe da noch mit meinem Problemkind. Da bin ich gerade mal am sehen, ob er ohne Cam eine Page aufbaut. Ich melde mich später noch einmal wenn ich mehr weiß. Kann auch bis morgen dauern. Probiere dann auch nochmal die akuelle Version. Aber der hier fuchst mich halt. Erstmal danke für eure Bemühungen. Elektrikser
Ah ja, auch mal ein Doppelposting fertig gebracht. Damit ist das auch klar, wie das geht. Vom ersten Server habe ich da mal ein Bild hochgeladen, allerdings hat die Kamera einen Grünstich, oder wollte die mehr Licht? Naja, egal. Ist auf jeden Fall ein Erfolgserlebnis. Den Server hatte ich bis vorher noch gar nicht mit der Cam probiert, deswegen war ich verblüfft, dass er ein Bild aufbaute.
Hi! Also so langsam blicke ich nicht mehr durch was bei dir geht und was nicht g Wieviele verschiedene Server mit welchen uCs hast du denn ? Grünstich: Wie hell ist es bei dir ? Die Cams brauchen relativ viel Licht. Oder die Versorgungsspannung stimmt nicht. Hast du eine oder zwei Dioden zwischen 5V und cam ? Da müssen zwei rein mit je 0,6/0,7V Spannungsabfall (-> ~3,6V) Bei zu hoher Versorgungsspannung sind die Bilder dunkler ::)
Es sind zwei Cams und zwei Server. Ich habe die ganze Zeit nur mit einem herumgespielt, bis heute abend. Dieser (Nr.1) geht bis jetzt nicht. Den zweiten (Nr.2) habe ich um ca. 20.00 Uhr probiert, nach dem ich mit dem ersten (Nr.1) die Nerven verloren hatte. Neue Cam und dieser Server (Nr.2) läuft. Beide Cams haben zwei Dioden (1N4148) in der Versorgungsstrecke. Allerdings werde ich diese gegen LM317 wechseln, da die Spannung bei 4 V liegt. Ach ja, ein Webserver (Nr.3) ATmega128 mit ISA-Netzwerkkarte ist noch im Dauereinsatz. Der darf Innen- und Aussentemperatur messen und die Garage überwachen, ob alle Tore zu sind und das Licht aus. Aber der hat mit dem Cams nichts am Hut. ;-) Ich werde mich an Nr.1 morgen noch mal heranwagen. Aber erst einmal teste ich die Cam von dem, ob sie überhaupt lebt. Ich habe da meinen Verdacht, dass diese mir die Suppe versalzt. Gruß Elektrikser
O.K. Nr.1 lebt! Sieht so aus als ob die Cam eine Macke hatte. Leider war das Teil nicht total defekt, sondern reagierte teilweise. Mit der zweiten Cam funktioniert es auch am Nr.1-Webserver. Ich habe allerdings immer wieder Streifen in den Bildern mit einer anderen Helligkeit. In der mca.h muss für den ATmega128 der PB4 freigemacht werden, wenn man den Servo verwenden will, da OC0 auf PB4 liegt. Der Teiler für die PWM ist beim ATmega128 ein bißchen anders, deswegen:
1 | #define CLK_CFG (0<<CS00 | 1<<CS01 | 1<<CS02) //set up clock source
|
2 | clk/256 |
"Reload" funktioniert beim Firefox leider nicht richtig. Es wird zwar "Bitte warten" eingeblendet, aber das Bild wird bei mir nicht aktualisiert. Kann das jemand bestätigen, oder habe ich wieder ein Problem? Java-Skript ist aktiviert. Gute Arbeit Sssssss! Gruß Elektrikser
Hast du die Cam mal neu angelötet ? Evtl hast du nen Wackler in der Verkabelung ? >Ich habe allerdings immer wieder Streifen in den Bildern mit einer >anderen Helligkeit. Was für einen Quarz hast du drin ? Ich hab da nämlich beim init eine for(i<xxx) schleife drin nach dem ersten Teil vom cam init (mca25.c) drin die natürlich für 7,xx mhz ausgelegt ist. Wenn die Schleife zu kurz/zu lang ist gibts streifen. Warum weiss ich nicht. Versuch mal folgendes (Code von Ingo): such mal nach dem folgenden code in mca25.c:
1 | // this delay is neccessary !
|
2 | // without this we get a lot of
|
3 | // noise in the picture !
|
4 | for (unsigned int z=0; z<10000*2; z++){ |
5 | nop();nop();nop();nop();nop();nop(); |
6 | }
|
7 | mca25_pgm_send(MCA25_START_CAPTURING_2); |
8 | mca25_pgm_send(MCA25_START_CAPTURING_3); |
und ersetz ihn und die anderen durch:
1 | #define delay_ms(a) { if(a<15) _delay_ms(a); else for (unsigned int
|
2 | i=0;i<a;i++) _delay_ms(1); } |
3 | // this delay is neccessary !
|
4 | // without this we get a lot of
|
5 | // noise in the picture !
|
6 | /*for (unsigned int z=0; z<10000*2; z++){
|
7 | nop();nop();nop();nop();nop();nop();
|
8 | }*/
|
9 | delay_ms(18); |
10 | |
11 | mca25_pgm_send(MCA25_START_CAPTURING_2); |
12 | delay_ms(60); |
13 | |
14 | mca25_pgm_send(MCA25_START_CAPTURING_3); |
15 | delay_ms(1); |
Das hat Ingo gecodet um es unabhängig vom quarz zu machen. Habs aber noch nicht getestet ;) Wenns bei dir hilft dann sag mal bescheid ;) Reload funktioniert bei mir (ffox/linux) so wie es sollte. Drück mal auf F5 nachdem ein bild geladen wurde. Funktioniert das ?
F5 funktioniert einwandfrei. Nur das Relaod komischerweise nicht. Ich werde den Code bei mir mal einbauen. Momentan läuft der Server mit 14,7456 Mhz. Die Kamera habe ich gestern noch einmal neu gelötet. Finde unter der Lupe auch keine Zinnbrücken oder andere Fehler. K.A. warum die so zickt.
@Elektrikser: Hast du Windoof oder Linux(Auch wenn ich Windoof sage, ich habe es selber)
Win98 und Win XP. Ich will zwar Linux näher kennenlernen, habe aber momentan keine Zeit, um mich da ordentlich einzuarbeiten. Ist echt Schade.
hast du die möglichkeit deine Cam per router ins internet zu stellen??? Also Port 3333 an die Cam weiterleiten. Dann nimmst du ne Dyndns, stellst sie im router ein und sagst und die. Dann können Linux und windows leute schaun ob das aktualisieren geht. Vieleicht gehts ja nur unter linux. Beispiel für den Link bei der dyndns cam.dyndns.org: http://cam.dyndns.org:3333/ bin den gnzen tag bis 9 uhr da dann feier ich meinen gestrigen geburtstag nach^^
Nee, die Möglichkeit habe ich leider nicht. Ich bin leider noch mit ISDN unterwegs. Aber trotzdem: Alles Gute zum Geburtstag! Wenn auch nachträglich.
Hallo, ich versuche seit 2 Tagen die MCA-25 mit dem Perl Skript zum laufen zu bekommen, aber leider ohne Erfolg. Habe es mit 2 Kameras und verschiedenen RS232 Interface (FT232BM,PL2303,und MAX232 mit geändertem Skript) probiert. Ich komme nicht über das AT&F von der Kamera hinaus, es scheint so als würde der RX Pin der Kamera nicht funktionieren. Macht die Kamera eigentlich ein Echo auf der RS232? Bei mir kommt keins. Habe auch schon versucht die Kamera Manuell über Minicom zu Initialisieren , hat aber auch nicht funktioniert. Die Pegel auf der RS232 zur Kamera sind ok (3.2V High , 0.3V Low) und die Vcc der Kamera beträgt 3.8V (auch schon alles von 3.3V bis 4.4V probiert). Kann mit da jemand weiterhelfen? Bin inzwischen ziemlich ratlos :-) Gruß Claude
Hallo! Ich bin eben über diesen Thread gestolpert... Habe schon länger eine MCA-10 bei mir herumliegen, von der ich gerne die Bilder über Windows oder Psion runterladen können würde - kann mir da jemand helfen? Dank und Gruß Markus
hmm also 1. vermute ich das die MCA-10 nich kompatibel zur MCA-25 ist und 2. gibt es noch kein script für windwos, was sich aber ändern kann. Im aktullen script muss man nur die ports win win. anpassen
Ähm, jetzt lacht Ihr wahrscheinlich alle - aber welches ist das aktuelle Skript? Könnte es mir einer von Euch mal in Gänze mailen? Dank und Gruß
@claude: wie hast du den chip ausgelötet? kann man davon ausgehen, dass der chip danach noch funktioniert? meine versuche mit einem hand-lötkolben und entlöt-litze habe ich nach 6 Stunden probiererei abgebrochen. mein ziel ist es den chip direkt anzusteuern, mit einem anderen quarz und den pixel-clock prescaler kann ein avr das bild eigentlich ganz gut auslesen.
Hi! Einfach mit nem Heissluftfön draufhalten ;) Wenn du sichergehen willst dass der cmos chip es überlebt erwärme die Platinenrückseite. Geht eigentlich ganz gut :) Bye, Simon
hi, hab mir heute mal 2 stück von der cam gekauft :) 5 euro eine, war auf jedenfall okay der preis :) meine fragen hateiner eventuell auch quell code ambesten in c bzw c++ der unter windows läuft? mit dem perl script kann ich leider nicht soviel anfangen wie viel BAUD brauch die cam um am pc normal zu laufen ß falls mir jemand weiter helfen kann währ ich dankbar, währ ein usb-> seriel wandler besser ? oder reicht der normale port
der normale port kann normalerweise ned mehr als 110k baud, du brauch aber 460k, also nen USB->seriell wandler. Nen Programm für Win. gibt glaub ich im moment noch ned
So, Hallo an alle! ..und meine Bewunderung an Simon für sein reverse-engineering des Protokolls! Ich habe vor den Webserver mit Handycam aufzubauen. (Mega32) Teile sind da, Zeit nicht :-( (~08.04.06 kann's dann losgehen..) Da die Cam schon vor den Teilen hier eingetroffen ist, war ich jetzt doch neugierig und habe erstmal probiert, minimal mit der Cam zu kommunizieren. (minimal=nur die Initialisierung manuell im Terminal, ohne das perlscript mit der mux-Kommunikation, da ich nur den Standard com-Port nutzen kann (da kein USB<->Seriell Konverter verfügbar.)) Die cam hab ich bei ebay für 4.90 + 1.90Versand = 6.80 von 'akku-power'. hier mal meine Einstellungen, falls jemand seine cam unter Windows testen möchte: WinXP - Hyper Terminal com1 9600 8N1 keineFlussteuerung Emulation: VT100 ASCII-Konfiguration: Haken bei 'Gesendete Zeilen enden mit Zeilenvorschub' Ich bin öfters mal nicht schnell genug beim Antworten gewesen; Aber generell läuft die Kommunikation ja. freu __________________________________________________ Log1 ---- XAT&F OK AT+IPR=? (hier 'cam_reset--100k--cam_vcc' "geprellt"; also Zufall): MCA25_R1R Log2 ---- XAT&F AT&F OK AT&F OK&F AT+IPR=? AT+IPR=? +IPR: (),(1200,2400,4800,9600,19200,38400,57600,115200,460800) AT+IPR=?+IPR: (),(1200,2400,4800,9600,19200,38400,57600,115200,460800) +IPR: (),(1200,2400,4800,9600,19200,38400,57600,115200,460800) OK AT+CMUX=0,0,7,31 OK __________________________________________________ zur Hardware: -Die cam habe ich mit 3,6 und ein paar zerquetschten mV betrieben (LM317-TO220) -4,7k in der cam-RX Leitung und Diode nach cam_vcc wie unter http://www.mikrocontroller.net/forum/read-4-251170.html#275147 von Joachim Börke beschrieben. -cam_reset pin zum Starten der Kommunikation über 100k auf cam_vcc gezogen. (http://www.mikrocontroller.net/forum/read-1-232801.html#242517) -~100µF zw. cam_vcc und GND direkt an der cam. zu den Log's: -Was mich wundert ist das 'X' ganz am Anfang der Kommunikation. Anfangs (LM317-TO92 - max. 100mA, wie ich dann erst gelesen hab..) kam immer nur ein 'X', nachdem ich cam_reset auf High gezogen hab, dannach nichts mehr (also auch nach einigen Sekunden keine Reaktion mehrvon der cam). Jetzt kommt es 'nur' noch am Anfang 1x (siehe Log). -@simon bzw. SSSSSSSS: welchen Befehl habe ich den in Log1 zufällig gesendet, daß die cam 'MCA25_R1R' geantwortet hat? Bis demnächst (,wenn hoffendlich alles läuft ;-) ). ______ mfg, Kevin.
mal ne frage, wenn man daten empanfen will also die bild daten, und dann wieder steuer daten / lesen senden, muss man dann wieder auf die kleine baud rate umschalten ? oder kann man mit den 4xx.xxx baud weiter arbeiten1?
okay danke, ich werde sobald die usb wandler da sind mal versuchen eine windows software in c++ für die cam zu progarmmieren wenn ich was hinbekommen habe poste ich es hier, gruß philip
@Kevin Konradt: Sorry hab deine Frage übersehen :-\ Also das MCA25_R1R hab ich noch nie gesehen... Keine Ahnung was das ist . Evtl irgendwas wie Firmware Revision ? Das mit dem X habe ich auch ;) Dient evtl dazu den Comport vom Handy zu aktivieren oder so ? (evtl Baudratenerkennung ?) Bye, Simon
Die MCA-10 passt an T68i | T200 | T29s | T39m . Es wird auch eine MCA-20 angeboten, wie steht es hier mit der Kompatibilität? http://cgi.ebay.de/ws/eBayISAPI.dll?ViewItem&item=9120906145 sie kann 14-208 Bilder speichern und ist für das SonyEricsson T68i, T68ie, T300 und T310 gedacht. Nur zur Vollständigkeit: die MCA-25 passt an T68, T68i, T300, T310, T230, T290i Vermutlich sind sie doch ähnlich. Hat schonmal jemand getestet?
ich denke nicht das das ohne änderungen geht. aber probier es doch mal aus wenn du lust hast!!!
Hi! MCA10 habe ich letztens aus Neugier mal gekauft... Kannste vergessen, ist im Vergleich zur MCA25 aus der Steinzeit 8) Hab dann nicht näher geguckt. Die mca20 wird ähnlich wie die mca10 sein. Beide werden wohl nur mit massiven änderungen laufen. Bye, Simon
@sssss bzw. Simon: -Frage nicht gesehen: Joa, ist ja auch etwas im Text untergegangen.. ;-) -MCA25_R1R: achso, nadann.. -X: ah, super, dachte schon, bei mir würde da irgendwas nicht passen. thx, und bis demnächst. __ mfg, Kevin.
Hi! Ich habe gerade etwas sehr seltsames festgestellt! Es scheint zwei verschiedene Versionen der MCA25 zu geben !! Die alte Version sendet am Anfang mit 9600 baud und bleibt dabei. Die neue Version sendet 1x AT mit 9600baud und wechselt dann nach 19200 !! Ich hatte hier nämlich zwei cams wo ich dachte ich haette sie kaputt bei ebay gekauft. Aber nix da die senden nur bei 19200 baud :-X Ihr könntet mir mal bitte helfen indem ihr aufschreibt welche Kameraversion ihr habt. Dazu einfach aussen am Gehäuse gucken, dort steht etwas wie KRY 105 01... Meine Vermutung: KRY 105 016 -> alte Version KRY 105 017 -> neue Version ! (mit Chiplus Chip neben dem Prozessor) Könntet ihr mal bitte alle die Versionsnummer komplett (!) (also zb KTY 105 017 Type 408 0013 W0302) posten und ob ihr Probleme mit der Cam hattet. Danke :) Bye, Simon
Re: Hi. Meine Cam: 'KRY 105 016 R1A Type 408 0013 W0233 Made in China' :-D (oder WO233) Chip neben dem Prozessor: leider keine Ahnung; Platine ist bereits auf das Gehäuse ge-Heisskleber-t; (Ich glaube es waren 3 "größere" Chips). Falls es weiterhilft: Ich hatte vor dem Einbau ins Gehäuse die Voderseite ge-digicam-t (ich liebe neuentdeckte Verben ^^) (siehe Anhang) Probleme/Datenübertragung: Bisher keine. (Allerdings ohne µC - Nur am Rechner. Ohne USB<->Ser.) Falls es wen interessiert meine com-Port Einstellungen und die Kommunikation per skript: ===================================================================== root@Kanotix:~/Desktop/webserver$ stty -F /dev/ttyS0 speed 9600 baud; line = 0; min = 1; time = 0; -brkint -icrnl -imaxbel -opost -isig -icanon ===== root@Kanotix:/home/Y0025446/Desktop/webserver# ./connect_640x480.pl 9600 <<IN <<AT&F. >>SEND>>AT&F< [41 54 26 46 ] >>SEND>>\r\r\nOK\r\n< [0D 0D 0A 4F 4B 0D 0A ] <<IN <<AT+IPR=?. >>SEND>>AT+IPR=?< [41 54 2B 49 50 52 3D 3F ] >>SEND>>\r\r\n+IPR: (),(1200,2400,4800,9600,19200,38400,57600,460800)\r\n\r\nOK\r\n< [0D 0D 0A 2B 49 50 52 3A 20 28 29 2C 28 31 32 30 30 2C 32 34 30 30 2C 34 38 30 30 2C 39 36 30 30 2C 31 39 32 30 30 2C 33 38 34 30 30 2C 35 37 36 30 30 2C 34 36 30 38 30 30 29 0D 0A 0D 0A 4F 4B 0D 0A ] <<IN <<AT+CMUX=?. >>SEND>>AT+CMUX=?< [41 54 2B 43 4D 55 58 3D 3F ] >>SEND>>\r\r\n+CMUX: (0),(0),(1-7),(31),(10),(3),(30),(10),(1-7)\r< [0D 0D 0A 2B 43 4D 55 58 3A 20 28 30 29 2C 28 30 29 2C 28 31 2D 37 29 2C 28 33 31 29 2C 28 31 30 29 2C 28 33 29 2C 28 33 30 29 2C 28 31 30 29 2C 28 31 2D 37 29 0D ] <<IN <<AT+CMUX=0,0,7,31. >>SEND>>AT+CMUX=0,0,7,31< [41 54 2B 43 4D 55 58 3D 30 2C 30 2C 37 2C 33 31 ] >>SEND>>\r\r\nOK\r\n< [0D 0D 0A 4F 4B 0D 0A ] ===================================================================== ___ mfg, Kevin.
Danke! KRY 105 016 -> erste revision, sollte ohne Probs gehen Also falls jemand welche in der Schublade liegen hat weil er dachte sie seien kaputt: nochmal genau nachgucken, wenns der 017 typ ist muss man am anfang nur mit 19200 baud arbeiten statt 9600 ;) Bye, Simon
Meine Cam ist auch: 'KRY 105 016 R1A Type 408 0013 W0247 Made in China' gekauft Nov.05 braucht immer mal ein Reset sonst kein Problem bei Lan bei WLan leider schon ..... :-( aber das ist ja schon bekannt Gruß HH
Sehr interessant... Von meinen 7 gekauften Cams sind zwei diese 017 Typen. Scheint wohl nicht so verbreitet zu sein :) Bye, Simon
Hallo Simon, ich habe auch die 017. ( genaue Bezeichnung KTY 017 R1A Typ 408 0013 W0302 ) dies Cam sendet auch mit 19200 Baud. Meine Cam hat nicht funktioniert. Bei meinen Messungen bin ich auf die 19200 Baud gekommen. Konnte leider aus Zeitgründen nicht wietermachen. Gruß Reinhold
hi simon, kennst du dich auch mit der MCA-10 aus? bekomme die nicht zum laufen... mfg
Hi! Ne, hab zwar ne mca10 hier liegen, hab aber nicht weiter getested. Die Technik da drin sah mir zu alt aus ;) Ausserdem eh nur 1/2VGA auflösung :-\ Bye, Simon
hab leider nich drauf geachtet als ich die bei ebay erstanden hab. dachte es gibt eh nur die mca-25 :-S. und jetzt ist die mca-25 bei ebay schon fast eine teure rarität geworden. mfg
hi simon, nochmal eine frage: wenn ich der cam etwas schicke, schickt sie mir das manchmal genau so zurück. kennst du dieses phänomen? heißt das, das die cam das nicht "verstanden" hat oder die baudrate falsch eingestellt ist? mfg PS: wie bist du genau auf die 460800 baud gekommen? day bray terminal geht nichtmal so hoch :)
schicken: uff ka. weiss nicht mehr genau ob das die mca25 auch gemacht hat. glaube aber eher nicht. würde es als "kommando nicht verstanden" interpretieren 460800: geht unter linux ganz einfach: stty -f /dev/ttyUSB0 ispeed 460800 ospeed 460800 Unter windows: ka :-\ evtl nen anderes terminalprog suchen Bye, Simon
ui zum glück antwortest du immer schnell da bleiben lange wartezeiten aus :)
@Simon hast du schonmal versucht die Groesse des Vorschaubilds zu veraendern oder bleibt die cam da wieder stur und macht trotzdem 60*80 bilder? Gruss Tobias
ne aber es gehen ned alle auflösungen nur 3 oder 4 den rest mag die cam ned...
beim preview geht nur 80x60 glaub ich... oder hat jmd andere infos ?
Mein Problem ist halt, dass es bei meiner Anwednung fuer die Cam zulange dauert bis ein komplettes Bild uebertragen ist(ca. 6s), das Vorschaubild allerdings recht wenig Details erkennen laesst. Gibt es einen Modus, in dem man etwa alle 2s ein neues Bild uebetragen kann? Es sollten so um die 200 bis 300 Bildpunkte vorhanden sein. Wielange braucht den das Handy um ein komplettes Bild von der Kamera zu laden? Gruss Tobias
>Wielange braucht den das Handy um ein komplettes Bild von der Kamera zu >laden? genau so lang wenn nicht sogar länger >Gibt es einen Modus, in dem man etwa alle 2s ein neues Bild uebetragen >kann? Ja, aber das isz nicht der Vorschaumodus sondern der normale modus um ein bild zu holen nur das man eine andere auflösung verwendet >Es sollten so um die 200 bis 300 Bildpunkte vorhanden sein. es müsste 1/2 VGA und 1/4 VGA gehen, wie lange es dauert kann ich dir aber so spontan nicht sagen.
Nicht das vorschaupic nehmen, da hast du nur rgb223 oder so, Ludwigs idee ist besser. Einfach das jpg in kleiner anfordern ;) versuch mal 320x240 als auflösung im jpg mode. Das wäre ~1/4 der datenmenge vom 640x480 Bild. Also ca 1s oder so. >Wielange braucht den das Handy um ein komplettes Bild von >der Kamera zu laden? auch um die 5s meine ich ... Bye, Simon
Hi, ich habe grade 320*240, 240*180 und 160*120 veruscht, aber die Kamera liefert mir immer 640*480 Bilder. Hat das ueberhaupt mal jemand getestet? ;) Gruss Tobias
ne hab ich nicht getestet. du musst im cam config paket aber 320x240 senden (musst mal die hexdinger als text angucken dann siehste wo) ;) Bye, SImon
Jo da hab ich das auch geaendert: PROGMEM char MCA25_CONFIG_320x240[] = { 0xF9,0x81,0xEF,0x3F,0x82,0x01,0x3B,0x01,0x00,0x03,0x49,0x01,0x35,0x3C,0x 63,0x61,0x6D,0x65, 0x72,0x61,0x2D,0x73,0x65,0x74,0x74,0x69,0x6E,0x67,0x73,0x20,0x76,0x65,0x 72,0x73,0x69,0x8C,0xF9, 0xF9,0x81,0xEF,0x3F,0x6F,0x6E,0x3D,0x22,0x31,0x2E,0x30,0x22,0x20,0x77,0x 68,0x69,0x74,0x65, 0x2D,0x62,0x61,0x6C,0x61,0x6E,0x63,0x65,0x3D,0x22,0x4F,0x46,0x46,0x22,0x 20,0x63,0x6F,0x8C,0xF9, 0xF9,0x81,0xEF,0x3F,0x6C,0x6F,0x72,0x2D,0x63,0x6F,0x6D,0x70,0x65,0x6E,0x 73,0x61,0x74,0x69, 0x6F,0x6E,0x3D,0x22,0x31,0x33,0x22,0x20,0x66,0x75,0x6E,0x2D,0x6C,0x61,0x 79,0x65,0x72,0x8C,0xF9, 0xF9,0x81,0xEF,0x3F,0x3D,0x22,0x30,0x22,0x3E,0x3C,0x6D,0x6F,0x6E,0x69,0x 74,0x6F,0x72,0x69, 0x6E,0x67,0x2D,0x66,0x6F,0x72,0x6D,0x61,0x74,0x20,0x65,0x6E,0x63,0x6F,0x 64,0x69,0x6E,0x8C,0xF9, 0xF9,0x81,0xEF,0x3F,0x67,0x3D,0x22,0x45,0x42,0x4D,0x50,0x22,0x20,0x70,0x 69,0x78,0x65,0x6C, 0x2D,0x73,0x69,0x7A,0x65,0x3D,0x22,0x38,0x30,0x2A,0x36,0x30,0x22,0x20,0x 63,0x6F,0x6C,0x8C,0xF9, 0xF9,0x81,0xEF,0x3F,0x6F,0x72,0x2D,0x64,0x65,0x70,0x74,0x68,0x3D,0x22,0x 38,0x22,0x2F,0x3E, 0x0D,0x0A,0x3C,0x74,0x68,0x75,0x6D,0x62,0x6E,0x61,0x69,0x6C,0x2D,0x66,0x 6F,0x72,0x6D,0x8C,0xF9, 0xF9,0x81,0xEF,0x3F,0x61,0x74,0x20,0x65,0x6E,0x63,0x6F,0x64,0x69,0x6E,0x 67,0x3D,0x22,0x45, 0x42,0x4D,0x50,0x22,0x20,0x70,0x69,0x78,0x65,0x6C,0x2D,0x73,0x69,0x7A,0x 65,0x3D,0x22,0x8C,0xF9, 0xF9,0x81,0xEF,0x3F,0x31,0x30,0x31,0x2A,0x38,0x30,0x22,0x20,0x63,0x6F,0x 6C,0x6F,0x72,0x2D, 0x64,0x65,0x70,0x74,0x68,0x3D,0x22,0x38,0x22,0x2F,0x3E,0x0D,0x0A,0x3C,0x 6E,0x61,0x74,0x8C,0xF9, 0xF9,0x81,0xEF,0x3F,0x69,0x76,0x65,0x2D,0x66,0x6F,0x72,0x6D,0x61,0x74,0x 20,0x65,0x6E,0x63, 0x6F,0x64,0x69,0x6E,0x67,0x3D,0x22,0x22,0x20,0x70,0x69,0x78,0x65,0x6C,0x 2D,0x73,0x69,0x8C,0xF9, 0xF9,0x81,0xEF,0x3F,0x7A,0x65,0x3D,0x22,0x33,0x32,0x30,0x2A,0x32,0x34,0x 30,0x22,0x2F,0x3E, 0x0D,0x0A,0x3C,0x2F,0x63,0x61,0x6D,0x65,0x72,0x61,0x2D,0x73,0x65,0x74,0x 74,0x69,0x6E,0x8C,0xF9, 0xF9,0x81,0xEF,0x0B,0x67,0x73,0x3E,0x0D,0x0A,0xAF,0xF9,'%','E','N','D'}; Das sollte fuer 320*240 sein ...
Hast du auch die checksummen für die mux pakete geändert ? Bye, Simon
An Checksummen hab ich noch garnicht gedacht. Ich solle mich wohl noch bissel intensiver mit der Sache aueinandersetzen :) Gruss Tobias
In dieser Software http://www.mikrocontroller.net/forum/read-4-248219.html#289255 kannst Du die Bildgröße einstellen. 640*480, 320*240 und 160*120 funktionieren. Gruß Joachim
Jetzt hab ich gerade gesehen, dass es neben den MCA-10, MCA20 auch eine MCA-30 gibt. Hat diese schon mal jemand getestet?
Auszug aus www.telefon.de/produkt.asp?products_id=28510 Sony Ericsson CommuniCam 4 MCA-30 passend für: T290i, K500i, T300, T230, T310, T68i, T68 Hersteller: Sony Ericsson Produktkategorie: Multimedia / Fun Herstellerartikelnummer: DPY901406 Produktbezeichnung: Sony Ericsson CommuniCam 4 MCA-30 / MCA-30 Ich bekomme demnächst eine solche und werde sie testen.
genau wie bei der mca25. kann nur mehr bilder speichern. Lohnt also nicht ;)
fdgsdfg sdfgěř=ééěřfdgsdfg sdfgěř=ééěřfdgsdfg sdfgěř=ééěřfdgsdfg sdfgěř=ééěřfdgsdfg sdfgěř=ééěřfdgsdfg sdfgěř=ééěřfdgsdfg sdfgěř=ééěřfdgsdfg sdfgěř=ééěřfdgsdfg sdfgěř=ééěřfdgsdfg sdfgěř=ééěřfdgsdfg sdfgěř=ééěřfdgsdfg sdfgěř=ééěřfdgsdfg sdfgěř=ééěřfdgsdfg sdfgěř=ééěřfdgsdfg sdfgěř=ééěřfdgsdfg sdfgěř=ééěřfdgsdfg sdfgěř=ééěřfdgsdfg sdfgěř=ééěřfdgsdfg sdfgěř=ééěřfdgsdfg sdfgěř=ééěřfdgsdfg sdfgěř=ééěřfdgsdfg sdfgěř=ééěřfdgsdfg sdfgěř=ééěřfdgsdfg sdfgěř=ééěřfdgsdfg sdfgěř=ééěřfdgsdfg sdfgěř=ééěřfdgsdfg sdfgěř=ééěřfdgsdfg sdfgěř=ééěřfdgsdfg sdfgěř=ééěřfdgsdfg sdfgěř=ééěřfdgsdfg sdfgěř=ééěřfdgsdfg sdfgěř=ééěřfdgsdfg sdfgěř=ééěřfdgsdfg sdfgěř=ééěřfdgsdfg sdfgěř=ééěřfdgsdfg sdfgěř=ééěřfdgsdfg sdfgěř=ééěřfdgsdfg sdfgěř=ééěřfdgsdfg sdfgěř=ééěřfdgsdfg sdfgěř=ééěřfdgsdfg sdfgěř=ééěřfdgsdfg sdfgěř=ééěřfdgsdfg sdfgěř=ééěřfdgsdfg sdfgěř=ééěřfdgsdfg sdfgěř=ééěřfdgsdfg sdfgěř=ééěř________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ________________
So, endlich auch mit Kamera ausgestattet, es ist eine MCA-25 KRY 105 016 R1A Type 408 0013 W0235 Made in China CE FCC N173. Noch ein paar meiner Gedanken: Es ist nicht unbedingt notwendig, die Cam zu öffnen, man kann z.B. dünne (Fädel-)Drähte an die Kontakte anlöten. Da die restlichen, soweit ich gesehen habe, unbelegt sind, kann man ruhig dicker löten: Pins 3+4, 5+6, 7+8 jeweils zusammen. Zum Öffnen: man muss den dunkleren Teil um die Linse herum abheben, nicht die ganze obere Schalenhälfte. Das hintere dunklere Teil kann man noch nicht abheben, da darin die Gewinde der 4 Schrauben sind. Diese erst aufschrauben. Manchmal bleibt die Kommunikation mit der Kamera stecken. Hab ich noch nicht untersucht, habe allerdings den Verdacht, dass an dem seriellen Eingang des Mega32 ein Pullup fehlt. Er ist nämlich einstreuungsempfindlich. Die quadratische Linse des Suchers läßt sich prima als Makrolinse verwenden. Ich entfernte die runde Linse (durch Auseinanderdrücken der beiden schwarzen Halterungen mittels sehr dünnem Schraubenziehers oder Messers) und steckte die Linse samt schwarzem Träger auf die Optik der Kamera. So entstand z.B. das Bild im Anhang, das beide ICs gerade beim Übertragen dieses Bildes zeigen, sozusagen ein Selbstportrait. Damit das gut hält, habe ich ein 5mm-Stück eines dickeren Kabelmantels auf die Optik gesteckt und darauf den Träger. Eine andere Brennweite bekommt man, wenn man die quadratische Linse ohne den Halter direkt an die Öffnung hält (oder mit doppelseitigem Klebeband o.ä. klebt). Hat schonmal jemand die Optik heruntergeschraubt. Wie ich vermute, ist das ein Gewinde mit Sicherungslack. Dahinter kommt evtl. der IR-Filter und die Linse. Den Filter könnte man entfernen und IR-Fotografie versuchen. Sehe gerade, die Optik scheint nur eine Linse zu sein, oder ist ein Filter darin integriert? Oder liegt er auf dem CCD? Oder ist er die Glasscheibe, die im Gehäuse vor der Optik befestigt ist? Muss noch Versuche mit einer IR-Fernsteuerung machen... Habe es gerade versucht: mit einem 12er Gabelschlüssel das Kameragehäuse festhalten und mit einer Gripzange die geriffelte Linse drehen, klack macht es, und der Sicherungslack ist gelöst. Evtl. geht es durch leichtes Anwärmen (Lampe, Fön, Lötkolben in sicherer Entfernung) leichter, ich habe es ohne Wärme geschafft. Vorher jedoch die genaue Position z.B. durch Anritzen markieren, damit man wieder richtig scharf stellen kann. Durch das Drehen ändert man nämlich die Entfernungseinstellung, und das macht sich super gut: je weiter man die Linse herausdreht, desto näher rückt der Schärfebereich zur Kamera. So kann man super Makroaufnahmen machen (auch ohne die quadratische Linse). Kurz bevor das Gewinde zu Ende ist, ist die Entfernung ca. 1,5cm (siehe 1N4007-Foto). Aufpassen, wenn die Linse rausgeht, dass keine Brösel des Lackes auf den CCD-Chip fallen, am Besten, Kamera zumindest senkrecht oder noch besser auf den Kopf stellen, damit Staub herausfällt, nicht hinein. Was mich noch ein wenig stört, ist der Blaustich und das matte Rot der Fotos. Sollte man korrigieren können. Auf dem Handy (habe ein T300) kann man den Weißabgleich ein- und ausschalten. Was mich noch interessiert, kann man die auf der Kamera gespeicherten Bilder runterladen? Kann man mit der Kamera alleine Fotos auf den internen Speicher machen, nur mit 3,6V durch Drücken des Knopfes?
>Habe es gerade versucht: mit einem 12er Gabelschlüssel das >Kameragehäuse festhalten und mit einer Gripzange die geriffelte Linse >drehen, klack macht es, und der Sicherungslack ist gelöst. Evtl. geht >es durch leichtes Anwärmen (Lampe, Fön, Lötkolben in sicherer Einfacher geht es indem man zuerst das ganze Linsengehäuse vom CMOS Chip abhebelt Dann kann man die gaze Optik in zwei Zangen nehmen und drehen. Danach einfach wieder mit 4 kleinen Tropfen kleber in den Ecken auf den CMOS Chip aufkleben. >Linse herausdreht, desto näher rückt der Schärfebereich zur Kamera. >So kann man super Makroaufnahmen machen (auch ohne die quadratische Der Buchstabe ist ja nicht schlecht :) Hätte ich der Cam gar nicht zugetraut :) >Was mich noch interessiert, kann man die auf der Kamera gespeicherten >Bilder runterladen? Prinzipiell ja, dafür müsste man das Protokoll zum runterladen zwischen cam und handy mitschneiden. Wird sehr ähnlich zum jpg runterladen sein. >Kann man mit der Kamera alleine Fotos auf den internen Speicher >machen, nur mit 3,6V durch Drücken des Knopfes? Nein glaube nicht. Das Bildermachen wird vom Handy gesteuert. Du müsstest zumindest zb nen mega8 dranhängen der das übernimmt... BYe, Simon
Hallo, ich war nun auch einmal so frei und habe eine Cam erworben, zwar jenseits der 1Euro, aber na gut, der gentleman genießt und schweigt ;) Ich habe sie auch schon entjungfert ;) ("pur" an einem Max zum Pc betrieben und ihr nett hallo gesagt) Nun wollte ich das ganze natürlich etwas "schicker" und habe die Levelshifter Schaltung von Simons Seite zusammengelötet. Funktioniert soweit, nur nich twie erwartet, denn wenn ich den reset Eingang vom 74er auf 5V lege, springt der Ausgang auf 4V, wenn ich nichts an den Eingang lege liegen 3,6V an, nur wenn ich den Eingang auf 0V lege, liegen diese auch am Ausgang an, sobald diese weggenommen werden, sind es wieder 3,6. Resultiert dieses Verhalten aus fehlerhaftem Verständnis oder einfach nur falschem Aufbau? Ich bin so oder so verwundert, das der 74er mit 3,6v betrieben wird, denn einen anderen Shifter, den ich in Betrieb habe sind mit 5V betrieben und Funktionieren, so wie ich es verstehe (in dem fall mit 74hct125)... Könnte mich bitte jemand aufklären, danke! Gert P.
Mit dem anderen Shifter war leider ein Irrtum meinerseits, dieser Shiftet, hoch, von 3,3 auf 5, dieser hier soll ja, meiner Ansicht nach "runter-shiften"? Bleibt das Problem mit der erhöhten Spannung, das mir an sich auch irgendwie logisch erscheint, nur wie kann man dieses lösen?
Schön, dass es hier weitergeht. Komme momentan leider auch nicht dazu. Da die Kommunikation zuerst mit 9600 / 19200 (je nach Typ, also aufpassen, welche Du genau hast - genaueres steht weiter oben) und dann mit 460k vonstatten geht, geht das mit normalen Schnittstellen gar nicht. Du brauchst einen USB-RS232-Adapter. Nur haben deren Pegelwandler oft die Billigversion, welche nur bis 120k einigermaßen saubere Pegel liefert. Deshalb habe ich die 3,3V-Pegel direkt am PL2303 angeschlossen, funzt tadellos. Mir schwebt ja immer noch vor, die Kamera direkt an den Lantronix XPort anzuschließen (der kann im HighSpeed-Mode 460kbd und 920kbd) und dessen integrierten "80186-PC" alles machen lasse. Dürfte aber ein größeres Projekt werden. Was mich auch noch interessieren kann, wie man den Kamera-internen Speicher nutzen kann, also zuerst Foto auf den Speicher machen und später auslesen.
Hi, kann mir mal einer auf die Sprünge helfen Ich benutze das berümte perl Script zur steuerung der Cam komme jedoch nicht weiter hab schon mehrere Seiten recherchiert nix. habe folgende ausgabe: <<IN <<AT&F. >>SEND>>AT&F< [41 54 26 46 ] >>SEND>>\r\r\nOK\r\n< [0D 0D 0A 4F 4B 0D 0A ] <<IN <<AT+IPR=?. >>SEND>>AT+IPR=?< [41 54 2B 49 50 52 3D 3F ] >>SEND>>\r\r\n+IPR: (),(1200,2400,4800,9600,19200,38400,57600,460800)\r\r\nOK\r\n< [0D 0D 0A 2B 49 50 52 3A 20 28 29 2C 28 31 32 30 30 2C 32 34 30 30 2C 34 38 30 30 2C 39 36 30 30 2C 31 39 32 30 30 2C 33 38 34 30 30 2C 35 37 36 30 30 2C 34 36 30 38 30 30 29 0D 0D 0A 4F 4B 0D 0A ] <<IN <<AT+CMUX=?. >>SEND>>AT+CMUX=?< [41 54 2B 43 4D 55 58 3D 3F ] >>SEND>>\r\r\n+CMUX: (0),(0),(1-7),(31),(10),(3),(30),(10),(1-7)\r< [0D 0D 0A 2B 43 4D 55 58 3A 20 28 30 29 2C 28 30 29 2C 28 31 2D 37 29 2C 28 33 31 29 2C 28 31 30 29 2C 28 33 29 2C 28 33 30 29 2C 28 31 30 29 2C 28 31 2D 37 29 0D ] <<IN <<AT+CMUX=0,0,7,31. >>SEND>>AT+CMUX=0,0,7,31< [41 54 2B 43 4D 55 58 3D 30 2C 30 2C 37 2C 33 31 ] >>SEND>>\r\r\nOK\r\n< [0D 0D 0A 4F 4B 0D 0A ] Ich krieg es nicht hin das die Cam weiterläuft. vermute das die initialisierung der Cam mit der 460kBaud nicht funzt. laut Anleitung sollte nach dem Befehl: >>SEND>>\r\r\n+IPR: (),(1200,2400,4800,9600,19200,38400,57600,460800)\r\r\nOK\r\n< ein <<IN <<AT+IPR=460800 kommen gibt es aber nicht bitte um hilfe.
hast du einen UBS tu serial adapter oder benutzt du die hardware schnitstelle vom PC? Es können nur einige USB zu RS232 adapter 460k baud, die hardware schnitstellen eigentlich alle gar nicht... das scheint bei dir der fall zu sein
ich benutze einen ftdi (isb2seriell) hab das auch schon herausgefunden das der die initialisierung nich mag so gehts: :-) >>SEND>>+IPR: (),(1200,2400,4800,9600,19200,38400,57600,460800)\r\n\r\nOK\r\n< leider nur bis : LEN=0 GOT PACKET: DATA<?> [03 3F 01 ](1C ) >>SEND>>s�< [F9 03 73 01 D7 F9 ] LEN=0 GOT PACKET: DATA<?> [03 3F 01 ](1C ) >>SEND>>s�< [F9 03 73 01 D7 F9 ] LEN=0 GOT PACKET: DATA<?> [03 3F 01 ](1C ) >>SEND>>s�< [F9 03 73 01 D7 F9 ] LEN=0 GOT PACKET: DATA<#?> [23 3F 01 ](C9 ) >>SEND>>#s< [F9 23 73 01 02 F9 ] hier hängt er sich auf. :-(
kann mir mal einer einen detailierten schaltplan (oder so ähnlich) geben wie die Cam mit dem PC zu verbinden ist (Spannungsversorgung, TX, RX usw.) Ich habe schon diverse Spannungen und auch schon diverse V24 bausteine verwendet auch usb2seriell bauteile leider will die cam nicht wie ich hab schon 2 cams getestet keein erfolg. bitte um hilfe.
du musst den MAX232 hinter dem FT232 ausbauen und den FT232 direkt mit der cam verbinden. Die meisten MAX232 schaffen die hohe baud nicht!
den hab ich nicht dran der hängt schon direkt an dem FT2322 wie kann ich den testen ob wirklich die 460800Baud eingestellt sind? wird denn der Befehl GOT PACKET: DATA<?> [03 3F 01 ](1C ) in 460800 Baud versendet? weil ich dann sagen kann das da schon alles stimmt gibt es eine möglichkeit in minicom 46800Baud einzustellen. Ich vermute mal das ich ein problem inder Schaltung hab denn der Stromverbrauch sinkt nach der initialisierung auf 10mA. kannst du mur mal einen schaltbild posten wie du geschafft hast die cam mit nem PC zu steuern? Danke !
ich glaube dass mit den datenleitungen oder eventuell mit dem Resetpin irgend etwas nicht in ordnung ist anfangs dachte ich das die cam kaputt wäre aber dann habe ich das problem nochmal mit einer zweiten cam gehabt bin schon seit einer woche dran aber irgendwie klapt es nicht ganz aber aufgeben will ich auch nicht hast du ein script womit es lauft mit der 16er reihe also die alte mca25 reihe?
Hi, könnte mir einer sagen wo genau ich die Revision und Typ der Kamer ablesen kann? Ich finde weder etwas mit der Aufschirft "KRY..." noch ein Made in China. Auf meiner Platine steht sowas hier: "TVA 117 3668 R1A"
Hallo, ich habe auch versucht, eine MCA25 Kamera an einen ISACTRL Webserver anzuschließen. Der hing aber immer. Ich habe dann RX von der Kamera mit einem 4,7 K Widerstand mit dem Pin 12 des Max232 verbunden und auch eine Diode mit der Kathode nach 4 V gelegt. Die 4 V sind die Spannung, die bei mir nach den 2 Dioden für die SD Karte herauskommt. TX der Kamera habe ich direkt mit dem Pin 11 des Max232 verbunden. Auf diese Weise wollte ich das Perl Testprogramm benutzen. Aber es kommt nach dem Verbinden von Enable der Kamera über einen Winderstand mit +5 V immer wieder hinterinenander die letzten 3 Zeilen dieser Ausgabe: /tmp/connect_640x480.pl 9600 <<IN <<AT&F. >>SEND>>AT&F< [41 54 26 46 ] >>SEND>>\r\r\nOK\r\n< [0D 0D 0A 4F 4B 0D 0A ] Die Antwort des Computers scheint nicht bei der Kamera anzukommen. Ich habe dann im Forum gelesen, daß die Kamera die direkte Verbindung von RX mit dem MAX 232 übersteht. Also habe ich das versucht, aber leider auch hier ohne Erfolg. :-( Kann man noch irgendwas testen, oder muss ich davon ausgehen, daß die Kamera (zumindes die RX-Leitung) defekt ist? Danke schonmal für eure Hilfe! Gunnar
moin, ich habe den webserver (mit atmega128) und die mca-25 cam zusammen wunderbar am laufen (version 1.40 von microcontroller.com). nun wollt ich für eine andere verwendung mal den ganzen netzwerkteil weglassen, und nur "SaveCamToSD" alle x minuten ausführen... leider scheitere ich beim abspecken des quellcodes immer an ein paar abhängigkeiten zu den quellcodeteilen vom webserver. kann mir jemand ein bisschen behilflich sein? freue mich schon auf eine hilfreiche antwort ;-) Max
Hallo, mir gehts wie starkeeper, ich finde die genaue Bezeichnung nicht. Auf der Platine steht TVA 177 3668 R2A. Wie bei einigen anderen vor mir hängt sich der Buss'sche Webserver auf, wenn die Kamera aktiviert wird. Ohne gehts prima... Hat jemand eine Idee? Ist das vielleicht eine ganz andere Sorte von Kamera? Gruß Steffen
Die Revision steht auf dem Gehäuse unten neben dem Stecker, nicht auf der Platine. Evtl. könnte man anhand der Date-Codes auf die Rev. schließen. @all Eine Zusammenfassung zu den möglichen Quarzfrequenzen: U2X BRR 3686400 1 0 7372800 0 0 11059200 1 2 14745600 0 1 18432000 1 4 22118400 0 2 25804800 1 6 @Gunnar Henne: kaufe Dir doch ein USB-Handy-Datenkabel mit integriertem USB-Chip (FTDI oder PLxxxx), da kommen schon die richtigen Pegel heraus.
Hallo, Zitat: ----------- @Gunnar Henne: kaufe Dir doch ein USB-Handy-Datenkabel mit integriertem USB-Chip (FTDI oder PLxxxx), da kommen schon die richtigen Pegel heraus. ------------ Ich habe das schon probiert. Mit dem USB Datenkabel konnte ich die Meldungen der Kamera sehen, sobald ich die Enable Leitung mit Vcc verbunden habe. Aber meine Antworten schienen bei der Kamera nicht anzukommen. Die Kamera hat es ein paarmal probiert und dann aufgegeben.Ich habe das Perl Testprogramm benutzt. Ich dachte es läge an einer defekten Kamera oder schlechten Lötverbindungen. Also habe ich mir noch eine Kamera beschafft, die ich nicht gelötet habe, sondern mittels des Steckers aus einer Ladeschale angebunden habe. Aber auch hier ist wieder der Effekt, daß die Kamera die OKs nicht zu verstehen scheint. Am Handy funktioniert die Kamera aber völlig normal. Zum Test des Datenkabels habe ich am Handystecker einen Verbindung zwischen Txd und Rcd hergestellt. Im Terminalprogramm habe ich dann ein Echo bekommen, das heisst, dass das Kabel wohl in Ordnung gewesen sein muss. An einer Fonera, ebenfalls mit 3,3V betrieben, funktioniert das Kabel auch wunderbar. Ich bin mit meinem Latein am Ende. Wenn jemand von den hier mitlesenden gegen Bezahlung bereit ist, meine Kamera mit meinem AVR Board zu verbinden, dann bitte melden: G.Henne@combio.de Viele Grüße Gunnar
Hallo Gunnar Vielleicht könnte es hier dran liegen: VON der MCA-25 gibt es 2 Versionen KRY 105 016 -> alte Version KRY 105 017 -> neue Version Bei der neuen Version wird nach dem 1. AT&F auf 19200 Baud umgeschaltet. (Siehe auch diesen Thread hier weiter oben) Die Versionsnummer steht unten neben dem Stecker auf dem Gehäuse. Gruß, Volker
Hallo Leute, der Thread ist zwar schon alt aber vlt kann mir trotzdem jemand helfen :) ich hab mir eine mca-25 für eine wetterstation welche ich gerade bauaegekauft. Ich benutze einen ATMega 644PA mit einem 14,7456 MHz Baudraten Quarz. Am uart0 des ATMega's ist die Cam angeschlossen und am uart1 momentan ein TTL -> RS232 -> USB Wandler (später kommt hier ein altes siemens handy dran umd die gesammelten Daten sowie das Bild über das Internet zu meinem Server zu schicken). Meine Hardware läuft soweit (serielle verbindung zum laptop mit 128000 Baud, diverse Sensoren auslesen etc.) aber ich habe noch Probleme mit der Kamera. Ich habe die Files mca25.c und mca25.h (http://avr.auctionant.de/avr-ip-webcam/index.html) in meinen Code integriert und noch ein par debugausgaben für den uart1 eingebaut um zu sehen was die Cam macht. Leider funktioniert nicht einmal die initialisierung der Cam :( Also sie sendet ganz normal "AT&F" mit 9600 Baud. Nach meinem OK kommt "AT+IPR=?" und nachdem ich "+IPR: (),(1200,2400,4800,9600,19200,38400,57600,460800)\r\n\r\nOK\r\n" sende kommt "AT+IPR=460800". Soweit so gut... Jetzt wird es jedoch seltam: Egal wie mein OK darauf aussieht ("\r\nOK\r\n") oder jegliche Variationen mit den den "\r" verhält sie sich sehr eigenartig. Normalerweise sollte sie dann auf 460800 Baud umschalten, tut sie jedoch nicht!! Sie sendent erneut mit 9600 Baud ein "AT+IPR=?" !! Egal wie, ich hab es nicht geschaff, dass die Cam mit 460800 Baud sendet oder überhaupt bis zur initialisierung des Mux channels komme. :( Wäre echt spitze wenn mir jemand von euch weiterhelfen könnt. Liebe Grüße, Matthias
Hallo Matthias, wie gehts mit der MCA-25 voran ? Ich hab über die Feiertage ausführlich und erfolgreich meine MCA-30 debugged und am ATM644P auf einer ETH_EX_M32-Platine zum funktionieren gebracht. Ich hatte dasselbe Problem wie Du. Wenn Du noch Hilfe brauchst melde Dich - Ich bin im Moment noch voll drin in den CAM-Details. Wer weiss ob ich in 2 Monaten noch weiss wie es geht ! Viele GRüße HWe
Eumel schrieb: > Ihr elenden Leichenschänder. Totgesagte leben länger ;-) bleibt leider die einzige Möglichkeit - oder kennst Du aktuelle, günstige CAMs mit seriellem Anschluß die für <5EUR zu haben sind ? Falls ja, raus mit den Infos - wo, wieviel, wie gehts (Protokoll/Doku) !
> Also sie sendet ganz normal "AT&F" mit 9600 Baud. Übrigens sendet die MCA-30 MCA30 das "AT&F" am Anfang mit verschiedenen Baudraten, daher kommen cryptische Zeichen beim Empfang mit 9600. Simon hatte geschrieben, er konnte sich nicht erklären, woher diese kommen. > Jetzt wird es jedoch seltsam: > Egal wie mein OK darauf aussieht ("\r\nOK\r\n") oder jegliche > Variationen mit den den "\r" verhält sie sich sehr eigenartig. > Normalerweise sollte sie dann auf 460800 Baud umschalten, tut > sie jedoch nicht!! > Sie sendent erneut mit 9600 Baud ein "AT+IPR=?" !! Du musst aufpassen, dass Du nicht schon während des Sendens des OK auf die 460800 umschaltest. Erst warten, bis der Sendepuffer leer ist.
Besserwisser schrieb: > Du musst aufpassen, dass Du nicht schon während des Sendens des OK auf > die 460800 umschaltest. Erst warten, bis der Sendepuffer leer ist. Das kann man so lösen:
1 | void mca30_set_460800baud(){ |
2 | while (!(CAM_USR & (1<<CAM_UDRE))){} //wait for TX register empty |
3 | while (!(CAM_USR & (1<<CAM_RXC))){} //wait for RX register empty |
4 | char dummy = UDR1; // this reads out the RX register value - required to continue |
5 | |
6 | #if (F_CPU == 14745600) || (F_CPU == 22118400) |
7 | CAM_UBRR=(F_CPU / (460800UL * 16) - 1); |
8 | #elif (F_CPU == 11059200) |
9 | CAM_USR =(1<<U2X0); |
10 | CAM_UBRR=(F_CPU / (460800UL * 8) - 1); |
11 | #else |
12 | #error Baudratenquartz erforderlich für 460800 Baud (11,0592, 14,7456 oder 22,1184 MHz)! |
13 | #endif |
14 | |
15 | } |
Und dann mit "AT+CMUX=0,0,7,31" weitermachen - also von case:2 in case:4 springen - so hats bei mir funktioniert. Ist zwar nicht wie erwartet, aber tut erst Mal.
Hat vielleicht noch jemand eine Idee, woran es liegen kann, dass meine MCA-30 Bilder so sehr falschfarbig sind ? (siehe Bild) Sogar die Funlayer (Herzchen am Bildrand) sind nicht sehr schön anzusehen obwohl diese ja nichts mit dem CMOS Sensor zu tun haben ! Könnten also Bitfehler sein, entweder von CAM-->uC oder von uC-->SD-Card. Hat jemand so etwas schonmal gesehn und Tipps oder eine Lösung parat ? Würd mich freuen - auch wenn das MCA-25/30 CAM Projekt bereits viele Male diskutiert wurde und eigentlich schon zum alten Eisen gehört.
Ja, das hatte ich auch mal, es passiert, wenn einzelne Bytes verschluckt oder verändert werden.
eProfi schrieb: > Ja, das hatte ich auch mal, es passiert, wenn einzelne Bytes verschluckt > oder verändert werden. Weisst Du denn noch woran es gelegen hat und wie Du das Problem behoben hast ? Ich hab schon die Puffer-Caps der Supply verbessert - hat aber nix gebracht ? Liegts evtl. an der zu schnellen SD-Card ? Passiert übrigens bei beiden CAMs (MCA-30 und MCA-25).
So weit ich mich erinnere, lag es am Protokoll, mit dem die Jpg-Daten übertragen werden. Falls ich die alten Files finde, schaue ich nochmal nach.
Habs Problem gelöst bekommen ! Endlich vollständige Bilder! Also, Problem war, dass die 506Byte von der CAM korrekt an den uC geschickt wurden. Aber das Auslesen des Buffers und das Schreiben auf SD-Card hat vom Timing nicht gepasst - es sieht so aus, als ob das Schreiben an die SD-Card noch nicht beendet ist obwohl die CAM schonwieder sendet ! Dabei wurden Bytes "verschluckt". Ein Delay von 50ms hilft nach dem Auslesen des Buffers bevor das "ACK" an die CAM gesendet wird ! Also bitte keine Bemühungen - Problem behoben !
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.