87 lines
8.3 KiB
HTML
87 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>LoRaRadio: 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">LoRaRadio
|
|
</div>
|
|
<div id="projectbrief">Wrapper C++ pour la LMIC (LoraMAC-in-C) développée par IBM et adaptée par matthijskooijman. Fonctionne avec les puces semtech SX1272 et SX1276.</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&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&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 deux classes : <a class="el" href="class_pin_map.html" title="La classe PinMap permet de mapper les différentes connections faites entre le module SX127X physique ...">PinMap</a> et <a class="el" href="class_lo_ra_radio.html" title="La classe LoRaRadio permet de manipuler le module radio. ">LoRaRadio</a>.<br />
|
|
Attention, il faut préalablement installer la LMIC dans le dossier Documents\Arduino\libraries téléchargeable <a href="http://www.web-directories.tk/git/Th3maz1ng/projet3_temperature" target="_blank">ici</a>.<br />
|
|
</p>
|
|
<p>Voici un code d'exemple de l'utilisation de l'objet <a class="el" href="class_lo_ra_radio.html" title="La classe LoRaRadio permet de manipuler le module radio. ">LoRaRadio</a> :</p>
|
|
<div class="fragment"><div class="line"><span class="preprocessor">#include <Arduino.h></span></div><div class="line"><span class="preprocessor">#include <LoRaRadio.h></span></div><div class="line"><span class="comment">//Testé sur ESP8266 et ESP32.</span></div><div class="line"></div><div class="line"><span class="comment">//Les pins dépendent des cartes</span></div><div class="line">u1_t dio[3] = {26,33,32};</div><div class="line"></div><div class="line"><span class="keywordtype">void</span> os_getArtEui (u1_t* buf) { }</div><div class="line"><span class="keywordtype">void</span> os_getDevEui (u1_t* buf) { }</div><div class="line"><span class="keywordtype">void</span> os_getDevKey (u1_t* buf) { }</div><div class="line"></div><div class="line"><span class="keyword">static</span> u1_t NWKSKEY[16] = { 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99, 0xAA, 0xBB, 0xCC, 0xDD, 0xEE, 0xFF, 0x11 }; <span class="comment">//Disponible sur TTN</span></div><div class="line"><span class="keyword">static</span> u1_t APPSKEY[16] = { 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99, 0xAA, 0xBB, 0xCC, 0xDD, 0xEE, 0xFF, 0x11 }; <span class="comment">//Disponible sur TTN</span></div><div class="line"><span class="keyword">static</span> u4_t DEVADDR = 0x11223344; <span class="comment">//Adresse du noeud disponible sous TTN.</span></div><div class="line"></div><div class="line"><span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> ts(millis());</div><div class="line"></div><div class="line"><span class="comment">//Les pins dépendent des cartes</span></div><div class="line"><a class="code" href="class_pin_map.html">PinMap</a> pinMap(18, LMIC_UNUSED_PIN, 14, dio);</div><div class="line"><a class="code" href="class_lo_ra_radio.html">LoRaRadio</a> radio(pinMap);</div><div class="line"></div><div class="line">uint8_t trame[] = <span class="stringliteral">"Hello World !"</span>;</div><div class="line"></div><div class="line"><span class="keywordtype">void</span> downlinkHandler(u1_t length, u1_t dataBeg, u1_t *data)</div><div class="line">{</div><div class="line"> Serial.println(<span class="stringliteral">"Réception d'un downlink :"</span>);</div><div class="line"> <span class="keywordflow">for</span>(uint8_t i(0); i < length; i++)</div><div class="line"> {</div><div class="line"> Serial.printf(<span class="stringliteral">"%u -> %d\n"</span>,i,data[dataBeg + i]);</div><div class="line"> }</div><div class="line"> Serial.println();</div><div class="line">}</div><div class="line"></div><div class="line"><span class="keywordtype">void</span> sendCompleteHandler()</div><div class="line">{</div><div class="line"> Serial.println(<span class="stringliteral">"Envoi de la trame terminée"</span>);</div><div class="line">}</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">"Starting setup"</span>);</div><div class="line"> radio.init();</div><div class="line"> radio.setTTNSession(0x1, DEVADDR, NWKSKEY, APPSKEY);</div><div class="line"> radio.setRadioEUChannels();</div><div class="line"> radio.setMCUClockError();</div><div class="line"> <span class="comment">//Enregistrement des callbacks d'événements</span></div><div class="line"> radio.setDownlinkHandler(&(downlinkHandler));</div><div class="line"> radio.setSendCompleteHandler(&(sendCompleteHandler));</div><div class="line"> Serial.println(<span class="stringliteral">"Ending setup"</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"> radio.run();</div><div class="line"> <span class="comment">//On envoie une trame toute les 30 secondes</span></div><div class="line"> <span class="keywordflow">if</span>(millis() - ts > 30000)</div><div class="line"> {</div><div class="line"> Serial.printf(<span class="stringliteral">"Envoie de la trame.\n"</span>);</div><div class="line"> radio.send(1, trame, strlen((<span class="keywordtype">char</span> *)trame));</div><div class="line"> ts = millis();</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>29 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  <a href="http://www.doxygen.org/index.html">
|
|
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
|
</a> 1.8.14
|
|
</small></address>
|
|
</body>
|
|
</html>
|