Bild über zwei Arduinos übertragen

Hi zusammen,

ich bin neu hier und würde gerne ein Projekt mit dem Arduino starten.
Ich möchte gerne ein Bild in jpg Format über einen Arduino einlesen und über eine selbstgebastelte Antenne versenden und auf der anderen Seite mit einem zweiten Arduino die Wellen über eine weitere Antenne empfangen, entsprechend verarbeiten und wieder als Bild ausgeben lassen.

Ist dies möglich? wie fange ich am besten an ? bzw. kann mir einer Tipps oder Tutorials dazu geben ?

Danke.

Dann hast du dir offensichtlich ein Projekt ausgesucht, welches dich etwas überfordert.
Ein Arduino wird mit der Aufgabe sicher leicht überfordert sein, zumal dieser noch einen Sender bzw. Empfänger benötigt, der auch zu deiner "selbst gebastelten" Antenne passen (Frequenz) muß.
Zeig doch mal ein Bild deiner Antenne und welchen Arduino du dir vorstellst.

Zusätzliche Frage: Wie groß?

Hmmm....
Vielleicht, bis bestimmt.

Ein Datenflussdiagramm malen.
Alle "Komponenten" und "Transformationen" klar benennen/beschreiben.

Weiß nicht, wie ich einzelne Kommentare beantworte, deswegen schreibe ich hier mal ein ganzen Kommentar.

Vom Bild her würde ich einfach ein meme aus Google nehmen oder so. Also keine besondere Größe.

Also am besten würde mir vllt ein Tutorial helfen. Ich möchte an einem arduino einen Sender basteln und anschließen und auf dem anderen einen Empfänger. Diese sollen kommunizieren können. Habe gesehen, dass es möglich ist LEDs aufblinken zu lassen. Möchte aber gerne Daten versenden bzw. Bilder übertragen, damit ich alles drinne habe. Von encodieren, versenden bis hin zu decodieren.

Und warum beantwortest du nicht alle Fragen ?

Wie willst du ein Google Bild in einen Arduino rein bekommen?

Das wären dann so ca 200 tausend Byte für ein mittelkleines Jpeg Bild.
Ein Arduino UNO hat 2 tausend Byte Speicher.

Wie also da rein?
Wie bekommt man einen Elefanten in einen Fingerhut?

Ich würde das Bild splitten. Also die ersten 800 Bytes rüberschicken, empfangen und dann in eine Datei speichern. Wenn alle bytes angekommen sind, würde ich die gesamtestes als jpg öffnen.

Ich habe deine Frage nicht beantwortet, weil ich keine Antenne habe. Ich würde mir ja am liebsten eine bauen. Habe gelesen, dass es mir wenig Bauteilen und löten geht. Die meisten Tutorials sind leider auf englisch und sie sind nicht für Laien erklärt. Deswegen würde ich gerne theoretisch gut erklärte Tutorials haben bzw. Hier einige gut erklärte Tipps erhalten.

Also, eine Antenne alleine macht weder einen Sender, noch einen Empfänger.
Vielleicht solltest Du dich auf fertige Module beschränken wie z.B. NRF24L01 Transceiver

Das Bild könnte ja von einer SD-Karte eingelesen und beim Empfänger wieder auf einer SD-Karte gespeichert werden...

:crazy_face:Mit 'nem Flash oder EEPROM :crazy_face:

Ja und nein.

Du musst mir / uns einmal verraten wie du darauf kommst ein Bild via Funk zu übertragen und das mittels Mikrocontroller und dann noch am Pin direkt Moduliert / ausgegeben.
Soll das ein Projekt für eine Schule werden oder Studium?
Oder möchtest du das Tatsächlich dauerhaft Betreiben?

Aber ich will dir dein vorhaben nicht kaputt machen.
Um Bilder via Funkwellen zu übertragen gibt es im Bereich des Amateurfunks zwei Varianten.
Das "Analoge SSTV":

Oder aber Digital-SSTV

Beim "Analogen" SSTV ist die Modulation Art eine Frequenzumtastung und das ist mit einem Mikrocontroller schon realisierbar. Eventuell gibt es bereits eine Lib dafür.

Digital SSTV Moduliert die Bildinformation in OFDM und das ist kaum zu realisieren als Laie.

Nun Redest du aber über eine JPG Format. Sind z.B EXIF Information in JPG Enthalten, werden diese nicht mit Übertragen.

