Leider klappt es nicht.Bin leider noch ein Anfänger was die Arduino Sprache betrifft.
Hoffe jemand kann mir Helfen.
bekomme folgenden Fehler wenn ich Compile:
MACTEPTELNET.cpp: In function 'void parseCommand()':
MACTEPTELNET:195: error: expected primary-expression before 'int'
MACTEPTELNET:195: error: expected `)' before 'int'
MACTEPTELNET:198: error: expected `)' before 'else'
Benutze folgenden Code den ich im I-Net gefunden habe:
#include <SPI.h>
#include <Ethernet.h>
#include <LiquidCrystal.h>
#include <Wire.h>
//RGB LCD PIN BELEGUNG:
#define REDLITE 9
#define GREENLITE 8
//#define BLUELITE 10
#define MAX_CMD_LENGTH 25
LiquidCrystal lcd(2, 3, 4, 5, 6, 7);
int brightness = 250;
byte mac[] = {
0x00, 0xAA, 0xBB, 0xCC, 0xDE, 0x02 };
IPAddress ip(192,168,0, 177);
IPAddress gateway(192,168,0, 1);
IPAddress subnet(255, 255, 0, 0);
// telnet defaults to port 23
EthernetServer server(23);
EthernetClient client;
boolean connected = false;
String cmd;
int incomingByte;
void setup()
{
lcd.begin(16, 2);
setBacklight(250,0,0);
lcd.clear();
lcd.print("Setup Server...");
delay (1000);
lcd.clear();
Ethernet.begin(mac, ip, gateway, subnet);
server.begin();
//pinMode(2, OUTPUT);
//pinMode(7, INPUT_PULLUP);
Serial.begin(9600);
// this check is only needed on the Leonardo:
// start the Ethernet connection:
Serial.println("Trying to get an IP address using DHCP");
lcd.clear();
lcd.print("Setup DHCP..");
delay (1000);
lcd.clear();
if (Ethernet.begin(mac) == 0) {
Serial.println("Failed to configure Ethernet using DHCP");
lcd.clear();
lcd.print("Setup DHCP..Faild!");
setBacklight(250,0,0);
delay (1000);
lcd.clear();
// initialize the ethernet device not using DHCP:
Ethernet.begin(mac, ip, gateway, subnet);
}
//lcd.clear();
lcd.print("Setup DHCP..OK");
setBacklight(0,250,0);
delay (1000);
lcd.clear();
//delay (1000);
//lcd.clear();
// print your local IP address:
Serial.print("My IP address: ");
ip = Ethernet.localIP();
for (byte thisByte = 0; thisByte < 4; thisByte++) {
// print the value of each byte of the IP address:
Serial.print(ip[thisByte], DEC);
Serial.print(".");
lcd.clear();
lcd.print("Ip Adress :");
lcd.setCursor(0,1); //<----- ZEILE 2 Waechel
lcd.print(ip);
delay (1000);
lcd.setCursor(0,0); //<----- ZEILE 1 Waechel
}
Serial.println();
//delay (2500);
lcd.clear();
lcd.print(" Server Online");
// start listening for clients
setBacklight(0,250,0);
}
void loop()
{
client = server.available();
if (client == true) {
if (!connected) {
client.flush();
connected = true;
server.println("Welcome !");
lcd.clear();
lcd.print(" User Connected ");
// display each character to the LCD
}
if (client.available() > 0) {
readTelnetCommand(client.read());
}
}
delay(10);
while (Serial.available() > 0) {
// display each character to the LCD
}
}
void readTelnetCommand(char c) {
if(cmd.length() == MAX_CMD_LENGTH) {
cmd = "";
}
cmd += c;
if(c == '\n') {
if(cmd.length() > 2) {
// remove \r and \n from the string
cmd = cmd.substring(0,cmd.length() - 2);
parseCommand();
}
}
}
void parseCommand() {
if(cmd.equals("quit")) {
lcd.clear();
setBacklight(250,0,0);
lcd.print("User Disconnect.");
delay (100);
client.stop();
connected = false;
} else if(cmd.equals("help")) {
server.println("--- Telnet Server Help ---");
server.println("red : switch LCD to Red Color");
server.println("green : switch LCD to Green Color");
server.println("quit : close the Connection");
} else if(cmd.equals("green")) {
setBacklight(0,250,0);
} else if(cmd.equals("red")) {
setBacklight(250,0,0);
} else if ((int pos = cmd.indexOf("sendlcd=")) >= 0) {
lcd.print(cmd.substring(pos+8)); /////----HIER HABE ICH DAS EINGETRAGEN
} else if(cmd.equals("reboot")) {
server.println("Sending Reboot Signal....");
Serial.println("CALL:Reboot");
server.println("Reboot Signal Sended !");
lcd.clear();
setBacklight(250,0,0);
lcd.print("Reboot...");
delay (100);
//lcd.clear();
} else {
server.println("Invalid command, type help");
}
cmd = "";
}
void setBacklight(uint8_t r, uint8_t g, uint8_t b) {
// normalize the red LED - its brighter than the rest!
r = map(r, 0, 255, 0, 100);
g = map(g, 0, 255, 0, 150);
r = map(r, 0, 255, 0, brightness);
g = map(g, 0, 255, 0, brightness);
b = map(b, 0, 255, 0, brightness);
// common anode so invert!
r = map(r, 0, 255, 255, 0);
g = map(g, 0, 255, 255, 0);
b = map(b, 0, 255, 255, 0);
//Serial.print("R = "); Serial.println(r, DEC);
//Serial.print("G = "); Serial.println(g, DEC);
//Serial.print("B = "); Serial.println(b, DEC);
analogWrite(REDLITE, r);
analogWrite(GREENLITE, g);
//analogWrite(BLUELITE, b);
}
Bin wie gesagt noch ein Anfänger,also bitte nicht zu streng sein
Hoffe jemand kann mir Helfen mit dem Senden von Nachrichten an mein LCD.
Kann man eigentlich auch ein Passwort Schutz einbauen, damit nicht jede X beibiege Person auf den Server Connecten kann ?
Vielen Dank für eure Zeit fürs Lesen.Freue mich auf Antworten.
Lg Michael.