mbed IoT Gateway board demo. This program received wireless data from JeeNode and uploads to Pachube. http://www.skpang.co.uk/catalog/mbed-iot-gateway-board-p-1051.html Full kit: http://www.skpang.co.uk/catalog/mbed-iot-gateway-full-kit-p-1052.html
Dependencies: EthernetNetIf mbed
main.cpp@1:63b6db2e24a5, 2012-01-30 (annotated)
- Committer:
- pangsk
- Date:
- Mon Jan 30 21:44:36 2012 +0000
- Revision:
- 1:63b6db2e24a5
- Parent:
- 0:7f301f08b68f
Correct init code in RF12B.cpp
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
pangsk | 0:7f301f08b68f | 1 | /* |
pangsk | 0:7f301f08b68f | 2 | mbed IoT Gateway demo |
pangsk | 0:7f301f08b68f | 3 | |
pangsk | 0:7f301f08b68f | 4 | This is a demo program to read data from a JeeNode and upload to Pachube. |
pangsk | 0:7f301f08b68f | 5 | |
pangsk | 0:7f301f08b68f | 6 | http://www.skpang.co.uk/catalog/mbed-iot-gateway-board-p-1051.html |
pangsk | 0:7f301f08b68f | 7 | |
pangsk | 0:7f301f08b68f | 8 | Jan 2012 skpang.co.uk |
pangsk | 0:7f301f08b68f | 9 | */ |
pangsk | 0:7f301f08b68f | 10 | #include "mbed.h" |
pangsk | 0:7f301f08b68f | 11 | #include "RF12B.h" |
pangsk | 0:7f301f08b68f | 12 | #include "PachubeV2CSV.h" |
pangsk | 0:7f301f08b68f | 13 | #include "EthernetNetIf.h" |
pangsk | 0:7f301f08b68f | 14 | #include "HTTPClient.h" |
pangsk | 0:7f301f08b68f | 15 | |
pangsk | 1:63b6db2e24a5 | 16 | #define API_KEY "F8Gcwdhx2PvIdUrcGa84hbgBK6NC88yYUp1FxHG6f4E" |
pangsk | 0:7f301f08b68f | 17 | #define FEED_ID 40980 |
pangsk | 0:7f301f08b68f | 18 | #define STREAM_ID "1" |
pangsk | 0:7f301f08b68f | 19 | |
pangsk | 0:7f301f08b68f | 20 | PachubeV2CSV web(API_KEY); |
pangsk | 0:7f301f08b68f | 21 | EthernetNetIf eth; |
pangsk | 0:7f301f08b68f | 22 | |
pangsk | 0:7f301f08b68f | 23 | DigitalOut myled(LED1); |
pangsk | 0:7f301f08b68f | 24 | |
pangsk | 0:7f301f08b68f | 25 | DigitalOut led(p25); |
pangsk | 0:7f301f08b68f | 26 | RF12B radiolink(p11, p12, p13, p14, p18); |
pangsk | 0:7f301f08b68f | 27 | |
pangsk | 0:7f301f08b68f | 28 | Serial pc(USBTX, USBRX); // tx, rx |
pangsk | 0:7f301f08b68f | 29 | |
pangsk | 0:7f301f08b68f | 30 | int main() { |
pangsk | 0:7f301f08b68f | 31 | const int feed_id = FEED_ID; |
pangsk | 0:7f301f08b68f | 32 | const std::string stream_id = STREAM_ID; |
pangsk | 0:7f301f08b68f | 33 | float payload; |
pangsk | 0:7f301f08b68f | 34 | |
pangsk | 0:7f301f08b68f | 35 | char val1_text[32]; |
pangsk | 0:7f301f08b68f | 36 | |
pangsk | 0:7f301f08b68f | 37 | led = 1; |
pangsk | 0:7f301f08b68f | 38 | pc.baud(115200); |
pangsk | 0:7f301f08b68f | 39 | printf("RF12B test with Pachube\r\n"); |
pangsk | 0:7f301f08b68f | 40 | |
pangsk | 0:7f301f08b68f | 41 | eth.setup(); |
pangsk | 0:7f301f08b68f | 42 | |
pangsk | 0:7f301f08b68f | 43 | radiolink.init(2,2,1); //id = 2, band 869, group 1 |
pangsk | 0:7f301f08b68f | 44 | |
pangsk | 0:7f301f08b68f | 45 | led = 0; |
pangsk | 0:7f301f08b68f | 46 | |
pangsk | 0:7f301f08b68f | 47 | while(1) { |
pangsk | 0:7f301f08b68f | 48 | |
pangsk | 0:7f301f08b68f | 49 | |
pangsk | 0:7f301f08b68f | 50 | if (radiolink.rf12_recvDone() && (radiolink.check_crc() == 0)) // && rf12_crc == 0 && rf12_len == sizeof payload) |
pangsk | 0:7f301f08b68f | 51 | { |
pangsk | 0:7f301f08b68f | 52 | led = 1; |
pangsk | 0:7f301f08b68f | 53 | // Copy the received data into payload: |
pangsk | 0:7f301f08b68f | 54 | memcpy(&payload, (uint8_t*) radiolink.get_data(), sizeof(payload)); |
pangsk | 0:7f301f08b68f | 55 | |
pangsk | 0:7f301f08b68f | 56 | // Print it out: |
pangsk | 0:7f301f08b68f | 57 | printf(" payload: %f ", payload); |
pangsk | 0:7f301f08b68f | 58 | sprintf(val1_text, "%f", payload); |
pangsk | 0:7f301f08b68f | 59 | |
pangsk | 0:7f301f08b68f | 60 | printf("updateDataStream(%d)\n", web.updateDataStream(feed_id, stream_id, std::string(val1_text))); |
pangsk | 0:7f301f08b68f | 61 | |
pangsk | 0:7f301f08b68f | 62 | led = 0; |
pangsk | 0:7f301f08b68f | 63 | } |
pangsk | 0:7f301f08b68f | 64 | myled = 1; |
pangsk | 0:7f301f08b68f | 65 | // wait(0.1); |
pangsk | 0:7f301f08b68f | 66 | myled = 0; |
pangsk | 0:7f301f08b68f | 67 | |
pangsk | 0:7f301f08b68f | 68 | } |
pangsk | 0:7f301f08b68f | 69 | } |