Skip to content

Instantly share code, notes, and snippets.

@rakaadinugroho
Last active October 22, 2017 11:07
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save rakaadinugroho/5b7ec2e80f4341a5d8bd0aa57550a182 to your computer and use it in GitHub Desktop.
Save rakaadinugroho/5b7ec2e80f4341a5d8bd0aa57550a182 to your computer and use it in GitHub Desktop.
Code to Create Web Server with Arduino+Ethernet
#include <SPI.h>
#include <Ethernet.h>
byte mac[] = {0x90, 0xA2, 0xDA, 0x0D, 0x48, 0xD3 };
IPAddress ip(192, 168, 1, 177);
IPAddress gateway(192,168,1,177);
IPAddress subnet(255, 255, 255, 0);
/* RGB Const */
int redPin= 9;
int greenPin = 10;
int bluePin = 11;
EthernetServer server(80);
String readString;
void setup() {
pinMode(redPin, OUTPUT);
pinMode(greenPin, OUTPUT);
pinMode(bluePin, OUTPUT);
setColor(0, 0, 0);
Serial.begin(9600);
Ethernet.begin(mac, ip, gateway, subnet);
server.begin();
Serial.print("IP Board : ");
Serial.println(Ethernet.localIP());
Serial.println("Joskoding Moods");
}
void loop() {
EthernetClient client = server.available();
if (client)
{
Serial.println("new client");
while (client.connected())
{
if (client.available())
{
char c = client.read();
if (readString.length() < 100)
{
readString += c;
Serial.write(c);
if (c == '\n') {
Serial.println(readString);
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println();
client.println("<HTML>");
client.println("<HEAD>");
client.println("<TITLE>Joskoding MoodyApps</TITLE>");
client.println("<center>");
client.println("</HEAD>");
client.println("<BODY>");
client.println("<H1>MoodyApps</H1>");
client.println("</BODY>");
client.println("</HTML>");
delay(1);
client.stop();
if(readString.indexOf("?anger") >0)
{
setColor(255, 0, 0);
Serial.println("Anger Mood");
}
else if(readString.indexOf("?neutral") >0)
{
setColor(240, 240, 240);
Serial.println("Neutral Mood");
}
else if(readString.indexOf("?disgust") >0)
{
setColor(200, 240, 60);
Serial.println("D Mood");
}
else if(readString.indexOf("?happy") >0)
{
setColor(240, 60, 200);
Serial.println("H Mood");
}
else if(readString.indexOf("?contempt") >0)
{
setColor(240, 90, 5);
Serial.println("C Mood");
}
else if(readString.indexOf("?fear") >0)
{
setColor(190, 140, 115);
Serial.println("F Mood");
}
else if(readString.indexOf("?sad") >0)
{
setColor(200, 200, 200);
Serial.println("F Mood");
}
else if(readString.indexOf("?sad") >0)
{
setColor(200, 200, 200);
Serial.println("F Mood");
}
else if(readString.indexOf("?suprised") >0)
{
setColor(1, 230, 230);
Serial.println("F Mood");
}
readString="";
delay(1);
client.stop();
Serial.println("client disonnected");
}
}
}
}
}
}
void setColor(int redValue, int greenValue, int blueValue) {
analogWrite(redPin, redValue);
analogWrite(greenPin, greenValue);
analogWrite(bluePin, blueValue);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment