Forum: Projekte & Code DIY Textnachrichten über Lichtsignale senden (VLC)


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Josef (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,
ich finde es ganz interessant, dass Elon Musks StarLink Satelliten über 
Lichtsignale kommunizieren. Da hab ich mir in meiner Freizeit auch eine 
kleine VLC Verbindung zum Senden von Textnachrichten gebaut. Hab mir 
gedacht, dass zeige ich euch jetzt mal. Das Projekt ist schon etwas 
älter in der Zwischenzeit habe ich es sogar so weit entwickelt, dass ich 
jegliche Art von Daten senden und empfangen kann.

Also hier das Projekt:
https://nerd-corner.com/de/textnachrichten-mittels-lichtsignale-senden-pi-zu-arduino/
(Für die englischsprachigen: 
https://nerd-corner.com/sending-text-messages-with-visible-light-communication/ 
)

Tatsächlich hatte ich einige Schwierigkeiten mit der Synchronisierung. 
Für den Arduino habe ich dann Timer Interrupts gewählt um eine präzise 
Taktfrequenz zu erreichen: 
https://nerd-corner.com/de/arduino-timer-interrupts-arduino-register-programmieren/ 
(Englisch: 
https://nerd-corner.com/arduino-timer-interrupts-how-to-program-arduino-registers/ 
)

Für den Raspberry Pi gibt es ja leider keine Timer Interrupts. Hier habe 
ich einen präzisen Timer in C programmiert: 
https://nerd-corner.com/de/wie-programmiert-man-einen-praezisen-timer-in-c-fuer-linux/ 
(Englisch: 
https://nerd-corner.com/how-to-program-a-highly-precise-timer-in-c-for-linux/ 
)

Letztlich hatte ich dann das Problem, dass ich ab und an falsche Daten 
bekommen habe. Daher habe ich noch eine zyklische Redundanzprüfung 
reinprogrammiert: 
https://nerd-corner.com/de/zyklische-redundanzpruefung-in-c/ (Englisch: 
https://nerd-corner.com/cyclic-redundancy-check-in-c-code/ )

Irgendwie hänge ich sehr an dem Projekt, ich habe nach jeder 
Verbesserung trotzdem das Gefühl "Da geht noch mehr!" Vielleicht schaffe 
ich es ja euch bald das Update auch vorzustellen.

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Josef schrieb:
> Da hab ich mir in meiner Freizeit auch eine kleine VLC Verbindung zum
> Senden von Textnachrichten gebaut.

Nett :-)

Josef schrieb:
> Hier habe ich einen präzisen Timer in C programmiert:

Auszug aus Deinem Code:
1
        gettimeofday(&tval_after, NULL);
2
        timersub(&tval_after, &tval_before, &tval_result);
3
        double time_elapsed = (double)tval_result.tv_sec + ((double)tval_result.tv_usec/1000000.0f);
4
        
5
        while(time_elapsed < 0.001)  //1ms; you can change your desired time interval here
6
        {
7
            gettimeofday(&tval_after, NULL);
8
            timersub(&tval_after, &tval_before, &tval_result);
9
            time_elapsed = (double)tval_result.tv_sec + ((double)tval_result.tv_usec/1000000.0f);
10
        }

Das ist doppelt gemoppelt, kann man kürzen:
1
        double time_elapsed;
2
3
        do
4
        {
5
            gettimeofday(&tval_after, NULL);
6
            timersub(&tval_after, &tval_before, &tval_result);
7
            time_elapsed = (double)tval_result.tv_sec + ((double)tval_result.tv_usec/1000000.0f);
8
        } while(time_elapsed < 0.001)  //1ms; you can change your desired time interval here

Spart den doppelten Code :-)

Noch ein Tipp:

Man muss die Zeit nicht in double rechnen, wenn man als Einheit 
Mikrosekunden statt Sekunden wählt.

: Bearbeitet durch Moderator
von Falk B. (falk)


Lesenswert?

"VLC Kommunikation"

Das ist sowas wie ein LCD Display . . .

"Die 5V Solarzelle ist sehr gut geeignet um Lichtsignale zu 
detektieren."

Wenn man nur den Sonnenuntergang erkennen will ;-)

"Als Alternative zu dem Laser und der Solarzellen Kombination kann auch 
eine LED und ein Photowiderstand genutzt werden. Allerdings eignet sich 
ein Laser besser für schnellere und präzisere Datenübertragung. Dazu 
bietet eine Solarzelle eine große Fläche um die Laserstrahlen zu 
detektieren."

Klar, Photowiderstände sollte man nehmen. Aber auf keinen Fall LEDs, 
denn die sind ja träge wie Tranfunzeln . . .

Mag ja sein, daß der Autor stolz wie Bolle ist, mit einem blinkenden 
"Laser" ein paar Bits durch die Gegend zu schubsen, aber alles in allem 
ist das ein ARG alter Hut, auch wenn man Hipsterbegriffe wie VLC 
erfindet und das Ganze mit Elon Musk garniert. Das hatten wir alles 
schon, und auch DEUTLICH besser. Auch ohne Laser, selbst mit einer 
schnöden IR-LED.

https://www.mikrocontroller.net/articles/Lichtsensor_/_Helligkeitssensor
Beitrag "Re: Infrarot LED Lichtschranke"
IRMP

von Tus (Gast)


Lesenswert?

Falk B. schrieb:

> Beitrag "Re: Infrarot LED Lichtschranke"

Das ist erstens Selbstbeweihräucherung und zweitens keine VLC.

Setzen. Sechs.

von MaWin (Gast)


Lesenswert?

Josef schrieb:
> Da hab ich mir in meiner Freizeit auch eine
> kleine VLC Verbindung zum Senden von Textnachrichten gebaut

Uff, da ist es noch ein weiter Weg bis zum Stand der Technik

https://www.researchgate.net/publication/268528763_A_5_GHz_linear_laser_diode_driver_for_ROF_transmission_systems

Du bist mit deinen Grundlagen noch lange nicht so weit wie die waren

Beitrag "Laser Datenübertragung"

aber die sind allesamt so alt, dass sie wieder verschwunden sind.

von xyz (Gast)


Lesenswert?

> selbst mit einer schnöden IR-LED

Ganz fuerchterlich frueher™ ging das sogar mit einem Gluehlaempchen.
Und sogar Sprachmodulation in AM!

Da kann so ein "Blinker" doch nicht gegenanstinken.

von Johannes S. (demofreak)


Lesenswert?

Josef schrieb:
> Vielleicht schaffe
> ich es ja euch bald das Update auch vorzustellen.

Lass Dich mal von den notorischen Dummquatschern und Besserwissern (Falk 
und Mawin) nicht aus dem Konzept bringen.

Schön, dass Du das gepostet hast. Auch wenn das vllt niemanden zum 
Nachbau anregt, aber nett anzusehen ist es allemal. Und dümmer bist Du 
dabei sicher auch nicht geworden.

/Hannes

: Bearbeitet durch User
von Falk B. (falk)


Lesenswert?

Johannes S. schrieb:
> Schön, dass Du das gepostet hast. Auch wenn das vllt niemanden zum
> Nachbau anregt, aber nett anzusehen ist es allemal. Und dümmer bist Du
> dabei sicher auch nicht geworden.
>
> /Hannes

Und jetzt bekommt ein eine schöne Urkunde für seine Teilnahme ;-)
Mann O Mann, was für eine Weichkeksgesellschaft, die jeden Müll als 
"ganz toll" deklariert. . .

von Walter T. (nicolas)


Lesenswert?

Die Vorstellung eines funktionierenden und dokumentierten Projekts 
schlägt Forengestänker um Längen. Insofern ist das schon prinzipbedingt 
in den oberen 5%.

Und auch da fällt es für mich in die Kategorie der interessanteren 
Projekte.

: Bearbeitet durch User
von Toby R. (toby_r)


Lesenswert?

Schönes Projekt und gut dokumentiert.

Nicht verunsichern lasssen, da gibt es viele potentielle Anwendungsfälle 
für. Und Signale durch die Luft zu übertragen, ganz egal, welcher 
Frequenzbereich, hat immer seine Faszination.

Bleib dran und halt uns gerne auf Stand

von Mohandes H. (Firma: مهندس) (mohandes)


Lesenswert?

