Proof of concept for distance and temperature monitoring
Dependencies: mbed mbedConnectorInterface mbedEndpointNetwork
main.cpp@10:338191178cbf, 2015-05-18 (annotated)
- Committer:
- coyotebush
- Date:
- Mon May 18 00:44:59 2015 +0000
- Revision:
- 10:338191178cbf
- Parent:
- 9:16b63cd4aba8
max distance
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Luminoscity | 0:cb422b231ea5 | 1 | #include "mbed.h" |
coyotebush | 3:b51fcb5fd114 | 2 | #include "EthernetInterface.h" |
coyotebush | 3:b51fcb5fd114 | 3 | #include "ConnectorEndpoint.h" |
coyotebush | 3:b51fcb5fd114 | 4 | #include "OptionsBuilder.h" |
coyotebush | 3:b51fcb5fd114 | 5 | |
Luminoscity | 0:cb422b231ea5 | 6 | #include "hcsr04.h" |
Luminoscity | 0:cb422b231ea5 | 7 | #include "GroveTemp.h" |
coyotebush | 6:bbea44df21e8 | 8 | |
coyotebush | 7:939fdc8df95b | 9 | #include "StaticResource.h" |
coyotebush | 10:338191178cbf | 10 | //#include "OnBoardLED.h" |
coyotebush | 6:bbea44df21e8 | 11 | #include "TemperatureResource.h" |
coyotebush | 7:939fdc8df95b | 12 | #include "DistanceResource.h" |
coyotebush | 10:338191178cbf | 13 | #include "MaxDistanceResource.h" |
coyotebush | 3:b51fcb5fd114 | 14 | |
coyotebush | 3:b51fcb5fd114 | 15 | /* Terminal connection */ |
coyotebush | 3:b51fcb5fd114 | 16 | RawSerial term(USBTX, USBRX); |
coyotebush | 3:b51fcb5fd114 | 17 | Logger logger(&term); |
coyotebush | 3:b51fcb5fd114 | 18 | |
coyotebush | 3:b51fcb5fd114 | 19 | /* Sensors */ |
Luminoscity | 0:cb422b231ea5 | 20 | #define TRIG_PIN D6 |
coyotebush | 7:939fdc8df95b | 21 | #define ECHO_PIN D5 |
coyotebush | 3:b51fcb5fd114 | 22 | HCSR04 distS(TRIG_PIN, ECHO_PIN); |
coyotebush | 3:b51fcb5fd114 | 23 | GroveTempSensor tempS; |
Luminoscity | 0:cb422b231ea5 | 24 | |
coyotebush | 3:b51fcb5fd114 | 25 | /* Resources */ |
coyotebush | 3:b51fcb5fd114 | 26 | StaticResource mfg(&logger, "3/0/0", "Freescale"); |
coyotebush | 3:b51fcb5fd114 | 27 | StaticResource model(&logger, "3/0/1", "K64F mbed Ethernet demo"); |
coyotebush | 3:b51fcb5fd114 | 28 | |
coyotebush | 9:16b63cd4aba8 | 29 | StaticResource latitude(&logger, "6/0/0", "35.296"); |
coyotebush | 9:16b63cd4aba8 | 30 | StaticResource longitude(&logger, "6/0/1", "-120.677"); |
coyotebush | 9:16b63cd4aba8 | 31 | |
coyotebush | 10:338191178cbf | 32 | DistanceResource distR(&logger, "3302/0/5700", &distS, true); |
coyotebush | 10:338191178cbf | 33 | MaxDistanceResource maxDistR(&logger, "3302/0/5602", &distS, true); |
coyotebush | 10:338191178cbf | 34 | StaticResource unitsDistR(&logger, "3302/0/5701", "cm"); |
coyotebush | 10:338191178cbf | 35 | |
coyotebush | 6:bbea44df21e8 | 36 | TemperatureResource tempR(&logger, "3303/0/5700", &tempS, true); |
coyotebush | 10:338191178cbf | 37 | StaticResource unitsTempR(&logger, "3302/0/5701", "Cel"); |
coyotebush | 10:338191178cbf | 38 | |
coyotebush | 10:338191178cbf | 39 | //LEDResource led(&logger, "3311/1/5706"); |
Luminoscity | 0:cb422b231ea5 | 40 | |
coyotebush | 3:b51fcb5fd114 | 41 | /* invoked through linker magic via Endpoint::start() */ |
coyotebush | 3:b51fcb5fd114 | 42 | Connector::Options *configure_endpoint(Connector::OptionsBuilder &config) |
coyotebush | 3:b51fcb5fd114 | 43 | { |
coyotebush | 4:1ca75e77ae33 | 44 | /* NSP configuration is in nsp_configuration.h */ |
coyotebush | 3:b51fcb5fd114 | 45 | logger.log("configure_endpoint: building endpoint configuration..."); |
coyotebush | 7:939fdc8df95b | 46 | tempR.setMaxAge(5); |
coyotebush | 7:939fdc8df95b | 47 | distR.setMaxAge(15); |
coyotebush | 3:b51fcb5fd114 | 48 | return config.addResource(&mfg) |
coyotebush | 3:b51fcb5fd114 | 49 | .addResource(&model) |
coyotebush | 9:16b63cd4aba8 | 50 | .addResource(&latitude) |
coyotebush | 9:16b63cd4aba8 | 51 | .addResource(&longitude) |
coyotebush | 7:939fdc8df95b | 52 | .addResource(&distR) |
coyotebush | 10:338191178cbf | 53 | .addResource(&maxDistR) |
coyotebush | 10:338191178cbf | 54 | .addResource(&unitsDistR) |
coyotebush | 6:bbea44df21e8 | 55 | .addResource(&tempR) |
coyotebush | 10:338191178cbf | 56 | .addResource(&unitsTempR) |
coyotebush | 10:338191178cbf | 57 | //.addResource(&led) |
coyotebush | 3:b51fcb5fd114 | 58 | .build(); |
coyotebush | 3:b51fcb5fd114 | 59 | } |
coyotebush | 3:b51fcb5fd114 | 60 | |
Luminoscity | 0:cb422b231ea5 | 61 | int main() { |
coyotebush | 3:b51fcb5fd114 | 62 | logger.log("\r\n\r\nSmart Trash Can booting\r\n"); |
coyotebush | 3:b51fcb5fd114 | 63 | Connector::Endpoint::plumbNetwork(); |
coyotebush | 3:b51fcb5fd114 | 64 | Connector::Endpoint::start(); |
coyotebush | 3:b51fcb5fd114 | 65 | } |