Forum: Mikrocontroller und Digitale Elektronik Funktionsgeneratir mit USB Schnittstelle per microcontroller programmieren


von Claus H. (dabreaka)


Lesenswert?

Hallo zusammen,

ich habe einen Funktionsgenerator Agilent 33210A mit GPIB/LAN/USB 
Schnittstelle. Der Generator hat eine PC Software dabei, über die ich 
dann SCPI Befehle schicken kann und damit den Generator steuern kann.
Jetzt möchte ich das ganze aber per microcontroller z.B. Arduino Uno 
machen - habt ihr eine Idee, wie das funktionieren könnte? Ich habe 
schon das USB Shield für den Arduino entdeckt - kann ich über dieses 
Shield dann den Generatir per USB verbinden und dann über die serielle 
Schnittstelle schon direkt SCPI Kommandos im ASCII Format schicken?

Besten Dank schon im Voraus für Eure Einschätzungen/Ideen/Lösungen
dabreaka

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Claus H. schrieb:
> das USB Shield
Welches?
Eines, das USB Host ist?

Und wenn du so eines hast,dann brauchst du einen Treiber für die 
richtige Geräteklasse...

: Bearbeitet durch Moderator
von Frickelfritze (Gast)


Lesenswert?

Claus H. schrieb:
> kann ich über dieses
> Shield dann den Generatir per USB verbinden und dann über die serielle
> Schnittstelle schon direkt SCPI Kommandos im ASCII Format schicken?

Ja, und ganz im Ernst, das ist die übliche Vorgehensweise.

Dem SCPI-Parser im Zielgerät ist es im Allgemeinen vollkomen
wurscht woher er die Befehle bekommt. Das geht sogar soweit
dass mehrere Teilnehmer über verschiedene Schnittstellen
(oder über mehrere TCP-Verbindungen) quasi gleichzeitig
kommandieren können/dürfen.

von Georg aus Wien (Gast)


Lesenswert?

Da hast du dir gerade das komplizierteste ausgesucht.

Da das Arduino USB Host Shield laut Dokumentation die 
USBTMC-Geräteklasse nicht unterstützt, wird das aller Voraussicht nach 
nicht ohne Weiteres funktionieren.

Soweit ich weiß, kannst du auch über LAN SCPI-Kommandos absetzen. Das 
dürfte einfacher sein.

Außerdem gibts es auch GPIB-Implementationen für Arduino.

von Frickelfritze (Gast)


Lesenswert?

Lothar M. schrieb:
> Eines, das USB Host ist?

Ja das mit dem Host habe ich gedanklich unterschlagen ....

von Jim M. (turboj)


Lesenswert?

Lothar M. schrieb:
>> das USB Shield
> Welches?
> Eines, das USB Host ist?

Es gibt tatsächlich USB Host Shields für Arduino.

Dann müsstest Du aber den USB Treiber für den USB Chip im Agilent Gerät 
auf dem Arduino nachbauen, was nicht ganz trivial sein dürfte. Eine 
"Serielle Schnittstelle" gibt es bei USB nur in Software.

von Claus H. (dabreaka)


Lesenswert?

Hallo zusammen,

hatte das Shield bei reichelt gesehen

http://www.reichelt.de/ARDUINO-SHD-USB/3/index.html?&ACTION=3&LA=446&ARTICLE=162314&artnr=ARDUINO+SHD+USB&SEARCH=arduino+usb+shield

Aber soweit verstehe ich das schon mal aus Euren Antworten, dass ich da 
einen Treiber nachbauen müsste auf dem Arduino - kann ich nicht.

Wäre es per LAN einfacher? D.h. soll ich über ein LAN Shield nachdenken 
und dann Kommnandos per LAN versuchen abzusetzen?

GRüße
dabreaka

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Claus H. schrieb:
> Wäre es per LAN einfacher?

Definitiv.

von Frickelfritze (Gast)


Lesenswert?