Diese ewige Nörgelei verstehe ich auch nicht.

Da stellt jemand sein Projekt vor, an dem er lange und mit Herzblut 
gebastelt hat und dann kommen negative Stimmen. Auch wenn das Projekt 
jetzt keine Raketentechnik ist und einige von euch schon viel 
ambitionierte Sachen gemacht habt, laßt ihm doch seine Freude! Man muß 
sich auch nicht genötigt fühlen alles zu kommentieren.

Selbst wenn hier jemand nur eine Schaltung mit NE555 und blinkender LED 
zeigt, oder einen einfachen Empfänger mit 2 Transistoren, na und? Seid 
ihr alle Elektroniker von Kindesbeinen an?

Ich wollte hier auch schon mal ein Projekt vorstellen, habe es dann aber 
gelassen. Die Kommentare "was, noch analog" - "das macht man heute so" - 
"das gibt es fertig und billiger" usw wollte ich mir nicht geben.

von Falk B. (falk)


Lesenswert?

Mohandes H. schrieb:
> Diese ewige Nörgelei verstehe ich auch nicht.

Das ist keine Nörgelei sondern einfach Kritik. Leider sind viele 
Menschen heute kritikunfähig und fassen diese immer gleich als 
persönlichen Angriff auf.

https://de.wikipedia.org/wiki/Kritikkompetenz

Du und viele Andere sollten an ihrer passiven Kritikkompetenz arbeiten.

> Da stellt jemand sein Projekt vor, an dem er lange und mit Herzblut
> gebastelt hat und dann kommen negative Stimmen.

Wieviel Herzblut da drin steckt ist für Außenstehende wenig sichtbar und 
in 1. Linie egal. Das Ergebnis zählt, wenn gleich es natürlich nicht 
Weltspitze sein muss! Aber es sollte wenigsten irgendwie schick, clever, 
schön, interessant, nachbaufähig oder gar lehrreich sein. Ist es das?

> Auch wenn das Projekt
> jetzt keine Raketentechnik ist und einige von euch schon viel
> ambitionierte Sachen gemacht habt, laßt ihm doch seine Freude! Man muß
> sich auch nicht genötigt fühlen alles zu kommentieren.

Siehe oben.

> Selbst wenn hier jemand nur eine Schaltung mit NE555 und blinkender LED
> zeigt, oder einen einfachen Empfänger mit 2 Transistoren, na und? Seid
> ihr alle Elektroniker von Kindesbeinen an?

Was ist dann dein Kriterium für ein WIRKLICH langweiliges, ja gar 
SCHLECHTES Projekt?

> Ich wollte hier auch schon mal ein Projekt vorstellen, habe es dann aber
> gelassen. Die Kommentare "was, noch analog" - "das macht man heute so" -
> "das gibt es fertig und billiger" usw wollte ich mir nicht geben.

Siehe oben. Und wenn es zu einem Thema schon 1001 Projekte 
verschiedenster Qualität gibt, wie z.B. ein NE555 Blinker, Wordclock 
oder sonstwas, dann läßt man es halt mit der Vorstellung. Oder ignoriert 
das Fehlen von Beifall.

von lmddgtfy (Gast)


Lesenswert?

Falk B. schrieb:
> Das ist keine Nörgelei sondern einfach Kritik.

Halte dich doch mal zurück, auch wenn dir langweilig ist, anstatt deine 
schlechte Laune hier herauszulassen.
Andere aktiv schlecht zu machen stellt dich nicht besser (dar).
Durch deinen Sarkasmus wird deine "Kritik" doch sinn- und stillos.
Wenn du schon Zeit totschlagen willst, kannst du das doch sicher auch 
konstruktiv. Wie ich hiermit ;-)

von Josef (Gast)


Angehängte Dateien:

Lesenswert?

Hier das angekündigte Upgrade, damit ist es mir nun gelungen alle 
möglichen Dateien zu senden und zu empfangen:

https://nerd-corner.com/de/upgrade-datentransfer-mittels-vlc-und-lifi-pi-zu-pi-uebertragung/ 
(Deutsch)

Hier in Englisch:
https://nerd-corner.com/upgrade-data-transfer-via-vlc-and-lifi-pi-to-pi-transfer/

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.