HI Jungs, ich habe mal wieder ein neues Projekt. Ich muss/will Daten die ich mit einem PIC24FJ128 lese (z.B vom ADC / 8 Kanäle - 50Hz Sample Rate) an einen Server senden. Dieser Server soll die Daten z.b als csv datei speichern. (Später kommt noch ein bisschen Datenverarbeitung auf dem Server hinzu) Für die Netzwerkanbindung wird der ENC28J60 von Microchip verwendet. Was müsste ich im uP tun und was ist Serverseitig notwendig. Nehmen wir erst einmal ein einfaches Beispiel: der server hängt lokal bei mir im LAN und hat die FESTE IP 192.168.2.xxx Jetzt stelle ich mir das so vor, das meine Hardware sich beim Server "anmeldet" und wenn ich einen Knopf an der Hardware drücke anfängt die Eingänge zu lesen und diese dann an den Server zu übertragen. Serverseitig werden die Daten gelesen und gespeichert. Das ganze muss so aufgebaut werden das ich von mehreren Units die Daten erfassen kann - also muss jede Hardware eine ID mitsenden. Evtl. soll auf dem Server hinterher ein JAVA programm laufen was die Daten auch anzeigen kann. Sehr ihr irgendwo probleme? PS: Ich habe schon einige Projekte mit PICs und AVRs gemacht, aber im Netzwerk bin ich noch ein bisschen schwach. Please HELP :) Danke Sascha
Einfacheste Variante: Der µC brüllt per UDP Broadcast zyklisch seine Messergebnisse raus, ob ihm nun jemand zuhört oder nicht. Routing-fähig ist das nicht, aber so lösen sich 95% des TCP/IP-Stacks in Luft auf, denn alles was du dazu tun musst ist einen solchen UDP Frame mit Sensor-ID und Messdatenpaket zusammenzustoppeln und dem ENC zu übergeben.
A. K. schrieb: > ob ihm nun jemand zuhört oder nicht. Hi A.K vielen Dank für deine schnelle antwort Ok. das stellt insoweit ein problem da, das ich eigentlich sicher stellen muss das wenn eine Verbindung zum Server besteht die Daten auch dort ankommen
Erstmal lade dir den TCP/IP-Stack von Microchip herunter und sieh dir die enthaltenen Beispielprojekte an. Die kannst du gut als Grundlage für dein Projekt verwenden. Und dann natürlich TCP verwenden und nicht UDP. Das mit dem Broadcast halte ich für keine gute Lösung, weil du dann keine Gewissheit hast, ob die Daten ankommen oder nicht. Da der Stack bereits fertig ist hält sich der Arbeitsaufwand damit in Grenzen und er muss sich garnicht zu 95% in Luft auflösen.
Die MCHP Application Library ist mir bekannt. Allerdings muss ich mich dort noch weiter einarbeiten, Sehe ich das richtig das ich mit TCPOpen() eine Verbindung zu meinem "Server" aufbauen kann und wenn der Server erreichbar ist mit TCPPut() meine Daten senden kann? Da ich ja dauerhaft Daten übertragen will brauche ich doch nur einmal eine Verbindung aufbauen und kann dann immer neue Daten senden(es sei denn der Buffer ist voll). Im Falle einer "störung"/TCPDiconnect müsste ich dann wieder eine neue Verbindung aufbauen. Was muss ich denn dann Serverseitig machen? Ich würde später gerne ein Java programm schreiben/verwenden welches eine Verbindung akzeptieren und die Daten in einer Datei speichern kann. Kennt ihr Software die sowas zum testen schon kann? (Alternativ erst mal anzeigen) Also ich habe x Geräte die sich alle, sobald sie eine Netzwerk verbindung haben beim Server anmelden und dann ihre Daten dauerhaft übertragen. Habt ihr noch nen paar Tips wie ich das am besten realisieren kann? PS: was macht den das Serial-to-ethernet bridge beispiel? kann man das vielleicht verwenden? Danke für die Hilfe soweit schon einmal Sascha
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.