Hur skicka data från Arduino?

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
FaberCastell
Inlägg: 45
Blev medlem: 30 januari 2014, 10:22:01

Hur skicka data från Arduino?

Inlägg av FaberCastell »

Har nosat en del på Arduino men ännu inte köpt någon. Lurar på ett litet projekt där jag vill kunna läsa av olika givare ombord på båten och skicka information vidare i NMEA-nätverket. Det är enkla analoga givare (tanknivåer, oljetryck, vattentemp etc) som idag triggar en lampa på instrumentpanelen eller ger utslag på en mätare. På Youtube har jag sett hur det går att styra ett hobbyservo genom att hantera spänningen i olika utgångar och på liknande sätt borde man kunna läsa spänningen från givarna och koda därefter. Det jag inte fått grepp om är hur man "skriver" ett meddelande på nätverket i "Arduino-kod"? Någon som har lust att förklara för en nybörjare? :-)

Här kan man se hur ett NMEA-meddelande är uppbyggt: http://freenmea.net/NmeaSentences
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Hur skicka data från Arduino?

Inlägg av sodjan »

NEMA är inget "nätverk". Det är en förbindelse mellan *två* enheter
med en vanlig seriell kabel. Vad är de för "nätverk" du menar?

I de flesta fall vill man ju läsa NEMA info från t.ex en GPS, och det finns
det en hel del information kring.

Att sända NEMA data är ju inte så speciellt annorlunda, det är samma
paketformat men man ska sätta ihop det istället för att "plocka isär" det
och man ska skicka det istället för att ta emot det.

Formatet är ju dokumenterat och det är vanliga seriell kommunikation så
det är inga större konstigheter.
FaberCastell
Inlägg: 45
Blev medlem: 30 januari 2014, 10:22:01

Re: Hur skicka data från Arduino?

Inlägg av FaberCastell »

Ska vi vara riktigt noga så är NMEA namnet på nätverksprotokollet som kommit att bli industristandard för kommunikation mellan instrument etc ombord på fartyg. I vardagligt tal brukar nätverk där data skickas enligt NMEA-protokollet kallas NMEA-nätverk. Det är ett sådant nätverk jag menar. Wikipedia har en artikel om NMEA: http://en.wikipedia.org/wiki/NMEA_2000

För den som aldrig satt ihop eller tagit isär ett paket så är det inte så enkelt. Jag har hittat en del om UDP och tänkte att det kanske fanns någon som labbat med att skicka data från en Arduino och kunde förklara.

http://arduino.cc/en/Reference/EthernetUDPWrite
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Hur skicka data från Arduino?

Inlägg av sodjan »

Jo, OK, det är klart att man kan sända NEMA formaterade paket
över valfrit medium, inte enbart RS232. Handlar det alltså mer om
själva nätverkshanteringen? Att sätta ihop ett NEMA pakert är
ju bara att slå ihop lite strängar (som vanligt, så att säga).
Det är ju inget annat än bara ren text.

Eller, hm... Kanske att NEMA 2000 använder något packat format
istället för den gamla NAME 0183 textsträngen... Aja, det borde ju
vara dokumenterat någonstans.

NEMA nätverk ser ut att vara byggda på CAN, så då blir
frågan mer om hur man impementerar CAN på en Arduino.

Se t.ex:
https://www.sparkfun.com/products/10039
https://code.google.com/p/canduino/

Sen får man studera hur CAN fungerar, men notera att båda lösningarna
i länkarna ovan använder samma kretsar som finns i dena Tradera auktion:
http://www.tradera.com/processorer-och- ... _208474952
så man kan bygga samma hårdvara själv om man vill. :-)
Och ja, det är mina auktioner... 8)

Att köra CAN direkt från en Arduino utan specifikt CAN stöd i processorn
eller extern CAN-hårdvara (som i länkarna ovan), tror jag inte alls på.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Hur skicka data från Arduino?

Inlägg av sodjan »

Hä har du samma fråga i ett Arduino forum:
http://forum.arduino.cc/index.php?topic=50893.0
Skriv svar