UDP/TCP Websocket
UDP/TCP Websocket
Hallo Ihr lieben,
ist es möglich einen Websocket auf dem Nas laufen zu lassen, der einen UDP/TCP Datenstrom empfangen und auswerten kann ?
der GPS-Tracker (ist im Auto verbaut) sendet (per IP) Positionsdaten auf einen China-Server, der diese verarbeitet und anzeigt
nun sollen die Daten nicht mehr an das Portal gesendet werden,
sondern an den Nas der zuhause steht, der dann die Daten abgreift und speichert.
die Empfangsadresse (IP/Domain) kann im Tracker verändert werden.
ich habe versucht mich dort ein wenig schlau zu machen aber blicke noch nicht wirklich durch
es braucht einen Websocket Server (hier dann der NAS) und einen Clienten, der die Daten versendet (der Tracker)
der Socketserver muss aber gestartet und immer im Hintergrund lauschen
ggf. kann man das mit Tweaks/Cron und .sh Dateien bewerkstelligen.
der Tracker sollte dann die Position auf die WANIP vom Router sender, der diese weiter auf den Nas durchreicht und per Socket ausliest.
so die Theorie aber auch umsetzbar ?
leibe grüße
ist es möglich einen Websocket auf dem Nas laufen zu lassen, der einen UDP/TCP Datenstrom empfangen und auswerten kann ?
der GPS-Tracker (ist im Auto verbaut) sendet (per IP) Positionsdaten auf einen China-Server, der diese verarbeitet und anzeigt
nun sollen die Daten nicht mehr an das Portal gesendet werden,
sondern an den Nas der zuhause steht, der dann die Daten abgreift und speichert.
die Empfangsadresse (IP/Domain) kann im Tracker verändert werden.
ich habe versucht mich dort ein wenig schlau zu machen aber blicke noch nicht wirklich durch
es braucht einen Websocket Server (hier dann der NAS) und einen Clienten, der die Daten versendet (der Tracker)
der Socketserver muss aber gestartet und immer im Hintergrund lauschen
ggf. kann man das mit Tweaks/Cron und .sh Dateien bewerkstelligen.
der Tracker sollte dann die Position auf die WANIP vom Router sender, der diese weiter auf den Nas durchreicht und per Socket ausliest.
so die Theorie aber auch umsetzbar ?
leibe grüße
Re: UDP/TCP Websocket
Depending on the complexity of the data to be received, you could use websocketd in combination with a simple shell script. The binary provided on the server runs on a Armv7 NAS. Don't know about an Armv5 one.
Re: UDP/TCP Websocket
ich nehmemal an, dass der Datenstrom in etwa so aussieht.Mijzelf wrote:Depending on the complexity of the data to be received
beispiel: https://geolink.io/configure.php
werde ich mir mal anschauen.Mijzelf wrote:you could use websocketd in combination with a simple shell script.
das heisst, die 310 oder 540er können das nicht?Mijzelf wrote:The binary provided on the server runs on a Armv7 NAS. Don't know about an Armv5 one.
Re: UDP/TCP Websocket
I expressed myself wrong. The limiting factor is not the complexity of the data, but the complexity of the handling. If you only want to log the data, it's fine. If you want convert the given coordinate to another coordinate system, a shell script will not be the right choice.rich wrote:ich nehmemal an, dass der Datenstrom in etwa so aussieht.Mijzelf wrote:Depending on the complexity of the data to be received
beispiel: https://geolink.io/configure.php
Assuming you only want to log it, a shell script is fine. For instance:
Code: Select all
#!/bin/sh
exec >/path/to/storage/$( date '+%H%M%S' )
while read line
do
echo $line
done
A 540 is Armv7, so that will work. A 310 is Armv5. I just don't know if that works. It is certainly possible, but I haven't tried.das heisst, die 310 oder 540er können das nicht?Mijzelf wrote:The binary provided on the server runs on a Armv7 NAS. Don't know about an Armv5 one.
Re: UDP/TCP Websocket
es wäre ja schon mal ein erfolg, die daten überhaupt empfangen und speichern (txt/mysql) zu können,Mijzelf wrote:I expressed myself wrong. The limiting factor is not the complexity of the data, but the complexity of the handling. If you only want to log the data, it's fine.
die verarbeitung der informationen die gesendet werden ist erstmal zweitrangig.
die informationen sollen später per php ausgelsen und angezeigt werden, nichts kompliziertesMijzelf wrote:If you want convert the given coordinate to another coordinate system, a shell script will not be the right choice.
Mijzelf wrote:Assuming you only want to log it, a shell script is fine.
For instance:
Code: Select all
#!/bin/sh
exec >/path/to/storage/$( date '+%H%M%S' )
while read line
do
echo $line
done
wie wird denn erkannt, dass eine Verbundung aufgebaut wurdeMijzelf wrote:For each socket connection a new script is launched.
oder lasse ich das Script jede Minute per Cron ausführen ?
okay es wird eine Datei erstellt die als Namen die Zeit angegeben hat, wann das Skript gestartet wurde,Mijzelf wrote:This script redirects it's stdout to a file which name is the current time. Then it writes all received lines from stdin to stdout. If the client disconnects, the script ends.
in diese Datei werden Zeilen geschrieben, die an die Socketverbindung gesendet werden, gut aber hat die Datei eine Endung?
sofern das Script auf dem 540 läuft kann ich es auf dem 310 testenMijzelf wrote:The binary provided on the server runs on a Armv7 NAS. Don't know about an Armv5 one.
A 540 is Armv7, so that will work. A 310 is Armv5. I just don't know if that works. It is certainly possible, but I haven't tried.
Re: UDP/TCP Websocket
No, no. That's a function of websocketd. You start it with, for instance,rich wrote:wie wird denn erkannt, dass eine Verbundung aufgebaut wurde
oder lasse ich das Script jede Minute per Cron ausführen ?
Code: Select all
websocketd --port=8080 /path/to/myscript
In my sample script it re-redirects it's stdout to the logfile, as you don't want to talk back anyway.
websocketd will close the stdin of the running script if the client disconnects. So the script will step out it's 'while read line' loop, and terminate.hat die Datei eine Endung?
As one line easily fits in one TCP package, I don't think there will ever be broken lines. a packet arrives completely, or not at all.
Re: UDP/TCP Websocket
Hi Mijzelf
Stellt Zyxel eingentlich noch Nas Systeme her ?
ich bin der Meinung irgendwann mal gelesen zu haben, dass die keine mehr produzieren wollen.
welche der Zyxel nas (außer der 540) hat denn die ARMv7 Architektur?
ggf wäre dann ja auch eine andere Station interessant zb von Synology: DS116 / DS214 / DS214+
unter Download muss ich dann wahrscheinlich die Linux ARM Version Herunterladen,
aber was dann?
wo sollen die Dateien hin?
wie ich ein Shellscript erstelle ist mir ja schon mal geläufig,
auf der Webseite wird dies auch schon mit einem vorgeschrieben Code erklärt
okay
dann noch die frage, wie Starte ich das dann über Tweaks?
(my-program = Pfhad zu den Dateien aus der Linux ARM.zip) ?
etwas Kompliziert, aber ich versuch mich noch mal weiterhin schlau zu machen.
lg
A 540 is Armv7, so that will work. A 310 is Armv5. I just don't know if that works. It is certainly possible, but I haven't tried.[/quote]das heisst, die 310 oder 540er können das nicht?Mijzelf wrote:The binary provided on the server runs on a Armv7 NAS. Don't know about an Armv5 one.
Stellt Zyxel eingentlich noch Nas Systeme her ?
ich bin der Meinung irgendwann mal gelesen zu haben, dass die keine mehr produzieren wollen.
welche der Zyxel nas (außer der 540) hat denn die ARMv7 Architektur?
ggf wäre dann ja auch eine andere Station interessant zb von Synology: DS116 / DS214 / DS214+
ich habe mir mal dein Link angeschaut und bin noch etwas überfragt.Mijzelf wrote:you could use websocketd in combination with a simple shell script
unter Download muss ich dann wahrscheinlich die Linux ARM Version Herunterladen,
aber was dann?
wo sollen die Dateien hin?
wie ich ein Shellscript erstelle ist mir ja schon mal geläufig,
auf der Webseite wird dies auch schon mit einem vorgeschrieben Code erklärt
Code: Select all
#!/usr/bin/env xcrun swift import AppKit for index in 1...10 { print(index) fflush(__stdoutp) NSThread.sleepForTimeInterval(0.5) }
dann noch die frage, wie Starte ich das dann über Tweaks?
Code: Select all
$ websocketd --port=8080 my-program
etwas Kompliziert, aber ich versuch mich noch mal weiterhin schlau zu machen.
lg
Re: UDP/TCP Websocket
AFAIK the 542 was the latest one. The 520, 542 and 326 are still in production, but nothing new.rich wrote:Stellt Zyxel eingentlich noch Nas Systeme her ?
ich bin der Meinung irgendwann mal gelesen zu haben, dass die keine mehr produzieren wollen.
All firmware 5 devices. 540, 520, 542 and 326.welche der Zyxel nas (außer der 540) hat denn die ARMv7 Architektur?
You should extract the zip file, it contains a binary websocketd, and put that somewhere on a non-volatile place. Doesn't really matter where. /i-data/sysvol/ is fine.unter Download muss ich dann wahrscheinlich die Linux ARM Version Herunterladen,
aber was dann?
wo sollen die Dateien hin?
You can add a line to crond, on time @reboot. If you have installed RandomTools you can also put a startscript in /i-data/sysvol/.PKG/RandomTools/etc/custom_startscripts/dann noch die frage, wie Starte ich das dann über Tweaks?
No the zipfile contains websocketd. my-program is your shell script.(my-program = Pfhad zu den Dateien aus der Linux ARM.zip) ?Code: Select all
$ websocketd --port=8080 my-program
BTW, you'll have to provide the full path to websocketd.
Re: UDP/TCP Websocket
okay, für mein vorhaben (von 2 GPS-Tracker die Daten zu empfangen) sollte der 326 ja geeignet sein.Mijzelf wrote:All firmware 5 devices. 540, 520, 542 and 326.
gut, ich bestelle demnächst dann den 326 Nas.Mijzelf wrote:You should extract the zip file, it contains a binary websocketd, and put that somewhere on a non-volatile place. Doesn't really matter where. /i-data/sysvol/ is fine.
You can add a line to crond, on time @reboot. If you have installed RandomTools you can also put a startscript in /i-data/sysvol/.PKG/RandomTools/etc/custom_startscripts/
No the zipfile contains websocketd. my-program is your shell script.
BTW, you'll have to provide the full path to websocketd.
wie sieht es mit den Festplatten aus,
im 540 laufen Western Digital RED.
verträgt der 326 Nas eine SSD ?
oder reicht dort sonst auch eine ganz normale ?
liebe grüße
Re: UDP/TCP Websocket
Euhm, wouldn't you first check if you can get it to work on your 540? If it doesn't work on youe 540, it won't work on the 326 either. But if it works on the 540, it might also work on your 310.rich wrote:gut, ich bestelle demnächst dann den 326 Nas.
I would expect that. But I've no experience. My 540 accepted an SSD.verträgt der 326 Nas eine SSD ?
For only logging a few lines of data in a minute? Of course it can. But of course the disk(s) won't spin down as long as the data is streaming in. Which is not a problem for the disk. It's made for spinning, but it's not 'green'.oder reicht dort sonst auch eine ganz normale ?