![](/media/cache/profiles/jLJyWrnh_400x400.jpg.50x50_q85.jpg)
LM61のセンサ値をAmbientにアップロードするプログラムです。
Ambient_os/Ambient.h@1:d33e49e1e46d, 2019-01-14 (annotated)
- Committer:
- JKsoft_main
- Date:
- Mon Jan 14 11:44:47 2019 +0000
- Revision:
- 1:d33e49e1e46d
f
Who changed what in which revision?
User | Revision | Line number | New 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 |