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

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?

UserRevisionLine numberNew 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 }