Claus H. schrieb:
> Aber soweit verstehe ich das schon mal aus Euren Antworten, dass ich da
> einen Treiber nachbauen müsste auf dem Arduino - kann ich nicht.

Da wäre die Gretchenfrage ob für USB man extra ein Protokoll
vorgesehen hat das - abweichend von LAN (TCP) oder GPIB - nicht
auf ASCII (SCPI) aufbaut. Ich weiss es nicht aber kann mir das
schwer vorstellen .....

Die Antwort wäre einfach zu bekommen: man sendet über die USB-
Schnittstelle eines PC und mit Hilfe eines Terminal-Programms
einen einfachen SCPI-Befehl der eine Antwort des Geräts erfordert.

von Joachim B. (jar)


Lesenswert?

Rufus Τ. F. schrieb:
> Claus H. schrieb:
>> Wäre es per LAN einfacher?
>
> Definitiv.

nicht für jeden!

ich glaube ich täte mich leichter mit GPIB

Georg aus Wien schrieb:
> Außerdem gibts es auch GPIB-Implementationen für Arduino

schliesslich hatte ich GPIB schon auf dem PC1500 und apple2 nachgebaut

aber für andere dürfte LAN wirklich einfacher sein.

von Claus H. (dabreaka)


Lesenswert?

Hallo Frickelfritze,

das kann ich gern ausprobieren - aber wenn ich z.B. putty verwende als 
Terminalprogramm, dann muss ich doch eine COM Schnittstelle wählen zum 
senden - krieg ich über USB denn einen COM Port zugewiesen?

Ich versuchs auf jeden Fall und berichte.

Viele Grüße
dabreaka

von Claus H. (dabreaka)


Lesenswert?

Also ich finde keinen Weg, wie ich mit einem Terminalprogramm den mit 
USB angeschlossenen Generator anspreche. Klar, mit der Agilent IO 
Library Suite, die dabei war und installiert ist, kann ich SCPI 
Kommandos schicken.
Aber ich möchte halt über einen microcontroller mit dem Generator reden.

Habt ihr noch Ideen?

Grüße
dabreaka

von Claus H. (dabreaka)


Lesenswert?

Hallo zusammen,
jetzt war ich zunächst auf der GPIB Schiene unterwegs und hab folgendes 
Projekt gefunden
http://egirland.blogspot.de/2014/02/arduino-uno-as-usb-to-gpib-adapter.html
Allerdings fehlt mir ein GPIB Kabel zum basteln und die Dinger kosten ja 
gleich mal jenseits der 100€.

Dann hab ich mir die LAN Schnittstelle angeschaut und gefunden, dass man 
hier ganz einfach mit telnet auf dem PORT 5025 das Instrument connecten 
kann. Und siehe da: ich kann frisch fröhlich SCPI Kommandos absetzen und 
der Generator spricht mit mir.

Jetzt finde ich nur keinen Arduino mit LAN Schnittstelle, meine aber, so 
einen schon mal bei pollin gesehen zu haben. Wisst Ihr was dazu?

Vielen Dank schon mal und Grüße
dabreaka

von Joachim B. (jar)


Lesenswert?

Claus H. schrieb:
> Allerdings fehlt mir ein GPIB Kabel zum basteln und die Dinger kosten ja
> gleich mal jenseits der 100€.

es gibt diese Stecker billig für 24-pol Flachkabel

Lötkelch
https://www.kab24.de/computer/sub-d-centronics-stecker-24-polig-d-sub.html

oder Schneidklemm

http://beta.b2b-trader.de/pline.b2b-trader.de/images/pPool-5556070001-655607A006/text/F132500.htm

Claus H. schrieb:
> Jetzt finde ich nur keinen Arduino mit LAN Schnittstelle, meine aber, so
> einen schon mal bei pollin gesehen zu haben

Pollin NETIO Bausatz

kann auf atmega1284p aufgerüstet werden, ohne 7805 mit Recom R785 1A für 
die 5V und etwas Umbau für den LM317 mit Recom R78333 für den 3,3V 
Regler, spart die Kühlkörper.

