V1

Dependencies:   simple-mbed-client

Committer:
johnlynam2014
Date:
Fri Feb 24 15:13:38 2017 +0000
Revision:
0:94dec0f696e0
Child:
1:bb3336b7e953
iug

Who changed what in which revision?

UserRevisionLine numberNew contents of line
johnlynam2014 0:94dec0f696e0 1 #include "mbed.h"
johnlynam2014 0:94dec0f696e0 2 #include "rtos.h"
johnlynam2014 0:94dec0f696e0 3 #include "config.h"
johnlynam2014 0:94dec0f696e0 4 #include "security.h"
johnlynam2014 0:94dec0f696e0 5 #include "easy-connect.h"
johnlynam2014 0:94dec0f696e0 6 #include "simple-mbed-client.h"
johnlynam2014 0:94dec0f696e0 7
johnlynam2014 0:94dec0f696e0 8 SimpleMbedClient client;
johnlynam2014 0:94dec0f696e0 9
johnlynam2014 0:94dec0f696e0 10 // Declare our peripherals here
johnlynam2014 0:94dec0f696e0 11 /*PwmOut red(LED_RED);
johnlynam2014 0:94dec0f696e0 12 PwmOut green(LED_GREEN);
johnlynam2014 0:94dec0f696e0 13 PwmOut blue(LED_BLUE);*/
johnlynam2014 0:94dec0f696e0 14 DigitalOut red(LED_RED);
johnlynam2014 0:94dec0f696e0 15 DigitalOut green(LED_GREEN);
johnlynam2014 0:94dec0f696e0 16 DigitalOut blue(LED_BLUE);
johnlynam2014 0:94dec0f696e0 17
johnlynam2014 0:94dec0f696e0 18 InterruptIn pir(SW2);
johnlynam2014 0:94dec0f696e0 19
johnlynam2014 0:94dec0f696e0 20 // We need a way to signal from an interrupt context -> main thread, use a Semaphore for it...
johnlynam2014 0:94dec0f696e0 21 Semaphore updates(0);
johnlynam2014 0:94dec0f696e0 22
johnlynam2014 0:94dec0f696e0 23 // YOUR CODE HERE
johnlynam2014 0:94dec0f696e0 24 // Fwd declaration
johnlynam2014 0:94dec0f696e0 25
johnlynam2014 0:94dec0f696e0 26 // Variable that holds whether the light is on because the PIR sensor triggered (and timeout didn't happen yet)
johnlynam2014 0:94dec0f696e0 27 bool ledOnBecauseOfPir = false;
johnlynam2014 0:94dec0f696e0 28
johnlynam2014 0:94dec0f696e0 29 // Timeout based on led/0/timeout, disables the light after a set interval
johnlynam2014 0:94dec0f696e0 30 Timeout pirTimeout;
johnlynam2014 0:94dec0f696e0 31
johnlynam2014 0:94dec0f696e0 32 // Permanent statuses (set by led/0/permanent_status)
johnlynam2014 0:94dec0f696e0 33 #define STATUS_NONE 0
johnlynam2014 0:94dec0f696e0 34 #define STATUS_ON 1
johnlynam2014 0:94dec0f696e0 35 #define STATUS_OFF 2
johnlynam2014 0:94dec0f696e0 36
johnlynam2014 0:94dec0f696e0 37
johnlynam2014 0:94dec0f696e0 38
johnlynam2014 0:94dec0f696e0 39 // Here are our resources:
johnlynam2014 0:94dec0f696e0 40
johnlynam2014 0:94dec0f696e0 41 SimpleResourceString name = client.define_resource("device/0/name", "jan", M2MBase::GET_PUT_ALLOWED, true);//User name
johnlynam2014 0:94dec0f696e0 42 SimpleResourceString sensorName = client.define_resource("device/0/sensorName", "jan", M2MBase::GET_PUT_ALLOWED, true);//Module Name
johnlynam2014 0:94dec0f696e0 43 SimpleResourceInt UltraSonicData = client.define_resource("device/0/USdata", 0, M2MBase::GET_ALLOWED);//UltraSonicData
johnlynam2014 0:94dec0f696e0 44 //SimpleResourceInt pirCount = client.define_resource("pir/0/count", 0, M2MBase::GET_ALLOWED);
johnlynam2014 0:94dec0f696e0 45
johnlynam2014 0:94dec0f696e0 46 // Registered callback for mbed Client
johnlynam2014 0:94dec0f696e0 47 DigitalOut statusLed(LED1, 1);
johnlynam2014 0:94dec0f696e0 48 void registered() {
johnlynam2014 0:94dec0f696e0 49 printf("Welcome John Lynam");
johnlynam2014 0:94dec0f696e0 50 statusLed = 0;
johnlynam2014 0:94dec0f696e0 51 }
johnlynam2014 0:94dec0f696e0 52
johnlynam2014 0:94dec0f696e0 53 int main(int, char**) {
johnlynam2014 0:94dec0f696e0 54
johnlynam2014 0:94dec0f696e0 55 sensorName = "Front Window 2";
johnlynam2014 0:94dec0f696e0 56 name = "John Lynam";
johnlynam2014 0:94dec0f696e0 57 UltraSonicData = 20;
johnlynam2014 0:94dec0f696e0 58 /*
johnlynam2014 0:94dec0f696e0 59 int i;
johnlynam2014 0:94dec0f696e0 60 for( i = 0; i < 20; i++)
johnlynam2014 0:94dec0f696e0 61 {
johnlynam2014 0:94dec0f696e0 62 wait(0.5);
johnlynam2014 0:94dec0f696e0 63 i = UltraSonicData;
johnlynam2014 0:94dec0f696e0 64 }*/
johnlynam2014 0:94dec0f696e0 65
johnlynam2014 0:94dec0f696e0 66
johnlynam2014 0:94dec0f696e0 67 red=1;
johnlynam2014 0:94dec0f696e0 68 green=1;
johnlynam2014 0:94dec0f696e0 69 blue=1;
johnlynam2014 0:94dec0f696e0 70
johnlynam2014 0:94dec0f696e0 71
johnlynam2014 0:94dec0f696e0 72 NetworkInterface* network = easy_connect(true);
johnlynam2014 0:94dec0f696e0 73 if (!network) {
johnlynam2014 0:94dec0f696e0 74 printf("Connect to internet failed... See serial output.\n");
johnlynam2014 0:94dec0f696e0 75 return 1;
johnlynam2014 0:94dec0f696e0 76 }
johnlynam2014 0:94dec0f696e0 77
johnlynam2014 0:94dec0f696e0 78 struct MbedClientOptions options = client.get_default_options();
johnlynam2014 0:94dec0f696e0 79 options.DeviceType = "Wifi_Sonic_Test";
johnlynam2014 0:94dec0f696e0 80 if (!client.setup(options, network)) {
johnlynam2014 0:94dec0f696e0 81 printf("Setting up mbed_client failed...\n");
johnlynam2014 0:94dec0f696e0 82 return 1;
johnlynam2014 0:94dec0f696e0 83 }
johnlynam2014 0:94dec0f696e0 84
johnlynam2014 0:94dec0f696e0 85 client.on_registered(&registered);
johnlynam2014 0:94dec0f696e0 86
johnlynam2014 0:94dec0f696e0 87 }