{"id":3042,"date":"2019-08-21T19:23:50","date_gmt":"2019-08-21T17:23:50","guid":{"rendered":"http:\/\/arduino.net.pl\/?p=3042"},"modified":"2019-11-04T23:58:40","modified_gmt":"2019-11-04T22:58:40","slug":"esp32-i-nrf24l01-nowa-biblioteka","status":"publish","type":"post","link":"https:\/\/arduino.net.pl\/index.php\/esp32-i-nrf24l01-nowa-biblioteka\/","title":{"rendered":"ESP32 i nRF24L01, nowa biblioteka"},"content":{"rendered":"\n<p>Dzi\u0119ki <a href=\"http:\/\/www.iotsharing.com\/2018\/03\/esp-and-raspberry-connect-with-nrf24l01.html\"><strong>artyku\u0142owi<\/strong><\/a> ze strony <strong>IoTSharing<\/strong> i zmodyfikowanej przez autora <a href=\"https:\/\/github.com\/nhatuan84\/RF24\">bibliotece<\/a> uda\u0142o mi si\u0119 skomunikowa\u0107 <strong>nRF24<\/strong> z <strong>ESP32<\/strong> i nawi\u0105za\u0107 radiowe po\u0142\u0105czenie z <strong>Arduino<\/strong> Nano. Wszystkie po\u0142\u0105czenia i kody pochodz\u0105 z tego artyku\u0142u. Wielkie dzi\u0119ki mister <strong>Tuan<\/strong>! Jedyna przer\u00f3bka to zmienna <em>pipe<\/em>, kt\u00f3r\u0105 u\u017cywa w kodach autor, a na kt\u00f3r\u0105 u mnie burzy\u0142 si\u0119 kompilator. Zmiana na <em>pip<\/em> za\u0142atwi\u0142a spraw\u0119. Poni\u017cej lekko przerobione kody.<\/p>\n\n\n\n<h6 class=\"wp-block-heading\">PO\u0141\u0104CZENIE NRF24L01 Z ESP32<\/h6>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"331\" src=\"http:\/\/arduino.net.pl\/wp-content\/uploads\/2019\/08\/Zrzut-ekranu-2019-08-20-o-23.11.36-1024x331.png\" alt=\"\" class=\"wp-image-3043\" srcset=\"https:\/\/arduino.net.pl\/wp-content\/uploads\/2019\/08\/Zrzut-ekranu-2019-08-20-o-23.11.36-1024x331.png 1024w, https:\/\/arduino.net.pl\/wp-content\/uploads\/2019\/08\/Zrzut-ekranu-2019-08-20-o-23.11.36-300x97.png 300w, https:\/\/arduino.net.pl\/wp-content\/uploads\/2019\/08\/Zrzut-ekranu-2019-08-20-o-23.11.36-768x248.png 768w, https:\/\/arduino.net.pl\/wp-content\/uploads\/2019\/08\/Zrzut-ekranu-2019-08-20-o-23.11.36-440x142.png 440w, https:\/\/arduino.net.pl\/wp-content\/uploads\/2019\/08\/Zrzut-ekranu-2019-08-20-o-23.11.36.png 1181w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h6 class=\"wp-block-heading\">PO\u0141\u0104CZENIE <strong>NRF24L01 <\/strong>Z ARDUINO<\/h6>\n\n\n\n<p><strong>Arduino_D8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; x &nbsp; NRF24_CSN<br>Arduino_D7&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; x&nbsp;&nbsp; NRF24_CE<br>Arduino_D13&nbsp;&nbsp;&nbsp; x&nbsp;&nbsp; NRF24_SCK<br>Arduino_D11&nbsp;&nbsp;&nbsp; x&nbsp;&nbsp; NRF24_MOSI<br>Arduino_D12&nbsp;&nbsp;&nbsp; x&nbsp;&nbsp; NRF24_MISO<\/strong><br><strong><strong>Arduino_3.3&nbsp;&nbsp;&nbsp; &nbsp; x &nbsp; NRF24_Vcc<\/strong><\/strong><br><strong><strong>Arduino_GND&nbsp; x&nbsp;&nbsp; NRF24_GND<\/strong><\/strong><\/p>\n\n\n\n<h6 class=\"wp-block-heading\">KODY<\/h6>\n\n\n\n<p><strong>Arduino wysy\u0142a<\/strong> &#8211; <strong>ESP32 odbiera<\/strong> \/gist\/<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><a href=\"https:\/\/gist.github.com\/yarogniew\/12e2090764b70697c3bfbfacd5c49784#file-arduino_nadajnik_v1-ino\"><strong>Arduino_nadajnik_v1.ino<\/strong><\/a><\/li><li><a href=\"https:\/\/gist.github.com\/yarogniew\/444b197f1cc2305a6d2321568d11cb15#file-esp32_odbiornik_v1-ino\"><strong>ESP32_odbiornik_v1.ino<\/strong><\/a><\/li><\/ul>\n\n\n\n<p>W odbiorniku doda\u0142em prost\u0105 instrukcj\u0119 sprawdzaj\u0105c\u0105 czy transmisja przebiega prawid\u0142owo. By\u0142a mi pomocna przy ustalaniu maksymalnej odleg\u0142o\u015b\u0107 nadajnika od odbiornika.<\/p>\n\n\n\n<h6 class=\"wp-block-heading\"><strong>Przesy\u0142anie tablicy z danymi<\/strong> typu <em>float<\/em><\/h6>\n\n\n\n<p>Nale\u017cy pami\u0119ta\u0107, aby ustawi\u0107 odpowiedni\u0105 wielko\u015b\u0107 <strong><em>radio.setPayloadSize()<\/em><\/strong>. Albo w og\u00f3le nie ustawia\u0107, w\u00f3wczas ustawi si\u0119 maksymalna. Troch\u0119 czasu mi zabra\u0142o \u017ceby zorientowa\u0107 si\u0119 dlaczego po skeczu &#8222;hello&#8221; ucina mi dane w trzyelementowej tablicy float.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: cpp; light: false; title: Kod:; toolbar: true; notranslate\" title=\"Kod:\">\n\/\/ Nadajnik Nano\n\n#include  &lt;SPI.h&gt;\n#include &quot;nRF24L01.h&quot;\n#include &quot;RF24.h&quot;\n\nfloat msg&#x5B;3] = {33.33, 66.66, 99.99};\n\nRF24 radio(7,8);\nconst uint64_t pip = 0xE8E8F0F0E1LL;\n\nvoid setup(void) {\n  Serial.begin(115200);\n  radio.begin();\n  radio.setChannel(2);\n  radio.setPayloadSize(16);\n  radio.setDataRate(RF24_250KBPS);\n  radio.setPALevel(RF24_PA_HIGH);\n  radio.openWritingPipe(pip);\n}\nvoid loop(void) {\n  Serial.println(&quot;send ...&quot;);\n  radio.write(&amp;msg, sizeof(msg));\n\n  delay(3000);\n}\n<\/pre><\/div>\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: cpp; light: false; title: Kod:; toolbar: true; notranslate\" title=\"Kod:\">\n\/\/ Odbiornik ESP32\n\n#include &lt;SPI.h&gt;\n#include &quot;nRF24L01.h&quot;\n#include &quot;RF24.h&quot;\n\nconst byte DEBUG = false;\nfloat buff&#x5B;3];\n\nRF24 radio(12, 14, 26, 25, 27);\n\/\/RF24 radio(7,8);\nconst uint64_t pip = 0xE8E8F0F0E1LL;\n\nuint32_t t = 0;\nuint32_t t_start = 0;\n\n\nvoid setup(void) {\n  Serial.begin(115200);\n  radio.begin();\n  radio.setChannel(2);\n  radio.setPayloadSize(16);\n  radio.setDataRate(RF24_250KBPS);\n  radio.setPALevel(RF24_PA_HIGH);\n  radio.openReadingPipe(1, pip);\n  radio.startListening();\n\n  t_start = millis();\n}\n\nvoid loop(void) {\n\n  if (radio.available()) {\n    radio.read(buff, sizeof(buff));\n    \n    delay(10);\n    Serial.println(buff&#x5B;0]);\n    Serial.println(buff&#x5B;1]);\n    Serial.println(buff&#x5B;2]);\n    if(DEBUG){Serial.println(t);}\n    t_start = millis();\n  }\n  else {\n    t = millis() - t_start;\n    if(DEBUG){Serial.println(t);\n    delay(1000);}\n  }\n\n  if (t &gt; 5000) {\n    Serial.println(&quot;ERROR!&quot;);\n    delay(1000);\n  }\n}\n<\/pre><\/div>\n\n\n<h6 class=\"wp-block-heading\">LINKI<\/h6>\n\n\n\n<ul class=\"wp-block-list\"><li><a href=\"http:\/\/www.iotsharing.com\/2018\/03\/esp-and-raspberry-connect-with-nrf24l01.html\">Esp32-connect-with-nrf24l01<\/a><\/li><li><a href=\"https:\/\/github.com\/nhatuan84\/RF24\">Library<\/a><\/li><li><a href=\"http:\/\/smartmicrocontroller.com\/build-a-simple-wireless-weather-station-using-the-nrf24l01\/\">http:\/\/smartmicrocontroller.com\/build-a-simple-wireless-weather-station-using-the-nrf24l01\/<\/a><\/li><\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Dzi\u0119ki artyku\u0142owi ze strony IoTSharing i zmodyfikowanej przez autora bibliotece uda\u0142o mi si\u0119 skomunikowa\u0107 nRF24 z ESP32 i nawi\u0105za\u0107 radiowe po\u0142\u0105czenie z Arduino Nano. Wszystkie po\u0142\u0105czenia i kody pochodz\u0105 z&#8230;<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[2,80],"tags":[81,72],"class_list":["post-3042","post","type-post","status-publish","format-standard","hentry","category-arduino","category-esp32","tag-esp32","tag-nrf24l01"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/arduino.net.pl\/index.php\/wp-json\/wp\/v2\/posts\/3042","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/arduino.net.pl\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/arduino.net.pl\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/arduino.net.pl\/index.php\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/arduino.net.pl\/index.php\/wp-json\/wp\/v2\/comments?post=3042"}],"version-history":[{"count":15,"href":"https:\/\/arduino.net.pl\/index.php\/wp-json\/wp\/v2\/posts\/3042\/revisions"}],"predecessor-version":[{"id":3212,"href":"https:\/\/arduino.net.pl\/index.php\/wp-json\/wp\/v2\/posts\/3042\/revisions\/3212"}],"wp:attachment":[{"href":"https:\/\/arduino.net.pl\/index.php\/wp-json\/wp\/v2\/media?parent=3042"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/arduino.net.pl\/index.php\/wp-json\/wp\/v2\/categories?post=3042"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/arduino.net.pl\/index.php\/wp-json\/wp\/v2\/tags?post=3042"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}