LM61のセンサ値をAmbientにアップロードするプログラムです。

Dependencies:   mbed-http

Committer:
JKsoft_main
Date:
Mon Jan 14 11:44:47 2019 +0000
Revision:
1:d33e49e1e46d
f

Who changed what in which revision?

UserRevisionLine numberNew contents of line
JKsoft_main 1:d33e49e1e46d 1 #ifndef Ambient_h
JKsoft_main 1:d33e49e1e46d 2 #define Ambient_h
JKsoft_main 1:d33e49e1e46d 3
JKsoft_main 1:d33e49e1e46d 4 #include "mbed.h"
JKsoft_main 1:d33e49e1e46d 5 #include "http_request.h"
JKsoft_main 1:d33e49e1e46d 6
JKsoft_main 1:d33e49e1e46d 7 #define AMBIENT_WRITEKEY_SIZE 18
JKsoft_main 1:d33e49e1e46d 8 #define AMBIENT_MAX_RETRY 5
JKsoft_main 1:d33e49e1e46d 9 #define AMBIENT_DATA_SIZE 24
JKsoft_main 1:d33e49e1e46d 10 #define AMBIENT_NUM_PARAMS 11
JKsoft_main 1:d33e49e1e46d 11 #define AMBIENT_TIMEOUT 3000 // milliseconds
JKsoft_main 1:d33e49e1e46d 12
JKsoft_main 1:d33e49e1e46d 13 class Ambient
JKsoft_main 1:d33e49e1e46d 14 {
JKsoft_main 1:d33e49e1e46d 15 public:
JKsoft_main 1:d33e49e1e46d 16 /** Create Ambient instance
JKsoft_main 1:d33e49e1e46d 17 */
JKsoft_main 1:d33e49e1e46d 18 Ambient(void);
JKsoft_main 1:d33e49e1e46d 19
JKsoft_main 1:d33e49e1e46d 20 bool init(NetworkInterface* nif, unsigned int channelId, const char * writeKey, int dev = 0);
JKsoft_main 1:d33e49e1e46d 21
JKsoft_main 1:d33e49e1e46d 22 /** Set data on field-th field of payload.
JKsoft_main 1:d33e49e1e46d 23 * @param field index of payload (1 to 8)
JKsoft_main 1:d33e49e1e46d 24 * @param data data
JKsoft_main 1:d33e49e1e46d 25 * @returns
JKsoft_main 1:d33e49e1e46d 26 * true on success,
JKsoft_main 1:d33e49e1e46d 27 * false on failure
JKsoft_main 1:d33e49e1e46d 28 */
JKsoft_main 1:d33e49e1e46d 29 bool set(int field, char * data);
JKsoft_main 1:d33e49e1e46d 30
JKsoft_main 1:d33e49e1e46d 31 /** Set data on field-th field of payload.
JKsoft_main 1:d33e49e1e46d 32 * @param field index of payload (1 to 8)
JKsoft_main 1:d33e49e1e46d 33 * @param data data
JKsoft_main 1:d33e49e1e46d 34 * @returns
JKsoft_main 1:d33e49e1e46d 35 * true on success,
JKsoft_main 1:d33e49e1e46d 36 * false on failure
JKsoft_main 1:d33e49e1e46d 37 */
JKsoft_main 1:d33e49e1e46d 38 bool set(int field, int data);
JKsoft_main 1:d33e49e1e46d 39
JKsoft_main 1:d33e49e1e46d 40 /** Set data on field-th field of payload.
JKsoft_main 1:d33e49e1e46d 41 * @param field index of payload (1 to 8)
JKsoft_main 1:d33e49e1e46d 42 * @param data data
JKsoft_main 1:d33e49e1e46d 43 * @returns
JKsoft_main 1:d33e49e1e46d 44 * true on success,
JKsoft_main 1:d33e49e1e46d 45 * false on failure
JKsoft_main 1:d33e49e1e46d 46 */
JKsoft_main 1:d33e49e1e46d 47 bool set(int field, double data);
JKsoft_main 1:d33e49e1e46d 48
JKsoft_main 1:d33e49e1e46d 49 /** Clear data on field-th field of payload.
JKsoft_main 1:d33e49e1e46d 50 * @param field index of payload (1 to 8)
JKsoft_main 1:d33e49e1e46d 51 * @returns
JKsoft_main 1:d33e49e1e46d 52 * true on success,
JKsoft_main 1:d33e49e1e46d 53 * false on failure
JKsoft_main 1:d33e49e1e46d 54 */
JKsoft_main 1:d33e49e1e46d 55 bool clear(int field);
JKsoft_main 1:d33e49e1e46d 56
JKsoft_main 1:d33e49e1e46d 57 /** Send data to Ambient
JKsoft_main 1:d33e49e1e46d 58 * @returns
JKsoft_main 1:d33e49e1e46d 59 * true on success,
JKsoft_main 1:d33e49e1e46d 60 * false on failure
JKsoft_main 1:d33e49e1e46d 61 */
JKsoft_main 1:d33e49e1e46d 62 bool send(void);
JKsoft_main 1:d33e49e1e46d 63
JKsoft_main 1:d33e49e1e46d 64 private:
JKsoft_main 1:d33e49e1e46d 65
JKsoft_main 1:d33e49e1e46d 66 NetworkInterface * _nif;
JKsoft_main 1:d33e49e1e46d 67 unsigned int channelId;
JKsoft_main 1:d33e49e1e46d 68 char writeKey[AMBIENT_WRITEKEY_SIZE];
JKsoft_main 1:d33e49e1e46d 69 int dev;
JKsoft_main 1:d33e49e1e46d 70 char host[18];
JKsoft_main 1:d33e49e1e46d 71 int port;
JKsoft_main 1:d33e49e1e46d 72
JKsoft_main 1:d33e49e1e46d 73 struct {
JKsoft_main 1:d33e49e1e46d 74 int set;
JKsoft_main 1:d33e49e1e46d 75 char item[AMBIENT_DATA_SIZE];
JKsoft_main 1:d33e49e1e46d 76 } data[AMBIENT_NUM_PARAMS];
JKsoft_main 1:d33e49e1e46d 77 };
JKsoft_main 1:d33e49e1e46d 78
JKsoft_main 1:d33e49e1e46d 79 #endif // Ambient_h