projet3_temperature/lib/PayloadFormatter/html/index.html
2020-05-14 16:15:09 +02:00

92 lines
8.3 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.14"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>PayloadFormatter: Guide de démarrage rapide</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">PayloadFormatter
</div>
<div id="projectbrief">Cette bibliothèque permet de facilement générer des trames en incorporant diverses informations et notamment des températures en format Q10.6.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Généré par Doxygen 1.8.14 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Recherche');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Recherche');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">Guide de démarrage rapide </div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><h1><a class="anchor" id="intro_sec"></a>
Introduction</h1>
<p>Cette bibliothèque inclue une seule classe : <a class="el" href="class_payload_formatter.html" title="La classe PayloadFormatter permet de construire une trame formatée. ">PayloadFormatter</a>.<br />
Elle permet de construire une trame contenant : le nombre total de trames à transmettre, le numéro de la trame transmise, le nombre de lignes de températures, le nombre de colonnes de températures, la date et l'heure,<br />
la température extérieure, les températures de la matrice aux nombre de lignes * colonnes.<br />
Cette trame peut ensuite être décodée via le décodeur de trame écrit en javascript disponible <a href="http://www.web-directories.tk/git/Th3maz1ng/projet3_temperature/src/branch/master/src/decodeur_trame_TTN/decodeur.js" target="_blank">ici</a>.<br />
Ce décodeur peut être intégré à TTN.<br />
<br />
Attention, il faut préalablement installer la bibliothèque RTClib-master dans le dossier Documents\Arduino\libraries téléchargeable <a href="http://www.web-directories.tk/git/Th3maz1ng/ESP8266_swiss_army_board/src/branch/master/src/libs" target="_blank">ici</a>.<br />
Elle est nécessaire car elle définit l'objet DateTime.</p>
<p>Voici un code d'exemple de l'utilisation de l'objet <a class="el" href="class_payload_formatter.html" title="La classe PayloadFormatter permet de construire une trame formatée. ">PayloadFormatter</a> :</p>
<div class="fragment"><div class="line"><span class="preprocessor">#include &lt;PayloadFormatter.h&gt;</span></div><div class="line"></div><div class="line"><span class="comment">//Programme d&#39;exemple d&#39;utilisation de la bibliothèque PayloadFormatter</span></div><div class="line"><span class="comment">//Création de l&#39;objet pour 4 températures internes (2 lignes par 2 colonnes)</span></div><div class="line"><a class="code" href="class_payload_formatter.html">PayloadFormatter</a> formatter(2,2);</div><div class="line"></div><div class="line"><span class="keywordtype">double</span> temperatureExterne = 28.58;</div><div class="line"><span class="keywordtype">double</span> temperatureInternes[2][4] = {{15.21,16.18,12.45,18.42},{18.58,11.49,22.38,9.73}};</div><div class="line">DateTime dt(2020, 5, 14, 12,39); <span class="comment">//14/05/2020 à 12h39</span></div><div class="line"></div><div class="line">uint8_t *buffer(NULL);</div><div class="line">uint16_t size(0);</div><div class="line"></div><div class="line"><span class="keywordtype">void</span> setup() </div><div class="line">{</div><div class="line"> Serial.begin(115200);</div><div class="line"> Serial.println(<span class="stringliteral">&quot;Démarrage d&#39;une session de construction de 2 trames&quot;</span>);</div><div class="line"> </div><div class="line"> formatter.startSession(2);</div><div class="line"> size = formatter.buildPayload(&amp;buffer, &amp;dt, temperatureExterne, temperatureInternes[0]);</div><div class="line"> </div><div class="line"> Serial.print(<span class="stringliteral">&quot;Trame construite : &quot;</span>);</div><div class="line"> <span class="keywordflow">for</span>(<span class="keywordtype">int</span> i(0); i &lt; size; i++)</div><div class="line"> {</div><div class="line"> buffer[i] &lt;= 0x0F ? Serial.print(<span class="stringliteral">&quot;0&quot;</span>) : Serial.print(<span class="stringliteral">&quot;&quot;</span>); Serial.print(buffer[i], HEX); Serial.print(<span class="stringliteral">&quot; &quot;</span>);</div><div class="line"> }</div><div class="line"> Serial.printf(<span class="stringliteral">&quot; de taille : %u\n Session terminee ? %s\n&quot;</span>, size, formatter.endSession() ? <span class="stringliteral">&quot;OUI&quot;</span> : <span class="stringliteral">&quot;NON&quot;</span>);</div><div class="line"> </div><div class="line"> size = formatter.buildPayload(&amp;buffer, &amp;dt, temperatureExterne, temperatureInternes[1]);</div><div class="line"> </div><div class="line"> Serial.print(<span class="stringliteral">&quot;Trame construite : &quot;</span>);</div><div class="line"> <span class="keywordflow">for</span>(<span class="keywordtype">int</span> i(0); i &lt; size; i++)</div><div class="line"> {</div><div class="line"> buffer[i] &lt;= 0x0F ? Serial.print(<span class="stringliteral">&quot;0&quot;</span>) : Serial.print(<span class="stringliteral">&quot;&quot;</span>); Serial.print(buffer[i], HEX); Serial.print(<span class="stringliteral">&quot; &quot;</span>);</div><div class="line"> }</div><div class="line"> Serial.printf(<span class="stringliteral">&quot; de taille : %u\n Session terminee ? %s\n&quot;</span>, size, formatter.endSession() ? <span class="stringliteral">&quot;OUI&quot;</span> : <span class="stringliteral">&quot;NON&quot;</span>);</div><div class="line"> </div><div class="line"> Serial.println(<span class="stringliteral">&quot;Fin de l&#39;exemple&quot;</span>);</div><div class="line">}</div><div class="line"></div><div class="line"><span class="keywordtype">void</span> loop() </div><div class="line">{</div><div class="line"></div><div class="line">}</div></div><!-- fragment --><dl class="section author"><dt>Auteur</dt><dd>Anatole SCHRAMM-HENRY </dd></dl>
<dl class="section date"><dt>Date</dt><dd>15 Jan 2020 </dd></dl>
<dl class="section copyright"><dt>Copyright</dt><dd>All Right Reserved </dd></dl>
</div></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Généré par &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.14
</small></address>
</body>
</html>