Skip to content

Commit b5420b2

Browse files
committed
Reusing http client.
1 parent ef7998c commit b5420b2

File tree

9 files changed

+45
-26
lines changed

9 files changed

+45
-26
lines changed

InfluxDb.cpp

Lines changed: 20 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,44 +1,53 @@
11
#include "Arduino.h"
22
#include "InfluxDb.h"
33

4+
/**
5+
* Construct an InfluxDb instance.
6+
* @param host the InfluxDb host
7+
* @param port the InfluxDb port
8+
*/
49
Influxdb::Influxdb(String host, uint16_t port)
510
{
611
_port = port;
712
_host = host;
813
}
914

15+
/**
16+
* Set the database to be used.
17+
*/
1018
void Influxdb::setDb(String db)
1119
{
1220
_db = String(db);
21+
// TODO: recreate client on db change
22+
// http = new HTTPClient();
23+
http.begin(_host, _port, "/write?db=" + _db);
24+
http.addHeader("Content-Type", "text/plain");
1325
}
1426

15-
// TODO: set db with user
27+
// TODO: set db with user & password
1628

1729
/**
1830
* Send a single measurement to the InfluxDb.
19-
**/
31+
*/
2032
boolean Influxdb::post(InfluxData data)
2133
{
2234
return post(data.toString());
2335
}
2436