SSTV Überträgt nur die Bildinformationen (Pixel).

Ja, das wird auch nix. Direkt am Pin wirst du nix reisen. Einfach weil die Frequenzen zu niedrig sind. Dann gibt der Arduino nur Rechteck aus. Das müsstest du entsprechend Filtern sonnst hast du Oberwellen wie sau. Zudem hat der Pin zu wenige Leistung.

Dann kommt noch hinzu, das du dich im Gesetztest der Bundesnetzagentur bewegst.
Du brachst eine Entsprechende Lizenz um Daten via Funk zu übertragen.
Ja, man kann eines der ISM Bänder nutzen, aber dann muss geklärt sein ob man da Daten überragen darf. Wen ja, welche Modulation usw.

Du kannst es dir Einfach machen indem du dein Bild via Licht überträgst. Indem du z.B eine LED Amplituden Modulierst. SSTV kannst du auch über Lichtwellen betragen.
Das Interessiert die Bundesnetzagentur nicht.

Ja oder zwei ESP's miteinander verbinden.

Die 100m kann man die Karte auch tragen....

Womit immer noch nicht klar ist, wie das Bild auf die Karte kommen soll, und woanders wieder runter.

Dann hörte ich was von Jpeg codieren und decodieren.
Das wird auf den kleinen Arduinos auch wohl nix.

Ich habe den Vorschlag mal unter der Prämisse gemacht, dass es dem TO einfach nur ums Experimentieren geht...

Asso, mir ist noch eingefallen die Teensy Plattform hat auch fast fertige Lösungen für so was.
Da gibt es schon BFSK Modulationen fertig als Lib. Mit dem teensy 4.1 Kann man direkt am Pin Frequenzen bis 100Mhz ausgeben.

Deshalb empfehle ich dir, auch etwas fertiges zu verwenden. Antennen selbst bauen ist nicht trivial und solltest du besser den Fachleuten überlassen.
Nimm lieber fertige Teile, die funktionieren. Damit hast du sicher weniger Probleme.

Jup. Dafür gibt es Antennenbücher. Aber selbst dann kommt es noch auf die Modulaktionsart und die Wellenform an.

Es kommt darauf an welches Ziel der TO verfolgt.
Möchte er Funkamateur werden?
Möchte er später mal Signalverarbeitung Studieren?
Oder einfach nur Programmieren lernen.
Oder aber ein Studium Projekt.

Der einfach halber würde ich eine SSTV Modulation programmieren und das auf eine LED auf modulieren und via Foto-Transistor wider einen Mikroprozessor zuführen und demodulieren.
Dann hat man keine Elektromagentischen Wellen mehr sondern Licht und kommt durch keine Wand aber man Stört erst mal keinen.
Dafür gibt es Bausätze:
https://www.aatis.de/content/bausatz/AS802_Einfacher_Licht-Sende-Empfänger

Die ELiSE würde eventuell SSTV ziemlich gut übertragen. Bei eienr FSK ist ja die Frequenz Moduliert. Also die Informationen liegen in der Frequenz, dementsprechend stören Fremdlichter nicht so.

Der TO hat aber noch nicht verraten wie er die Bilder in den Arduino bekommt, geschweige den am andern ende Darstellen will.

Die SSTV Betriebsart hätte noch den Vorteil, man muss sich über eine Demodulation Erstmal keine Gedanken machen. da gibt es jede menge Software auf'm PC.

Doch wohl eher auf die Freuqenz. :wink:

Vermute, das kann er nicht, da das Basiswissen fehlt.
Er schreibt ja noch nicht mal, welchen Arduino er priorisiert.

Also erstmal vielen Dank für die vielen Antworten. Ich verstehe echt nicht wieso man in vielen Foren so niedergemacht wird, weil man etwas austesten und probieren möchte :smiley: aber naja. Ich studiere Elektrotechnik und Kommunikationstechnik und möchte gerne mein Wissen erweitern, weil diese ganze Theorie in meinem Kopf für viel Chaos sorgt. Ich möchte diesen Chaos sortieren und deswegen etwas realisieren, womit ich sehen kann, wann welche Regeln wirken und weshalb sie wirken.

Ich habe weder eine Priorisierung von einem Arduino noch habe ich genaue Ahnung wie das geht, genau DESWEGEN möchte ich ja am besten vieles selbst bauen und so wenig wie möglich auf fertige Teile zurückgreifen.