OK ist kein Arduino, aber geht auch.

von Claus H. (dabreaka)


Lesenswert?

Hallo Joachim,

vielen Dank für die super links! Auf die Idee, nur den Stecker zu 
nehmen, bin ich nicht gekommen.
Den NETIO Bausatz schau ich mir gleich mal an. In welcher 
Programmierumgebung kann ich da dann arbeiten? Beim Arduino gehts halt 
so bequem.

Besten Dank nochmal und viele Grüße
dabreaka

von Harry L. (mysth)


Lesenswert?

Arduino/8bit AVR & Ethernet ist doch eine einzige Qual (wegen des 
begrenzten RAM)
Für sowas würde ich eine Raspberry Pi nehmen.
Ist viel, viel einfacher!

Harry

: Bearbeitet durch User
von Joachim B. (jar)


Lesenswert?

Harry L. schrieb:
> Arduino/8bit AVR & Ethernet ist doch eine einzige Qual (wegen des
> begrenzten RAM)

nun ja für die Arduinos gibt es shields
https://www.google.de/search?q=Arduino+net+shield&ie=utf-8&oe=utf-8&client=firefox-b&gfe_rd=cr&ei=dLs1V5jWLcPj8we_w6_gAQ

und der mega2560 hat mit 256KB flash genug nur die 8KB sram sind echt 
dünne
deswegen nehme ich mieber den mighty mini 1284p mit 16KB RAM
https://www.google.de/search?q=mighty+mini+1284p&ie=utf-8&oe=utf-8&client=firefox-b&gfe_rd=cr&ei=zbs1V434Cs_j8weX6oGYBQ

http://www.ebay.de/itm/Mighty-Mini-ATMega1284p-compatible-with-Arduino-/331463717483

nur dann wird die Verdrahtung nicht einfach

> Für sowas würde ich eine Raspberry Pi nehmen.
> Ist viel, viel einfacher!

ach was, empfindliche GPIO, brechende SD Halter, wacklige Karten, 
abschmierendes OS wenn der Strom mal weg war,

alles am Pollin NETIO noch nie passiert, läuft bei mir seit 5 Jahren, 
mit einem Y-Kabel aus dem verstärkten FB Netzteil mit 12V

ich will denjenigen sehen der wirklich einen PI 5 Jahre hat durchlaufen 
lassen ohne OS Probleme.

Mein ältester PI lief 2 Jahre durch und bei einer neuen SSH Verbindung 
kam dann die Meldung open SSH Zertifikat abgelaufen, ich musste mich 
fernab von daheim erst mal auf die Suche nach Updates machen und das zu 
Hause wieder einspielen.

von Harry L. (mysth)


Lesenswert?

Joachim B. schrieb:
> ach was, empfindliche GPIO,
Braucht man nicht, wenn es darum geht via Ethernet was fernzusteuern

Joachim B. schrieb:
> brechende SD Halter, wacklige Karten,
Ist bei neueren RPis mit Micro-SD überhaupt kein Problem mehr
Und eigentlich war es das schon mit SD-Karten auch nicht, wenn man nicht 
gerade Grobmotoriker ist.

Joachim B. schrieb:
> abschmierendes OS wenn der Strom mal weg war,
Dann nimmt man ein OS, bei dem die Speicherkarte ReadOnly gemountet wird
Bsp.: OpenWRT oder man baut sich sowas selber.

Joachim B. schrieb:
> Mein ältester PI lief 2 Jahre durch und bei einer neuen SSH Verbindung
> kam dann die Meldung open SSH Zertifikat abgelaufen, ich musste mich
Wieso Zertifikate?
RSA-Keypairs heben kein Verfalldatum

Joachim B. schrieb:
> fernab von daheim erst mal auf die Suche nach Updates machen und das zu
> Hause wieder einspielen.
Regelmässige Updates sind ohnehin Pflicht

von Joachim B. (jar)


Lesenswert?

