A smart remote using the sparkfun IR transmitter and receiver. The program also uses a web server to show the buttons on a mobile platform.

Dependencies:   EthernetInterface HTTPServer RemoteIR SDFileSystem mbed-rpc mbed-rtos mbed

Fork of SmartRemoteClean by Sarvagya Vaish

Revision:
3:a3b4d032f48f
Parent:
0:5630d7e58a0b
Child:
4:36e0aa194b45
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Mon Dec 02 20:21:10 2013 +0000
@@ -0,0 +1,73 @@
+#include "mbed.h"
+#include "EthernetNetIf.h"
+#include "HTTPServer.h"
+
+
+// Start DB
+#include <stdio.h>
+#include <stdlib.h>
+#include "SDFileSystem.h"
+#include "db.h"
+// End DB
+
+
+// Start RPC
+#include "RPCVariable.h"
+int Request;
+int Learn = 0;
+//Make these variables accessible over RPC by attaching them to an RPCVariable
+RPCVariable<int>(&Request), "Request");
+//RPCVariable RPCLearn(&Learn, "Learn");
+// End RPC
+
+
+EthernetNetIf eth;
+HTTPServer svr;
+
+DigitalOut led1(LED1);
+
+int main()
+{
+    printf("Setting up...\n");
+    EthernetErr ethErr = eth.setup();
+    if(ethErr) {
+        printf("Error %d in setup.\n", ethErr);
+        return -1;
+    }
+    printf("Setup OK\n");
+
+    svr.addHandler<SimpleHandler>("/"); //Default handler
+    svr.bind(80);
+
+
+    // DB Init
+    mkdir("/sd/SmartRemote", 0777);
+
+    char code[] = "123AB";
+    char name[] = "Button Name";
+    
+    char results_code[128];
+    char results_name[128];
+
+    db_insert_tuple(code, name);
+    FILE *fread = fopen("/sd/SmartRemote/db.txt", "r");
+    db_find_tuple(fread, 2, results_name, results_code);
+    fclose(fread);
+    //End DB init
+
+
+    printf("Listening...\n");
+
+    Timer tm;
+    tm.start();
+    //Listen indefinitely
+    while(true) {
+        Net::poll();
+        if(tm.read()>.5) {
+            led1=!led1; //Show that we are alive
+            tm.start();
+        }
+    }
+
+    return 0;
+}