37+
/**
38+
* Send raw data to InfluxDb.
39+
*/
2540
boolean Influxdb::post(String data)
2641
{
27-
Serial.print("write ");
42+
Serial.print(" -> writing to " + _db + ": ");
2843
Serial.println(data);
2944

30-
// TODO: check if the client can be reused
31-
HTTPClient http;
32-
http.begin(_host, _port, "/write?db=" + _db);
33-
http.addHeader("Content-Type", "text/plain");
34-
//
35-
3645
int httpResponseCode = http.POST(data);
37-
Serial.print(" -> Response: ");
46+
Serial.print(" <- Response: ");
3847
Serial.print(httpResponseCode);
3948

4049
String response = http.getString();
41-
Serial.println(" -> \"" + response + "\"");
50+
Serial.println(" \"" + response + "\"");
4251

4352
boolean success;
4453
if (httpResponseCode == 204)

InfluxDb.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,15 @@
66
class Influxdb
77
{
88
public:
9-
Influxdb(String host, uint16_t port);
9+
Influxdb(String host, uint16_t port = 8086);
1010

1111
void setDb(String db);
1212

1313
boolean post(InfluxData data);
1414
boolean post(String data);
1515

1616
private:
17+
HTTPClient http;
1718
String _host;
1819
uint16_t _port;
1920
String _db;

html/_influx_db_8h_source.html

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -65,12 +65,12 @@
6565
<div class="title">InfluxDb.h</div> </div>
6666
</div><!--header-->
6767
<div class="contents">
68-
<a href="_influx_db_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;</div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="preprocessor">#include &quot;Arduino.h&quot;</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="preprocessor">#include &lt;ESP8266HTTPClient.h&gt;</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="_influx_data_8h.html">InfluxData.h</a>&quot;</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;</div><div class="line"><a name="l00006"></a><span class="lineno"><a class="line" href="class_influxdb.html"> 6</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_influxdb.html">Influxdb</a></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;{</div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160; <a class="code" href="class_influxdb.html#ad9993e8cfc7560872d965bae8315e9e3">Influxdb</a>(String host, uint16_t port);</div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;</div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160; <span class="keywordtype">void</span> <a class="code" href="class_influxdb.html#aeb69ab3463eeb07b28935233d5225087">setDb</a>(String db);</div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160; <span class="keywordtype">boolean</span> <a class="code" href="class_influxdb.html#a4e5728918ad972cf37d5140b7b73a3e6">post</a>(<a class="code" href="class_influx_data.html">InfluxData</a> data);</div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160; <span class="keywordtype">boolean</span> <a class="code" href="class_influxdb.html#a4e5728918ad972cf37d5140b7b73a3e6">post</a>(String data);</div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;</div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160; String _host;</div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160; uint16_t _port;</div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160; String _db;</div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;};</div><div class="ttc" id="class_influxdb_html"><div class="ttname"><a href="class_influxdb.html">Influxdb</a></div><div class="ttdef"><b>Definition:</b> InfluxDb.h:6</div></div>
69-
<div class="ttc" id="class_influxdb_html_ad9993e8cfc7560872d965bae8315e9e3"><div class="ttname"><a href="class_influxdb.html#ad9993e8cfc7560872d965bae8315e9e3">Influxdb::Influxdb</a></div><div class="ttdeci">Influxdb(String host, uint16_t port)</div><div class="ttdef"><b>Definition:</b> InfluxDb.cpp:4</div></div>
70-
<div class="ttc" id="class_influxdb_html_aeb69ab3463eeb07b28935233d5225087"><div class="ttname"><a href="class_influxdb.html#aeb69ab3463eeb07b28935233d5225087">Influxdb::setDb</a></div><div class="ttdeci">void setDb(String db)</div><div class="ttdef"><b>Definition:</b> InfluxDb.cpp:10</div></div>
68+
<a href="_influx_db_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;</div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="preprocessor">#include &quot;Arduino.h&quot;</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="preprocessor">#include &lt;ESP8266HTTPClient.h&gt;</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="_influx_data_8h.html">InfluxData.h</a>&quot;</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;</div><div class="line"><a name="l00006"></a><span class="lineno"><a class="line" href="class_influxdb.html"> 6</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_influxdb.html">Influxdb</a></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;{</div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160; <a class="code" href="class_influxdb.html#ab1a58669240f294c240297e91067095c">Influxdb</a>(String host, uint16_t port = 8086);</div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;</div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160; <span class="keywordtype">void</span> <a class="code" href="class_influxdb.html#aeb69ab3463eeb07b28935233d5225087">setDb</a>(String db);</div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160; <span class="keywordtype">boolean</span> <a class="code" href="class_influxdb.html#a4e5728918ad972cf37d5140b7b73a3e6">post</a>(<a class="code" href="class_influx_data.html">InfluxData</a> data);</div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160; <span class="keywordtype">boolean</span> <a class="code" href="class_influxdb.html#a4e5728918ad972cf37d5140b7b73a3e6">post</a>(String data);</div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;</div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160; HTTPClient http;</div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160; String _host;</div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160; uint16_t _port;</div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160; String _db;</div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;};</div><div class="ttc" id="class_influxdb_html"><div class="ttname"><a href="class_influxdb.html">Influxdb</a></div><div class="ttdef"><b>Definition:</b> InfluxDb.h:6</div></div>
69+
<div class="ttc" id="class_influxdb_html_aeb69ab3463eeb07b28935233d5225087"><div class="ttname"><a href="class_influxdb.html#aeb69ab3463eeb07b28935233d5225087">Influxdb::setDb</a></div><div class="ttdeci">void setDb(String db)</div><div class="ttdef"><b>Definition:</b> InfluxDb.cpp:18</div></div>
7170
<div class="ttc" id="class_influx_data_html"><div class="ttname"><a href="class_influx_data.html">InfluxData</a></div><div class="ttdef"><b>Definition:</b> InfluxData.h:2</div></div>
72-
<div class="ttc" id="class_influxdb_html_a4e5728918ad972cf37d5140b7b73a3e6"><div class="ttname"><a href="class_influxdb.html#a4e5728918ad972cf37d5140b7b73a3e6">Influxdb::post</a></div><div class="ttdeci">boolean post(InfluxData data)</div><div class="ttdef"><b>Definition:</b> InfluxDb.cpp:20</div></div>
71+
<div class="ttc" id="class_influxdb_html_a4e5728918ad972cf37d5140b7b73a3e6"><div class="ttname"><a href="class_influxdb.html#a4e5728918ad972cf37d5140b7b73a3e6">Influxdb::post</a></div><div class="ttdeci">boolean post(InfluxData data)</div><div class="ttdef"><b>Definition:</b> InfluxDb.cpp:32</div></div>
7372
<div class="ttc" id="_influx_data_8h_html"><div class="ttname"><a href="_influx_data_8h.html">InfluxData.h</a></div></div>
73+
<div class="ttc" id="class_influxdb_html_ab1a58669240f294c240297e91067095c"><div class="ttname"><a href="class_influxdb.html#ab1a58669240f294c240297e91067095c">Influxdb::Influxdb</a></div><div class="ttdeci">Influxdb(String host, uint16_t port=8086)</div><div class="ttdef"><b>Definition:</b> InfluxDb.cpp:9</div></div>
7474
</div><!-- fragment --></div><!-- contents -->
7575
<!-- start footer part -->
7676
<hr class="footer"/><address class="footer"><small>

html/class_influxdb-members.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@
6868

6969
<p>This is the complete list of members for <a class="el" href="class_influxdb.html">Influxdb</a>, including all inherited members.</p>
7070
<table class="directory">
71-
<tr class="even"><td class="entry"><a class="el" href="class_influxdb.html#ad9993e8cfc7560872d965bae8315e9e3">Influxdb</a>(String host, uint16_t port)</td><td class="entry"><a class="el" href="class_influxdb.html">Influxdb</a></td><td class="entry"></td></tr>
71+
<tr class="even"><td class="entry"><a class="el" href="class_influxdb.html#ab1a58669240f294c240297e91067095c">Influxdb</a>(String host, uint16_t port=8086)</td><td class="entry"><a class="el" href="class_influxdb.html">Influxdb</a></td><td class="entry"></td></tr>
7272
<tr><td class="entry"><a class="el" href="class_influxdb.html#a4e5728918ad972cf37d5140b7b73a3e6">post</a>(InfluxData data)</td><td class="entry"><a class="el" href="class_influxdb.html">Influxdb</a></td><td class="entry"></td></tr>
7373
<tr class="even"><td class="entry"><a class="el" href="class_influxdb.html#ae8c91a6245d4c5a87a50774adaa89763">post</a>(String data)</td><td class="entry"><a class="el" href="class_influxdb.html">Influxdb</a></td><td class="entry"></td></tr>
7474
<tr><td class="entry"><a class="el" href="class_influxdb.html#aeb69ab3463eeb07b28935233d5225087">setDb</a>(String db)</td><td class="entry"><a class="el" href="class_influxdb.html">Influxdb</a></td><td class="entry"></td></tr>

html/class_influxdb.html

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -73,8 +73,8 @@
7373
<table class="memberdecls">
7474
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
7575
Public Member Functions</h2></td></tr>
76-
<tr class="memitem:ad9993e8cfc7560872d965bae8315e9e3"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_influxdb.html#ad9993e8cfc7560872d965bae8315e9e3">Influxdb</a> (String host, uint16_t port)</td></tr>
77-
<tr class="separator:ad9993e8cfc7560872d965bae8315e9e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
76+
<tr class="memitem:ab1a58669240f294c240297e91067095c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_influxdb.html#ab1a58669240f294c240297e91067095c">Influxdb</a> (String host, uint16_t port=8086)</td></tr>
77+
<tr class="separator:ab1a58669240f294c240297e91067095c"><td class="memSeparator" colspan="2">&#160;</td></tr>
7878
<tr class="memitem:aeb69ab3463eeb07b28935233d5225087"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_influxdb.html#aeb69ab3463eeb07b28935233d5225087">setDb</a> (String db)</td></tr>
7979
<tr class="separator:aeb69ab3463eeb07b28935233d5225087"><td class="memSeparator" colspan="2">&#160;</td></tr>
8080
<tr class="memitem:a4e5728918ad972cf37d5140b7b73a3e6"><td class="memItemLeft" align="right" valign="top">boolean&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_influxdb.html#a4e5728918ad972cf37d5140b7b73a3e6">post</a> (<a class="el" href="class_influx_data.html">InfluxData</a> data)</td></tr>
@@ -83,8 +83,8 @@
8383
<tr class="separator:ae8c91a6245d4c5a87a50774adaa89763"><td class="memSeparator" colspan="2">&#160;</td></tr>
8484
</table>
8585
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
86-
<a id="ad9993e8cfc7560872d965bae8315e9e3"></a>
87-
<h2 class="memtitle"><span class="permalink"><a href="#ad9993e8cfc7560872d965bae8315e9e3">&#9670;&nbsp;</a></span>Influxdb()</h2>
86+
<a id="ab1a58669240f294c240297e91067095c"></a>
87+
<h2 class="memtitle"><span class="permalink"><a href="#ab1a58669240f294c240297e91067095c">&#9670;&nbsp;</a></span>Influxdb()</h2>
8888

8989
<div class="memitem">
9090
<div class="memproto">
@@ -99,7 +99,7 @@ <h2 class="memtitle"><span class="permalink"><a href="#ad9993e8cfc7560872d965bae
9999
<td class="paramkey"></td>
100100
<td></td>
101101
<td class="paramtype">uint16_t&#160;</td>
102-
<td class="paramname"><em>port</em>&#160;</td>
102+
<td class="paramname"><em>port</em> = <code>8086</code>&#160;</td>
103103
</tr>
104104
<tr>
105105
<td></td>
@@ -108,6 +108,13 @@ <h2 class="memtitle"><span class="permalink"><a href="#ad9993e8cfc7560872d965bae
108108
</tr>
109109
</table>
110110
</div><div class="memdoc">
111+
<p>Construct an InfluxDb instance. </p><dl class="params"><dt>Parameters</dt><dd>
112+
<table class="params">
113+
<tr><td class="paramname">host</td><td>the InfluxDb host </td></tr>
114+
<tr><td class="paramname">port</td><td>the InfluxDb port </td></tr>
115+
</table>
116+
</dd>
117+
</dl>
111118

112119
</div>
113120
</div>
@@ -146,6 +153,7 @@ <h2 class="memtitle"><span class="permalink"><a href="#ae8c91a6245d4c5a87a50774a
146153
</tr>
147154
</table>
148155
</div><div class="memdoc">
156+
<p>Send raw data to InfluxDb. </p>
149157

150158
</div>
151159
</div>
@@ -164,6 +172,7 @@ <h2 class="memtitle"><span class="permalink"><a href="#aeb69ab3463eeb07b28935233
164172
</tr>
165173
</table>
166174
</div><div class="memdoc">
175+
<p>Set the database to be used. </p>
167176

168177
</div>
169178
</div>

html/functions.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@
7272
: <a class="el" href="class_influx_data.html#a5b2ad5b02681f8e94fa5c1961ae329ee">InfluxData</a>
7373
</li>
7474
<li>Influxdb()
75-
: <a class="el" href="class_influxdb.html#ad9993e8cfc7560872d965bae8315e9e3">Influxdb</a>
75+
: <a class="el" href="class_influxdb.html#ab1a58669240f294c240297e91067095c">Influxdb</a>
7676
</li>
7777
<li>post()
7878
: <a class="el" href="class_influxdb.html#a4e5728918ad972cf37d5140b7b73a3e6">Influxdb</a>

html/functions_func.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@
7272
: <a class="el" href="class_influx_data.html#a5b2ad5b02681f8e94fa5c1961ae329ee">InfluxData</a>
7373
</li>
7474
<li>Influxdb()
75-
: <a class="el" href="class_influxdb.html#ad9993e8cfc7560872d965bae8315e9e3">Influxdb</a>
75+
: <a class="el" href="class_influxdb.html#ab1a58669240f294c240297e91067095c">Influxdb</a>
7676
</li>
7777
<li>post()
7878
: <a class="el" href="class_influxdb.html#a4e5728918ad972cf37d5140b7b73a3e6">Influxdb</a>

html/search/all_2.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ var searchData=
22
[
33
['influxdata',['InfluxData',['../class_influx_data.html',1,'InfluxData'],['../class_influx_data.html#a5b2ad5b02681f8e94fa5c1961ae329ee',1,'InfluxData::InfluxData()']]],
44
['influxdata_2eh',['InfluxData.h',['../_influx_data_8h.html',1,'']]],
5-
['influxdb',['Influxdb',['../class_influxdb.html',1,'Influxdb'],['../class_influxdb.html#ad9993e8cfc7560872d965bae8315e9e3',1,'Influxdb::Influxdb()']]],
5+
['influxdb',['Influxdb',['../class_influxdb.html',1,'Influxdb'],['../class_influxdb.html#ab1a58669240f294c240297e91067095c',1,'Influxdb::Influxdb()']]],
66
['influxdb_2ecpp',['InfluxDb.cpp',['../_influx_db_8cpp.html',1,'']]],
77
['influxdb_2eh',['InfluxDb.h',['../_influx_db_8h.html',1,'']]]
88
];

html/search/functions_1.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
var searchData=
22
[
33
['influxdata',['InfluxData',['../class_influx_data.html#a5b2ad5b02681f8e94fa5c1961ae329ee',1,'InfluxData']]],
4-
['influxdb',['Influxdb',['../class_influxdb.html#ad9993e8cfc7560872d965bae8315e9e3',1,'Influxdb']]]
4+
['influxdb',['Influxdb',['../class_influxdb.html#ab1a58669240f294c240297e91067095c',1,'Influxdb']]]
55
];

0 commit comments

Comments
 (0)