Harry L. schrieb:
> Joachim B. schrieb:
>> Mein ältester PI lief 2 Jahre durch und bei einer neuen SSH Verbindung
>> kam dann die Meldung open SSH Zertifikat abgelaufen, ich musste mich
> Wieso Zertifikate?
> RSA-Keypairs heben kein Verfalldatum

und trotzdem war es so, ich bin aber kein Netzprofi und es war nur das 
serienmäßige Raspbmc was da zickte, vielleicht ne faule Config, aber 
woher soll ich das wissen?

Ist aber bei meinem AVR nie vorgekommen.

Harry L. schrieb:
> Dann nimmt man ein OS, bei dem die Speicherkarte ReadOnly gemountet wird
> Bsp.: OpenWRT oder man baut sich sowas selber.

klar kann man alles machen, aber so wie der TO schrieb er auch?

Harry L. schrieb:
> Und eigentlich war es das schon mit SD-Karten auch nicht, wenn man nicht
> gerade Grobmotoriker ist.

nun ja bei OC und das wird am PI gerne gemacht haben die microSD die 
schlechtern Karten weil weniger Chipfläche weniger Wärme los wird und 
hochkapazitive microSD haben ja noch mal kleinere Strukturen, so ganz 
doof bin ich ja nicht und ich habe schon in warmen Sommern etliche PI 
Abstürze durch Temperatur gehabt, es konnte leider nie die echte Ursache 
gefunden werden, beim SoC weiss ich das ich unter 50°C bleiben sollte 
also OC möglichst aus.

Harry L. schrieb:
> Regelmässige Updates sind ohnehin Pflicht

ja nee is klar, so dachte ich auch mal bis ich lernte das neues update 
nicht gerade fehlerfrei heisst, es können auch einige Fehler beseitigt 
werden die nie auftreten mussten und dafür andere reinkommen die sehr 
wohl beim User in der entsprechenden Umgebung stören.

von Harry L. (mysth)


Lesenswert?

Joachim B. schrieb:
> und trotzdem war es so, ich bin aber kein Netzprofi und es war nur das
> serienmäßige Raspbmc was da zickte, vielleicht ne faule Config, aber
> woher soll ich das wissen?

Dann hast du das eben vermurkst!
Ich hab noch nie irgendwo gesehen, daß für SSH X509-Zertifikate benutzt 
werden

Joachim B. schrieb:
> und trotzdem war es so, ich bin aber kein Netzprofi und es war nur das
> serienmäßige Raspbmc was da zickte, vielleicht ne faule Config, aber
> woher soll ich das wissen?
>
> Ist aber bei meinem AVR nie vorgekommen.

Das ist kein Argument gegen den RPi, sondern dafür, daß da gepfuscht 
wurde.

Joachim B. schrieb:
> nun ja bei OC und das wird am PI gerne gemacht haben die microSD die
> schlechtern Karten weil weniger Chipfläche weniger Wärme los wird und
> hochkapazitive microSD haben ja noch mal kleinere Strukturen, so ganz
> doof bin ich ja nicht und ich habe schon in warmen Sommern etliche PI
> Abstürze durch Temperatur gehabt, es konnte leider nie die echte Ursache
> gefunden werden, beim SoC weiss ich das ich unter 50°C bleiben sollte
> also OC möglichst aus.

Das ist Quatsch!
Wenn deine Speicherkarten warm werden, hast du sowieso was verkehrt 
gemacht.
Mein ältester RPi steht auf meinem Dachboden als DNS/DHCP-Server, und da 
wird es im Sommer auch gene mal fast 50° warm.
Meist ist sowas auf schlechte/billige Speicherkarten zurück zu führen.

Joachim B. schrieb:
> ja nee is klar, so dachte ich auch mal bis ich lernte das neues update
> nicht gerade fehlerfrei heisst, es können auch einige Fehler beseitigt
> werden die nie auftreten mussten und dafür andere reinkommen die sehr
> wohl beim User in der entsprechenden Umgebung stören.

Linux ist kein Windows, und im stable-Zweig von debian und Verwandten 
ist mir in vielen Jahren nicht ein Einziges Update untergekommen, das 
mein System lahm gelegt hätte.

"Wenn" sowas passiert, dann i.d.R. weil jemand zentrale Bestandteile des 
Systems vorher verbastelt hat, und das Update nicht mehr die Situation 
vorfindet, die man bei einem korrekt aufgesetzten System erwarten würde.

von Joachim B. (jar)


Lesenswert?

Harry L. schrieb:
> Joachim B. schrieb:
>> und trotzdem war es so, ich bin aber kein Netzprofi und es war nur das
>> serienmäßige Raspbmc was da zickte, vielleicht ne faule Config, aber
>> woher soll ich das wissen?
>
> Dann hast du das eben vermurkst!

du musst ne Leseschwäche haben was ist an raspbmc orginal download nicht 
zu verstehen?

Harry L. schrieb:
> Wenn deine Speicherkarten warm werden, hast du sowieso was verkehrt
> gemacht.

du schreibst komische Sachen, wenn ich nicht weiss woran es liegt, ich 
kann nur spekulieren wenn microSD mit SD Adapter eben schneller im Pi B 
abschmierten als SD und beide von Samsung waren, ich muss davon ausgehen 
das die microSD die Wärme schlechter loswerden weil sie nicht überstehen 
und so weniger Abstrahlfläche haben, OS und Config identisch.

Harry L. schrieb:
> Meist ist sowas auf schlechte/billige Speicherkarten zurück zu führen.

meist ist nicht immer, ich hatte verschiedene (mit Absicht keine oft 
gefälschten SanDisk)und am stabilsten liefen bei mir Samsung 8GB SD am 
PI B

Die neuen microSD sind nun doch SanDisk am Pi2.

Es bleibt doch beim PI mehr Unsicherheit jedenfalls für mich als beim 
Atmel, klingt komisch ist aber so da ich nicht das ganze OS in voller 
Schönheit überblicke, es ist definitiv auch überladen und wird 
serienmäßig mit viel Murks ausgeliefert.

Der Debianprofi schmeisst erst mal alles irrelevante raus, der 
Normaluser lässt i.d.R. die Finger davon.

Harry L. schrieb:
> Linux ist kein Windows, und im stable-Zweig von debian und Verwandten
> ist mir in vielen Jahren nicht ein Einziges Update untergekommen, das
> mein System lahm gelegt hätte.

was beweisst das?

von Harry L. (mysth)


Lesenswert?

Joachim B. schrieb:
> du musst ne Leseschwäche haben was ist an raspbmc orginal download nicht
> zu verstehen?

Ich habs verstanden - du auch?
Wenn du für ssh Zertifikat, die ein Ablaufdatum haben nutzt, hast du das 
vermurkst und nicht verstanden-

Joachim B. schrieb:
> Es bleibt doch beim PI mehr Unsicherheit jedenfalls für mich als beim
> Atmel, klingt komisch ist aber so da ich nicht das ganze OS in voller
> Schönheit überblicke, es ist definitiv auch überladen und wird
> serienmäßig mit viel Murks ausgeliefe

Dafür gibts minibian, und da ist nur das Nötigste drin.
Wenn du das für "überladen" hälst, dann nur deshalb, weil du offenbar 
keine Ahnung von Linux hast, und scheinbar auch keine Lust hast, das zu 
lernen.
Dann laß die Finger davon, und bleib bei deinen geliebten 8bit-CPUs, 
aber versuch nicht Anderen zu erklären, warum der RPi deiner Meinung 
nach Murks ist.

Joachim B. schrieb:
> Der Debianprofi schmeisst erst mal alles irrelevante raus, der
> Normaluser lässt i.d.R. die Finger davon.

s.o.: minibian nutzen!
Da muß man gar nichts entschlacken.

Joachim B. schrieb:
> was beweisst das?

