Wiznet W750Sr Mqtt , IFTT to Voice control your fish tank from anywhere in the world

Dependencies:   MQTT WIZnetInterface mbed-src

Files at this revision

API Documentation at this revision

Comitter:
Fady
Date:
Sun Jul 29 00:41:10 2018 +0000
Commit message:
V1

Changed in this revision

MQTT.lib Show annotated file Show diff for this revision Revisions of this file
WIZnetInterface.lib Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
mbed-src.lib Show annotated file Show diff for this revision Revisions of this file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/MQTT.lib	Sun Jul 29 00:41:10 2018 +0000
@@ -0,0 +1,1 @@
+http://os.mbed.com/users/Albinarackal/code/MQTT/#f409e1191fa1
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/WIZnetInterface.lib	Sun Jul 29 00:41:10 2018 +0000
@@ -0,0 +1,1 @@
+http://os.mbed.com/teams/WIZnet/code/WIZnetInterface/#c91884bd2713
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Sun Jul 29 00:41:10 2018 +0000
@@ -0,0 +1,105 @@
+#include "mbed.h"
+#include "MQTTEthernet.h"
+#include "MQTTClient.h"
+#include <sstream>
+#include <string>
+
+Serial s(PA_13,PA_14); // Communication with the Arduino Board
+
+Serial out(USBTX,USBRX);  // Debuging through USB
+
+void messageArrived(MQTT::MessageData& md)
+{
+    MQTT::Message &message = md.message;
+    out.printf("Message arrived: qos %d, retained %d, dup %d, packetid %d\n", message.qos, message.retained, message.dup, message.id);
+    out.printf("Payload %.*s\n", message.payloadlen, (char*)message.payload);
+    s.printf("%.*s\n", message.payloadlen, (char*)message.payload);//To send serial data to arduino
+    int    i = atoi((char*)message.payload);
+    switch(i) {
+        case 0:   //start servo to feed the fish
+            out.printf("Feeding");
+            s.printf("Feed");
+            break;
+        case 1:    //turn lights on
+            out.printf("Lights on");
+            s.printf("ON");
+
+            break;
+        case 2:    //turn lights off
+            out.printf("Lights off");
+            s.printf("OFF");
+
+            break;
+        case 3:    //turn Dancing led strip on
+            out.printf("Led Flashing");
+            s.printf("Dance");
+
+            break;
+        case 4:    //turn Dancing led strip off
+            out.printf("Led Not Flashing");
+            s.printf("NoDance");
+
+            break;
+
+    }
+}
+
+void baud(int baudrate)
+{
+
+    s.baud(baudrate);
+}
+
+
+
+
+int main(void)
+{
+
+    char* topic1 = "******/feeds/welcome-feed";
+    // char* topic2 = "******/feeds/lights";        //******  type your username on IFTT instead of the stars 
+    //char* topic3 = "******/feeds/dance";
+
+    printf("starting...\n");
+
+
+    MQTTEthernet ipstack = MQTTEthernet();
+
+    MQTT::Client<MQTTEthernet, Countdown> client = MQTT::Client<MQTTEthernet, Countdown>(ipstack);
+
+    char* hostname = "io.adafruit.com";//your MQTT broker host
+    int port = 1883; // broker port number
+
+    int rc = ipstack.connect(hostname, port);
+
+    out.printf("rc from TCP connect is %d\n", rc);
+
+    if (rc != 0)
+        out.printf("rc from TCP connect is %d\n", rc);
+
+    char MQTTClientID[30];
+    MQTTPacket_connectData data = MQTTPacket_connectData_initializer;
+    data.MQTTVersion = 3;
+    sprintf(MQTTClientID,"WIZwiki-%d",rand()%1000);
+
+    data.clientID.cstring = MQTTClientID;
+    data.username.cstring = "*******";   //******  type your username on IFTT instead of the stars
+    data.password.cstring = "************************";   //******  type your Password on IFTT instead of the stars
+    if ((rc = client.connect(data)) != 0)
+        printf("rc from MQTT connect is %d\n", rc);
+
+
+    if ((rc = client.subscribe(topic1, MQTT::QOS0, messageArrived)) != 0) {
+        out.printf("rc from MQTT subscribe is %d\n", rc);
+
+
+    }
+
+    while (true) {
+
+
+
+        client.yield(6);
+
+    }
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed-src.lib	Sun Jul 29 00:41:10 2018 +0000
@@ -0,0 +1,1 @@
+http://os.mbed.com/users/mbed_official/code/mbed-src/#a11c0372f0ba