Ich habe lediglich eine Idee gehabt und wollte Hilfe bzw. Tipps bekommen, ob diese Idee sinnvoll ist und was man an der Idee verbessern muss bzw. wie man sie realisieren könnte.

Ich habe gedacht, dass man eventuell ein Bild von einem PC encodieren kann bzw. die Bytes splitten kann und irgendwie über einen Sender(muss nicht zwingend ein Arduino sein) an einen Empfänger senden kann. Dieser soll die Daten wieder am PC abrufen bzw. darstellen können. Es muss fürs erste Projekt auch kein Bild sein, welches zu übertragen ist. Mir würde auch ein einfacher Text erstmal reichen.

Hier mit keiner "runtergemacht", wir zeigen nur Grenzen auf.
Z.B. dass du zum selbstbauen von den genutzten Komponenten, dir erst mal viel Basiswissen aneignen musst.
Dazu mein Tipp:
Baue zum Anfang erst mal einen "Atmega328 Standalone" auf. Da kannst du dir schon mal einige Grundlagen aneignen. Danach kannst du ja mit einem 433 MHz Empfänger und Sender weiter machen. Hier nachlesen ob sich das überhaupt lohnt. Und Hier weitere Infos.
Danach darfst du für dich entscheiden, weitere Baugruppen selbst zu entwickeln.
Ich halte das für sehr unrealistisch.

Und nochmal, hier macht dich keiner runter, wir zeigen dir nur, wo es lang geht. :wink:
Und mit den einfachen Komponenten kannst du zumindest Text versenden.

Ja also hier hat dich keiner nieder gemacht. Deine Fragestellung...., bzw was du von diesem Forum verlangst ist halt schon etwas Kompliziert.

Die reißt hier Themen der Digitalen Signalverarbeitung und des Antennenbaus und der "Hardcore C Programmierung" an. Du benötigst im ideal Fall wenigstens in einem der Bereiche 10 Jahre Berufserfahrung(....Übertrieben gesagt 10 Jahre). Es nützt ja nix wenn wir dir hier was Programmieren und du verstehst es am Ende nicht.

Das ist doch einmal eine Präzise Aussage. Du möchtest also dazu lernen.

Ja, na kalr geht auch. Dann ist das aber kein Arduino Projekt mehr und du lernst nix dazu.
Klar im einfachsten Fall nimmst du ein fertiges Amateurfunk Programm (MixW 3.0 z.B) und Encodierst das Bild und an der Soundkarte kommt das dann Raus. Am Soundkarten Ausgang kannst du auch eine LED hängen und am zweiten PC via Foto Transistor die Sache wider einlesen.

Du kannst das Bild auch am PC Encodieren und via Serieller Schnittstelle zum Arduino schaffen.

Wenn du aber dein Bild nicht via Licht übertragen willst sonder via Elektromagnetisch Wellen, dann ist andere Technik nötig. Du musst die Frequenzen die aus dem Arduino heraus kommt hoch mischen. Du kannst nun aber nicht einfach irgendwo hin Mischen. Du musst eines der Vorhanden ISM Bänder nutzen. ISM-Band – Wikipedia

Dann musst du Aufpassen, aus dem Arduino kommt ein Rechteck. Wenn du das auf die Antenne gibst machst du das ganze Band zu, weil Oberwellen wie Sau.

Du musst also das Rechteck via Tiefpass Filter platt machen. Dann brachst du ein Stehwellenmessgerät und Antennen Tuner. Stehwellenverhältnis – Wikipedia

Ich habe früher einmal SSTV mittels dreier Pics gemacht. Ich habe das Bild am PC encodiert und dann jedes Pixel via Seriellen Schnittelle zu den PIC's geschafft und die haben dann die Frequenzen moduliert. Aber ganz so ohne ist das nicht, Man benötigt Start und Stop Bits. eine Blocksynchronisation alles irre irgendwo.

Heute würde ich das Bild via ESP aus dem Internet hohlen und zu einem Teensy übertragen und dieser Moduliert das dann. Eventuell muss dann aber noch irwo ein Externer RAM dran.

Jo, würde ich auch machen. bevor man etwas via Arduino Funken kann muss es Programmiert werden. Ich würde mir auch ein CB Funkgerät zum Aussenden und Empfangen Kaufen. Dann kann man eingrenzen und weiß, dass die Programmierung und Modulation in Ordung ist.