Das bedeutet, daß debian mit aktuellen Updates sauber funktioniert, wenn 
man das System nicht "verbastelt"
Du kannst auch nicht beweisen daß dein Atmel-Programm fehlerfrei läuft.

von Joachim B. (jar)


Lesenswert?

Harry L. schrieb:
> Das bedeutet, daß debian mit aktuellen Updates sauber funktioniert, wenn
> man das System nicht "verbastelt"

Debian ist nicht Raspbian auch wenn das gerne in einem Atemzug genannt 
wird.

> Du kannst auch nicht beweisen daß dein Atmel-Programm fehlerfrei läuft.

Du auch nicht für den PI, beim AVR bin ich halt dichter am OS und da ich 
viel selber programmiere glaube ich dem mehr und kann mehr überblicken.
Bist du PI Kernelprogrammierer oder was macht dich beim PI so sicher?

Ich bin ja bereit anzuerkennen das Debian gut ist, Linux generell, aber 
erzähle mir nix vom funktionierenden Distributionen.

Fedora firmiert unter v23 oder schon höher?
Die Netzwerkgeschichten unter Nautilus sind nur grottig.
Am PI sind sie auch nicht viel weiter auf SMB Ebene wird der freie 
Speicherplatz von Samba Laufwerken auch nie richtig angezeigt.

Aber als "Spezialist" weisst du das sicher :)

von Harry L. (mysth)


Lesenswert?

Joachim B. schrieb:
> Debian ist nicht Raspbian auch wenn das gerne in einem Atemzug genannt
> wird.

Falsch!
Raspbian basiert auf den Debian-Quellen mit RPi-spzifischen 
Erweiterungen.

Joachim B. schrieb:
> beim AVR bin ich halt dichter am OS

Ach, auf deinem AVR läuft ein OS? - interessant

Joachim B. schrieb:
> Bist du PI Kernelprogrammierer oder was macht dich beim PI so sicher?

Nö, aber ich hab schon mal Linux Kernel-Module programmiert, und kenne 
daher den Kernel recht gut.

Joachim B. schrieb:
> Die Netzwerkgeschichten unter Nautilus sind nur grottig.
> Am PI sind sie auch nicht viel weiter auf SMB Ebene wird der freie
> Speicherplatz von Samba Laufwerken auch nie richtig angezeigt.

Gähn!
Zum Einen ist Nautilus auch nur einer von vielen Dateimanagern, und zum 
Anderen ist Samba nichts RPi spezifisches. (der selbe Quellcode wie bei 
allen Distributionen)

Da vergleichst du Äpfel mit Birnen.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Kommt zur Sache, oder tauscht Eure Email-Adressen aus, um diese 
hochwichtige Diskussion woanders weiterzuführen.

von Joachim B. (jar)


Lesenswert?

Rufus Τ. F. schrieb:
> Kommt zur Sache

OK

Claus H. schrieb:
> ich habe einen Funktionsgenerator Agilent 33210A mit GPIB/LAN

Claus H. schrieb:
> Besten Dank schon im Voraus für Eure Einschätzungen/Ideen/Lösungen
> dabreaka

ich würde auf GPIB und Atmel setzen
http://www.rudiswiki.de/wiki9/GPIBtoUSB_Nano3

andere eben auf PI und LAN

von Claus H. (dabreaka)


Lesenswert?

Hallo jar,

danke für deinen Link. Kannte ich noch nicht.
Hab mit jetzt aber heute erstmal bei reichelt
http://www.reichelt.de/index.html?ACTION=3;ARTICLE=155770;SEARCH=ARDUINO%20ENET2


den Arduino mit LAN Modul bestellt, und schau, wie weit ich damit komme.
Wenn ich in eine Sackgasse laufe, dann schwenke ich wieder zurück auf 
GPIB und nutze Deine Tips.

Dank Euch allen - wenn ich weiterkomme, melde ich mich
Viele Grüße
dabreaka

von Joachim B. (jar)


Lesenswert?

Rufus Τ. F. schrieb:
> Kommt zur Sache

Harry L. schrieb:
> aber versuch nicht Anderen zu erklären, warum der RPi deiner Meinung
> nach Murks ist.

ich doch nicht, habe selbst 5 PI, aber für ernstes sicher nicht!

Harry L. schrieb:
> Das bedeutet, daß debian mit aktuellen Updates sauber funktioniert

Beitrag "Raspberry Pi bootet nach Update nicht mehr"

: Bearbeitet durch User
von Joachim B. (jar)


Lesenswert?


von Claus H. (dabreaka)


Lesenswert?

Hallo zusammen,

endlich sind das Arduino Shield und der Arduino NET2 angekommen.
Zunächst habe ich mit der Kombi Arduino Uno und Ethernet Shield 
losgelegt. Erstmal ging gar nichts, bis ich merkte, dass ich das Shield 
Version 2 habe und hierzu muss die library ethernet2 eingebunden werden. 
Ab da war es kein Problem mehr - als Vorlage habe ich das telnet example 
genommen und jetzt quatscht mein Arduino mit meinem Agilent schönes SCPI 
vor sich hin. Unten noch der Beispielcode, in dem ich an den Agilent 
Generator "FREQ" Kommandos schicke zum setzen der Frequenz.

Vielen Dank Euch allen nochmal für Eure Hilfe und beste Grüße
dabreaka
1
#include <SPI.h>
2
#include <Ethernet2.h>
3
4
// Enter a MAC address and IP address for your controller below.
5
// The IP address will be dependent on your local network:
6
7
byte mac[] = {
8
  0x90, 0xA2, 0xDA, 0x10, 0x53, 0x33
9
};
10
11
12
IPAddress ip(192, 168, 1, 100);
13
// Enter the IP address of the server you're connecting to:
14
15
IPAddress server(192, 168, 1, 101);
16
// Initialize the Ethernet client library
17
// with the IP address and port of the server
18
// that you want to connect to (port 23 is default for telnet;
19
// if you're using Processing's ChatServer, use  port 10002):
20
21
EthernetClient client;
22
23
int rndnr;
24
int retcode;
25
int potpin=0;
26
27
int val;
28
29
String cmd;
30
31
char c;
32
33
34
void setup() {
35
  // start the Ethernet connection:
36
  Ethernet.begin(mac,ip);
37
  // Open serial communications and wait for port to open:
38
  Serial.begin(9600);
39
  while (!Serial) {
40
    ; // wait for serial port to connect. Needed for Leonardo only
41
  }
42
43
  // give the Ethernet shield a second to initialize:
44
  
45
  Serial.println("connecting...");
46
  delay (1000);
47
  // if you get a connection, report back via serial:
48
49
  retcode=client.connect(server, 5024);
50
 
51
  if (retcode==1)
52
  {
53
    Serial.println("connected");
54
  }
55
  else {
56
    // if you didn't get a connection to the server:
57
    Serial.println(retcode);
58
    Serial.println("connection failed");
59
  }
60
}
61
62
void loop()
63
{
64
  // if there are incoming bytes available
65
  // from the server, read them and print them:
66
  if (client.available())
67
  {
68
    do
69
      {
70
             c = client.read();
71
             if (c!=-1)
72
               Serial.print(c);
73
74
      } while (c>=0);
75
      
76
  }
77
78
  // as long as there are bytes in the serial queue,
79
  // read them and send them out the socket if it's open:
80
81
82
val=analogRead(potpin);
83
Serial.println(val);
84
85
//rndnr=random(1,1000);
86
cmd=String("FREQ " + String(val+1) + "\r\n");
87
88
    if (client.connected() && val<1023)
89
    {
90
      
91
      client.print(cmd);
92
      delay(1000);
93
            
94
    }
95
else
96
  {
97
    Serial.println();
98
    Serial.println("disconnecting.");
99
    client.stop();
100
    // do nothing:
101
    while (true);
102
  }
103
}

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
Noch kein Account? Hier anmelden.