{"id":28573,"date":"2021-09-09T08:00:14","date_gmt":"2021-09-09T06:00:14","guid":{"rendered":"https:\/\/botland.com.pl\/blog\/?p=28573"},"modified":"2023-05-24T10:03:56","modified_gmt":"2023-05-24T08:03:56","slug":"esp32-podlaczenie-przekaznika-i-oswietlenie-led","status":"publish","type":"post","link":"https:\/\/botland.com.pl\/blog\/esp32-podlaczenie-przekaznika-i-oswietlenie-led\/","title":{"rendered":"ESP32 &#8211; pod\u0142\u0105czenie przeka\u017anika i o\u015bwietlenie LED"},"content":{"rendered":"<span class=\"span-reading-time rt-reading-time\" style=\"display: block;\"><span class=\"rt-label rt-prefix\">Czas czytania:<\/span> <span class=\"rt-time\"> 2<\/span> <span class=\"rt-label rt-postfix\">min.<\/span><\/span>\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"28573\" class=\"elementor elementor-28573\" data-elementor-post-type=\"post\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-074b3c8 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"074b3c8\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-f713fcd\" data-id=\"f713fcd\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-1dab25d elementor-widget elementor-widget-text-editor\" data-id=\"1dab25d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>W tym artykule pod\u0142\u0105czymy przeka\u017anik do modu\u0142u ESP32 oraz stworzymy system sterowania o\u015bwietleniem z wykorzystaniem diody LED. Mo\u017cna r\u00f3wnie\u017c wykorzysta\u0107 standardow\u0105 \u017car\u00f3wk\u0119 na napi\u0119cie 230 V, jednak nale\u017cy przy tym zachowa\u0107 szczeg\u00f3ln\u0105 ostro\u017cno\u015b\u0107.<\/p><p><span style=\"font-size: 1rem;\">Instrukcj\u0119 programowania ESP32 w Arduino IDE przedstawili\u015bmy w <a href=\"https:\/\/botland.com.pl\/blog\/esp32-polaczenie-z-czujnikiem-temperatury-ds18b20\/\" target=\"_blank\" rel=\"noopener\" data-wpel-link=\"internal\">pierwszym artykule<\/a> z tej serii.<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-5cbd241 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"5cbd241\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-008c99b\" data-id=\"008c99b\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-d4ab211 elementor-widget elementor-widget-heading\" data-id=\"d4ab211\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\"><section data-id=\"eb3d212\" data-element_type=\"section\" style=\"font-family: Roboto, sans-serif;font-size: 16px;font-weight: 400;white-space: normal\"><div><div style=\"width: 900px\"><div data-id=\"4a51aef\" data-element_type=\"column\" style=\"width: 900px\"><div style=\"width: 900px\"><div style=\"width: 880px\"><div data-id=\"4eb095d\" data-element_type=\"widget\" data-widget_type=\"heading.default\" style=\"width: 880px\"><div><h2 style=\"font-family: var( --e-global-typography-primary-font-family ), Sans-serif;font-weight: var( --e-global-typography-primary-font-weight )\">Czego b\u0119dziemy potrzebowa\u0107 do&nbsp;wykonania projektu?<\/h2><\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/section><\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-5529f70 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"5529f70\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-e41a4ec\" data-id=\"e41a4ec\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-10af8f4 elementor-widget elementor-widget-text-editor\" data-id=\"10af8f4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Do wykonania projektu sterowania o\u015bwietleniem b\u0119dziemy potrzebowa\u0107 modu\u0142u ESP32, modu\u0142u przeka\u017anika oraz diody LED lub \u017car\u00f3wki. Polecamy przygotowany przez nas <a href=\"https:\/\/botland.com.pl\/moduly-wifi-i-bt-esp32\/19291-esp32-starter-kit-zestaw-startowy-z-modulem-wifi-esp32-5903351242950.html\" target=\"_blank\" rel=\"noopener\" data-wpel-link=\"internal\">zestaw ESP32<\/a>, w kt\u00f3rym mo\u017cna znale\u017a\u0107 wszystkie niezb\u0119dne elementy do wykonania tego oraz poprzednich projekt\u00f3w.<\/p><p>Pe\u0142n\u0105 list\u0119 produkt\u00f3w mo\u017cna znale\u017a\u0107 poni\u017cej:<\/p><ul><li><a href=\"https:\/\/botland.com.pl\/moduly-wifi\/8893-esp32-wifi-bt-42-platforma-z-modulem-esp-wroom-32-zgodny-z-esp32-devkit.html\" target=\"_blank\" rel=\"noopener\" data-wpel-link=\"internal\">Modu\u0142 ESP32<\/a><\/li><li><a href=\"https:\/\/botland.com.pl\/przekazniki-przekazniki-arduino\/1997-modul-przekaznika-1-kanal-z-optoizolacja-styki-10a-250vac-cewka-5v-5904422302337.html\" target=\"_blank\" rel=\"noopener\" data-wpel-link=\"internal\">Modu\u0142 przeka\u017anika<\/a><\/li><li><a href=\"https:\/\/botland.com.pl\/diody-led\/1447-zestaw-diod-led-5mm-30szt.html\" target=\"_blank\" rel=\"noopener\" data-wpel-link=\"internal\">Dioda LED<\/a> (lub \u017car\u00f3wka)<\/li><li><a href=\"https:\/\/botland.com.pl\/rezystory-przewlekane\/4544-rezystor-tht-cf-weglowy-1-4w-330-30szt.html\" target=\"_blank\" rel=\"noopener\" data-wpel-link=\"internal\">Rezystor 330\u00a0\u03a9<\/a><\/li><li><a href=\"https:\/\/botland.com.pl\/tact-switch\/377-tact-switch-6x6mm-43mm-tht-5szt.html\" target=\"_blank\" rel=\"noopener\" data-wpel-link=\"internal\">Przycisk tact-switch<\/a><\/li><li><a href=\"https:\/\/botland.com.pl\/przewody-polaczeniowe\/1022-przewody-polaczeniowe-mesko-meskie-65szt.html\" target=\"_blank\" rel=\"noopener\" data-wpel-link=\"internal\">Przewody po\u0142\u0105czeniowe m\u0119sko-m\u0119skie<\/a> i <a href=\"https:\/\/botland.com.pl\/82-przewody-polaczeniowe?standard-przewodu=zensko-mesk-\" target=\"_blank\" rel=\"noopener\" data-wpel-link=\"internal\">\u017ce\u0144sko-m\u0119skie<\/a><\/li><li><a href=\"https:\/\/botland.com.pl\/476-przewody-microusb-20\" target=\"_blank\" rel=\"noopener\" data-wpel-link=\"internal\">Przew\u00f3d microUSB<\/a><\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-276849a elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"276849a\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-d1c1cbc\" data-id=\"d1c1cbc\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-f16ce60 elementor-widget elementor-widget-heading\" data-id=\"f16ce60\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Pod\u0142\u0105czenie element\u00f3w<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-5f8ec2f elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"5f8ec2f\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-81a02e5\" data-id=\"81a02e5\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-4228813 elementor-widget elementor-widget-text-editor\" data-id=\"4228813\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Przeka\u017anik, podobnie jak czujnik ruchu PIR, nie mo\u017ce by\u0107 wpi\u0119ty w p\u0142ytk\u0119 stykow\u0105. Modu\u0142 zosta\u0142 po\u0142\u0105czony z ESP32 za pomoc\u0105 przewod\u00f3w po\u0142\u0105czeniowych. Cewka przeka\u017anika zasilana jest napi\u0119ciem <b>5 V,<\/b> dlatego pin <b>VCC <\/b>pod\u0142\u0105czony zosta\u0142 do pinu <b>VIN<\/b> ESP32. W celu uruchomienia cewki przeka\u017anika z zestawu ESP32 nale\u017cy poda\u0107 <b>stan niski<\/b> na pin IN, my wykorzystamy <b>pin 5<\/b> modu\u0142u ESP32. Do z\u0142\u0105cz \u015brubowych nale\u017cy pod\u0142\u0105czy\u0107 urz\u0105dzenie, kt\u00f3re ma by\u0107 zasilane z wykorzystaniem przeka\u017anika, w naszym przypadku jest to dioda LED, kt\u00f3rej napi\u0119cie pod\u0142\u0105czona jest do styku COM oraz NO. Cewka przeka\u017anika zostanie za\u0142\u0105czona po wci\u015bni\u0119ciu przycisku pod\u0142\u0105czonego do <b>pinu 15 <\/b>modu\u0142u ESP32. Szczeg\u00f3\u0142owy schemat pod\u0142\u0105czenia mo\u017cna znale\u017a\u0107 poni\u017cej.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-099fbdb elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"099fbdb\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-93ecec7\" data-id=\"93ecec7\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-8ae7ae6 elementor-widget elementor-widget-image\" data-id=\"8ae7ae6\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"800\" height=\"473\" src=\"https:\/\/botland.com.pl\/blog\/wp-content\/uploads\/2021\/08\/ESP32_relay_button-1024x606.jpg\" class=\"attachment-large size-large wp-image-28577\" alt=\"Schemat pod\u0142\u0105czenia ESP32\" srcset=\"https:\/\/botland.com.pl\/blog\/wp-content\/uploads\/2021\/08\/ESP32_relay_button-1024x606.jpg 1024w, https:\/\/botland.com.pl\/blog\/wp-content\/uploads\/2021\/08\/ESP32_relay_button-300x178.jpg 300w, https:\/\/botland.com.pl\/blog\/wp-content\/uploads\/2021\/08\/ESP32_relay_button-768x455.jpg 768w, https:\/\/botland.com.pl\/blog\/wp-content\/uploads\/2021\/08\/ESP32_relay_button-1536x909.jpg 1536w, https:\/\/botland.com.pl\/blog\/wp-content\/uploads\/2021\/08\/ESP32_relay_button.jpg 1860w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-bd4b0b7 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"bd4b0b7\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-712df84\" data-id=\"712df84\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-5b2aff2 elementor-widget elementor-widget-heading\" data-id=\"5b2aff2\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Program dla ESP32<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e312317 elementor-widget elementor-widget-code-highlight\" data-id=\"e312317\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-default copy-to-clipboard word-wrap\">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-less line-numbers\">\n\t\t\t\t<code readonly=\"true\" class=\"language-less\">\n\t\t\t\t\t<xmp>    \/\/ definiujemy piny, gdzie pod\u0142\u0105czyli\u015bmy przeka\u017anik oraz__przycisk\r\nint relay_pin = 5;  \r\nint button_pin = 15;\r\n\r\nvoid setup() {\r\n  Serial.begin(115200);\r\n  pinMode(relay_pin, OUTPUT);   \/\/ ustawiamy pin przeka\u017anika jako OUTPUT \r\n  pinMode(button_pin, INPUT_PULLUP);    \/\/ ustawiamy pin przycisku jako INPUT_PULLUP\r\n}\r\n\r\nvoid loop() {\r\n  \/\/ definiujemy aby stan przycisku odczytywany by\u0142 cyforowo: wysoki \/ niski\r\n  int buttonState = digitalRead(button_pin);\r\n  \/\/ definiujemy zale\u017cno\u015b\u0107: \r\n  if (buttonState == LOW) { \/\/ je\u017celi przycisk przejdzie w stan niski\r\n    Serial.println(\"Przycisk zosta\u0142 wci\u015bni\u0119ty\");\r\n    digitalWrite(relay_pin, LOW);   \/\/ przeka\u017anik za\u0142\u0105czy si\u0119\r\n  }\r\n  else if (buttonState == HIGH) {\r\n    Serial.println(\"Przycisk zosta\u0142 puszczony\");\r\n    digitalWrite(relay_pin, HIGH);\r\n  }\r\n} <\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-f532ff9 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"f532ff9\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-32bb523\" data-id=\"32bb523\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-inner-section elementor-element elementor-element-55d62d2 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"55d62d2\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-2c007a9\" data-id=\"2c007a9\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-71a595b elementor-widget elementor-widget-image\" data-id=\"71a595b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/botland.com.pl\/blog\/wp-content\/uploads\/2021\/08\/IMG-2494-scaled.jpg\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"IMG-2494\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6Mjg1NzgsInVybCI6Imh0dHBzOlwvXC9ib3RsYW5kLmNvbS5wbFwvYmxvZ1wvd3AtY29udGVudFwvdXBsb2Fkc1wvMjAyMVwvMDhcL0lNRy0yNDk0LXNjYWxlZC5qcGcifQ%3D%3D\" data-wpel-link=\"internal\">\n\t\t\t\t\t\t\t<img decoding=\"async\" width=\"800\" height=\"600\" src=\"https:\/\/botland.com.pl\/blog\/wp-content\/uploads\/2021\/08\/IMG-2494-1024x768.jpg\" class=\"attachment-large size-large wp-image-28578\" alt=\"Pod\u0142\u0105czenie ESP32\" srcset=\"https:\/\/botland.com.pl\/blog\/wp-content\/uploads\/2021\/08\/IMG-2494-1024x768.jpg 1024w, https:\/\/botland.com.pl\/blog\/wp-content\/uploads\/2021\/08\/IMG-2494-300x225.jpg 300w, https:\/\/botland.com.pl\/blog\/wp-content\/uploads\/2021\/08\/IMG-2494-768x576.jpg 768w, https:\/\/botland.com.pl\/blog\/wp-content\/uploads\/2021\/08\/IMG-2494-1536x1152.jpg 1536w, https:\/\/botland.com.pl\/blog\/wp-content\/uploads\/2021\/08\/IMG-2494-2048x1536.jpg 2048w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-820da5f\" data-id=\"820da5f\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-c7d37e2 elementor-widget elementor-widget-image\" data-id=\"c7d37e2\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/botland.com.pl\/blog\/wp-content\/uploads\/2021\/08\/IMG-2495-scaled.jpg\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"IMG-2495\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6Mjg1NzksInVybCI6Imh0dHBzOlwvXC9ib3RsYW5kLmNvbS5wbFwvYmxvZ1wvd3AtY29udGVudFwvdXBsb2Fkc1wvMjAyMVwvMDhcL0lNRy0yNDk1LXNjYWxlZC5qcGcifQ%3D%3D\" data-wpel-link=\"internal\">\n\t\t\t\t\t\t\t<img decoding=\"async\" width=\"800\" height=\"600\" src=\"https:\/\/botland.com.pl\/blog\/wp-content\/uploads\/2021\/08\/IMG-2495-1024x768.jpg\" class=\"attachment-large size-large wp-image-28579\" alt=\"Pod\u0142\u0105czenie ESP32\" srcset=\"https:\/\/botland.com.pl\/blog\/wp-content\/uploads\/2021\/08\/IMG-2495-1024x768.jpg 1024w, https:\/\/botland.com.pl\/blog\/wp-content\/uploads\/2021\/08\/IMG-2495-300x225.jpg 300w, https:\/\/botland.com.pl\/blog\/wp-content\/uploads\/2021\/08\/IMG-2495-768x576.jpg 768w, https:\/\/botland.com.pl\/blog\/wp-content\/uploads\/2021\/08\/IMG-2495-1536x1152.jpg 1536w, https:\/\/botland.com.pl\/blog\/wp-content\/uploads\/2021\/08\/IMG-2495-2048x1536.jpg 2048w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-6d69350 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"6d69350\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-64cb23a\" data-id=\"64cb23a\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-fe90dde elementor-widget elementor-widget-heading\" data-id=\"fe90dde\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Zdalne sterowanie przeka\u017anikiem<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-b074aa5 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"b074aa5\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-5b802a2\" data-id=\"5b802a2\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-2347b79 elementor-widget elementor-widget-text-editor\" data-id=\"2347b79\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Mo\u017cna wykorzysta\u0107 ESP32 web server w celu zdalnego sterowania o\u015bwietleniem za pomoc\u0105 przeka\u017anik\u00f3w. W poni\u017cszym programie mo\u017cna wykorzysta\u0107 dowoln\u0105 ilo\u015b\u0107 przeka\u017anik\u00f3w zmieniaj\u0105c ilo\u015b\u0107 podan\u0105 w linii\u00a0#define NUM_RELAYS oraz poda\u0107 odpowiednie piny, do kt\u00f3rych przeka\u017aniki zosta\u0142y pod\u0142\u0105czone w\u00a0int relayGPIOs[NUM_RELAYS] = { };.<\/p><p>Po za\u0142adowaniu programu, w monitorze szeregowym uka\u017ce si\u0119 lokalny adres IP, na kt\u00f3rym utworzony zosta\u0142 serwer.\u00a0<\/p><pre><i>https:\/\/randomnerdtutorials.com\/esp32-esp8266-relay-web-server\/<\/i><\/pre>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-856bbd1 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"856bbd1\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-5385cfd\" data-id=\"5385cfd\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-804020a elementor-widget elementor-widget-image\" data-id=\"804020a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"473\" src=\"https:\/\/botland.com.pl\/blog\/wp-content\/uploads\/2021\/08\/ESP32_relay_bb-1024x606.jpg\" class=\"attachment-large size-large wp-image-28585\" alt=\"Schemat po\u0142\u0105czenia ESP32\" srcset=\"https:\/\/botland.com.pl\/blog\/wp-content\/uploads\/2021\/08\/ESP32_relay_bb-1024x606.jpg 1024w, https:\/\/botland.com.pl\/blog\/wp-content\/uploads\/2021\/08\/ESP32_relay_bb-300x178.jpg 300w, https:\/\/botland.com.pl\/blog\/wp-content\/uploads\/2021\/08\/ESP32_relay_bb-768x455.jpg 768w, https:\/\/botland.com.pl\/blog\/wp-content\/uploads\/2021\/08\/ESP32_relay_bb-1536x909.jpg 1536w, https:\/\/botland.com.pl\/blog\/wp-content\/uploads\/2021\/08\/ESP32_relay_bb.jpg 1860w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-9abe9bc elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"9abe9bc\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-b98e380\" data-id=\"b98e380\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-937f5b6 elementor-widget elementor-widget-code-highlight\" data-id=\"937f5b6\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-default copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-javascript line-numbers\">\n\t\t\t\t<code readonly=\"true\" class=\"language-javascript\">\n\t\t\t\t\t<xmp>#include <WiFi.h>\r\n#include <AsyncTCP.h>\r\n#include <ESPAsyncWebServer.h>\r\n\r\n\/\/Ustaw warto\u015b\u0107 true, aby zdefiniowa\u0107 przeka\u017anik jako normalnie otwarty (NO)\r\n#define RELAY_NO    true\r\n\r\n\/\/Ustaw liczb\u0119 przeka\u017anik\u00f3w\r\n#define NUM_RELAYS  1\r\n\r\n\/\/Przyporz\u0105dkuj ka\u017cde GPIO do przeka\u017anika\r\nint relayGPIOs[NUM_RELAYS] = {5};\r\n\r\nconst char* ssid = \"Twoje_SSID\";\r\nconst char* password = \"Twoje_haslo\";\r\n\r\nconst char* PARAM_INPUT_1 = \"relay\";\r\nconst char* PARAM_INPUT_2 = \"state\";\r\n\r\n\/\/Tworzenie obiektu AsyncWebServer na porcie 80\r\nAsyncWebServer server(80);\r\n\r\nconst char index_html[] PROGMEM = R\"rawliteral(\r\n<!DOCTYPE HTML><html>\r\n<head>\r\n  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\r\n  <style>\r\n    html {font-family: Arial; display: inline-block; text-align: center;}\r\n    h2 {font-size: 3.0rem;}\r\n    p {font-size: 3.0rem;}\r\n    body {max-width: 600px; margin:0px auto; padding-bottom: 25px;}\r\n    .switch {position: relative; display: inline-block; width: 120px; height: 68px} \r\n    .switch input {display: none}\r\n    .slider {position: absolute; top: 0; left: 0; right: 0; bottom: 0; background-color: #ccc; border-radius: 34px}\r\n    .slider:before {position: absolute; content: \"\"; height: 52px; width: 52px; left: 8px; bottom: 8px; background-color: #fff; -webkit-transition: .4s; transition: .4s; border-radius: 68px}\r\n    input:checked+.slider {background-color: #2196F3}\r\n    input:checked+.slider:before {-webkit-transform: translateX(52px); -ms-transform: translateX(52px); transform: translateX(52px)}\r\n  <\/style>\r\n<\/head>\r\n<body>\r\n  <h2>Oswietlenie<\/h2>\r\n  %BUTTONPLACEHOLDER%\r\n<script>function toggleCheckbox(element) {\r\n  var xhr = new XMLHttpRequest();\r\n  if(element.checked){ xhr.open(\"GET\", \"\/update?relay=\"+element.id+\"&state=1\", true); }\r\n  else { xhr.open(\"GET\", \"\/update?relay=\"+element.id+\"&state=0\", true); }\r\n  xhr.send();\r\n}<\/script>\r\n<\/body>\r\n<\/html>\r\n)rawliteral\";\r\n\r\n\/\/Zast\u0119puje placeholder sekcj\u0105 przycisku na twojej stronie internetowej\r\nString processor(const String& var){\r\n  \/\/Serial.println(var);\r\n  if(var == \"BUTTONPLACEHOLDER\"){\r\n    String buttons =\"\";\r\n    for(int i=1; i<=NUM_RELAYS; i++){\r\n      String relayStateValue = relayState(i);\r\n      buttons+= \"<h4>Przekaznik #\" + String(i) + \" - GPIO \" + relayGPIOs[i-1] + \"<\/h4><label class=\\\"switch\\\"><input type=\\\"checkbox\\\" onchange=\\\"toggleCheckbox(this)\\\" id=\\\"\" + String(i) + \"\\\" \"+ relayStateValue +\"><span class=\\\"slider\\\"><\/span><\/label>\";\r\n    }\r\n    return buttons;\r\n  }\r\n  return String();\r\n}\r\n\r\nString relayState(int numRelay){\r\n  if(RELAY_NO){\r\n    if(digitalRead(relayGPIOs[numRelay-1])){\r\n      return \"\";\r\n    }\r\n    else {\r\n      return \"checked\";\r\n    }\r\n  }\r\n  else {\r\n    if(digitalRead(relayGPIOs[numRelay-1])){\r\n      return \"checked\";\r\n    }\r\n    else {\r\n      return \"\";\r\n    }\r\n  }\r\n  return \"\";\r\n}\r\n\r\nvoid setup(){\r\n  Serial.begin(115200);\r\n\r\n    \/\/ Ustaw wszystkie przeka\u017aniki na wy\u0142\u0105czenie przy starcie programu - je\u015bli ustawione na Normally Open (NO), przeka\u017anik jest wy\u0142\u0105czony, gdy ustawisz przeka\u017anik na HIGH\r\n  for(int i=1; i<=NUM_RELAYS; i++){\r\n    pinMode(relayGPIOs[i-1], OUTPUT);\r\n    if(RELAY_NO){\r\n      digitalWrite(relayGPIOs[i-1], HIGH);\r\n    }\r\n    else{\r\n      digitalWrite(relayGPIOs[i-1], LOW);\r\n    }\r\n  }\r\n  \r\n  \/\/Po\u0142\u0105cz z WiFi\r\n  WiFi.begin(ssid, password);\r\n  while (WiFi.status() != WL_CONNECTED) {\r\n    delay(1000);\r\n    Serial.println(\"\u0141\u0105czenie z WiFi..\");\r\n  }\r\n\r\n  \/\/Wy\u015bwietl lokalne IP\r\n  Serial.println(WiFi.localIP());\r\n\r\n  \/\/ Route dla root \/ web page\r\n  server.on(\"\/\", HTTP_GET, [](AsyncWebServerRequest *request){\r\n    request->send_P(200, \"text\/html\", index_html, processor);\r\n  });\r\n\r\n  \/\/Wy\u015blij \u017c\u0105danie GET do <ESP_IP>\/update?relay=<inputMessage>&state=<inputMessage2>.\r\n  server.on(\"\/update\", HTTP_GET, [] (AsyncWebServerRequest *request) {\r\n    String inputMessage;\r\n    String inputParam;\r\n    String inputMessage2;\r\n    String inputParam2;\r\n    \/\/GET input1 value on <ESP_IP>\/update?relay=<inputMessage>\r\n    if (request->hasParam(PARAM_INPUT_1) & request->hasParam(PARAM_INPUT_2)) {\r\n      inputMessage = request->getParam(PARAM_INPUT_1)->value();\r\n      inputParam = PARAM_INPUT_1;\r\n      inputMessage2 = request->getParam(PARAM_INPUT_2)->value();\r\n      inputParam2 = PARAM_INPUT_2;\r\n      if(RELAY_NO){\r\n        Serial.print(\"NO \");\r\n        digitalWrite(relayGPIOs[inputMessage.toInt()-1], !inputMessage2.toInt());\r\n      }\r\n      else{\r\n        Serial.print(\"NC \");\r\n        digitalWrite(relayGPIOs[inputMessage.toInt()-1], inputMessage2.toInt());\r\n      }\r\n    }\r\n    else {\r\n      inputMessage = \"No message sent\";\r\n      inputParam = \"none\";\r\n    }\r\n    Serial.println(inputMessage + inputMessage2);\r\n    request->send(200, \"text\/plain\", \"OK\");\r\n  });\r\n  \/\/ Start server\r\n  server.begin();\r\n}\r\n  \r\nvoid loop() {\r\n\r\n}<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-b22aece elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"b22aece\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-1ca9f24\" data-id=\"1ca9f24\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-inner-section elementor-element elementor-element-edcd928 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"edcd928\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-366b2f8\" data-id=\"366b2f8\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-e997561 elementor-widget elementor-widget-image\" data-id=\"e997561\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"391\" src=\"https:\/\/botland.com.pl\/blog\/wp-content\/uploads\/2021\/08\/chrome_xWmCfm4aiU-1024x500.png\" class=\"attachment-large size-large wp-image-28583\" alt=\"\" srcset=\"https:\/\/botland.com.pl\/blog\/wp-content\/uploads\/2021\/08\/chrome_xWmCfm4aiU-1024x500.png 1024w, https:\/\/botland.com.pl\/blog\/wp-content\/uploads\/2021\/08\/chrome_xWmCfm4aiU-300x146.png 300w, https:\/\/botland.com.pl\/blog\/wp-content\/uploads\/2021\/08\/chrome_xWmCfm4aiU-768x375.png 768w, https:\/\/botland.com.pl\/blog\/wp-content\/uploads\/2021\/08\/chrome_xWmCfm4aiU-1536x750.png 1536w, https:\/\/botland.com.pl\/blog\/wp-content\/uploads\/2021\/08\/chrome_xWmCfm4aiU.png 1920w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-d5732c1\" data-id=\"d5732c1\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-1b86464 elementor-widget elementor-widget-image\" data-id=\"1b86464\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"600\" src=\"https:\/\/botland.com.pl\/blog\/wp-content\/uploads\/2021\/08\/IMG-2502-1024x768.jpg\" class=\"attachment-large size-large wp-image-28581\" alt=\"Pod\u0142\u0105czenie ESP32\" srcset=\"https:\/\/botland.com.pl\/blog\/wp-content\/uploads\/2021\/08\/IMG-2502-1024x768.jpg 1024w, https:\/\/botland.com.pl\/blog\/wp-content\/uploads\/2021\/08\/IMG-2502-300x225.jpg 300w, https:\/\/botland.com.pl\/blog\/wp-content\/uploads\/2021\/08\/IMG-2502-768x576.jpg 768w, https:\/\/botland.com.pl\/blog\/wp-content\/uploads\/2021\/08\/IMG-2502-1536x1152.jpg 1536w, https:\/\/botland.com.pl\/blog\/wp-content\/uploads\/2021\/08\/IMG-2502-2048x1536.jpg 2048w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-7dd1ee8 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"7dd1ee8\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-f187f9a\" data-id=\"f187f9a\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-inner-section elementor-element elementor-element-5815efa elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"5815efa\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-8b9fe84\" data-id=\"8b9fe84\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-9115224 elementor-widget elementor-widget-image\" data-id=\"9115224\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"391\" src=\"https:\/\/botland.com.pl\/blog\/wp-content\/uploads\/2021\/08\/chrome_yQNSSnIlAn-1024x500.png\" class=\"attachment-large size-large wp-image-28584\" alt=\"\" srcset=\"https:\/\/botland.com.pl\/blog\/wp-content\/uploads\/2021\/08\/chrome_yQNSSnIlAn-1024x500.png 1024w, https:\/\/botland.com.pl\/blog\/wp-content\/uploads\/2021\/08\/chrome_yQNSSnIlAn-300x146.png 300w, https:\/\/botland.com.pl\/blog\/wp-content\/uploads\/2021\/08\/chrome_yQNSSnIlAn-768x375.png 768w, https:\/\/botland.com.pl\/blog\/wp-content\/uploads\/2021\/08\/chrome_yQNSSnIlAn-1536x750.png 1536w, https:\/\/botland.com.pl\/blog\/wp-content\/uploads\/2021\/08\/chrome_yQNSSnIlAn.png 1920w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-3b1b05d\" data-id=\"3b1b05d\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-b959a10 elementor-widget elementor-widget-image\" data-id=\"b959a10\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"600\" src=\"https:\/\/botland.com.pl\/blog\/wp-content\/uploads\/2021\/08\/IMG-2503-1024x768.jpg\" class=\"attachment-large size-large wp-image-28582\" alt=\"Pod\u0142\u0105czenie ESP32\" srcset=\"https:\/\/botland.com.pl\/blog\/wp-content\/uploads\/2021\/08\/IMG-2503-1024x768.jpg 1024w, https:\/\/botland.com.pl\/blog\/wp-content\/uploads\/2021\/08\/IMG-2503-300x225.jpg 300w, https:\/\/botland.com.pl\/blog\/wp-content\/uploads\/2021\/08\/IMG-2503-768x576.jpg 768w, https:\/\/botland.com.pl\/blog\/wp-content\/uploads\/2021\/08\/IMG-2503-1536x1152.jpg 1536w, https:\/\/botland.com.pl\/blog\/wp-content\/uploads\/2021\/08\/IMG-2503-2048x1536.jpg 2048w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Poradnik pod\u0142\u0105czenia przeka\u017anika do modu\u0142u ESP32 oraz tworzenie systemu sterowania o\u015bwietleniem z wykorzystaniem diody LED krok po kroku.<\/p>\n","protected":false},"author":5,"featured_media":62356,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[7,20],"tags":[],"class_list":["post-28573","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-elektronika","category-porady"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>ESP32 - pod\u0142\u0105czenie przeka\u017anika i o\u015bwietlenie LED - Botland<\/title>\n<meta name=\"description\" content=\"Poradnik pod\u0142\u0105czenia przeka\u017anika do modu\u0142u ESP32 oraz tworzenie systemu sterowania o\u015bwietleniem z wykorzystaniem diody LED krok po kroku.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/botland.com.pl\/blog\/esp32-podlaczenie-przekaznika-i-oswietlenie-led\/\" \/>\n<meta property=\"og:locale\" content=\"pl_PL\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"ESP32 - pod\u0142\u0105czenie przeka\u017anika i o\u015bwietlenie LED - Botland\" \/>\n<meta property=\"og:description\" content=\"Poradnik pod\u0142\u0105czenia przeka\u017anika do modu\u0142u ESP32 oraz tworzenie systemu sterowania o\u015bwietleniem z wykorzystaniem diody LED krok po kroku.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/botland.com.pl\/blog\/esp32-podlaczenie-przekaznika-i-oswietlenie-led\/\" \/>\n<meta property=\"og:site_name\" content=\"Botland\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/facebook.com\/Botland\/\" \/>\n<meta property=\"article:published_time\" content=\"2021-09-09T06:00:14+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-05-24T08:03:56+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/botland.com.pl\/blog\/wp-content\/uploads\/2023\/05\/new2023-zestaw-esp32_okladka-nr5-przekaznik-4.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1510\" \/>\n\t<meta property=\"og:image:height\" content=\"755\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Grzegorz Galuba\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Napisane przez\" \/>\n\t<meta name=\"twitter:data1\" content=\"Grzegorz Galuba\" \/>\n\t<meta name=\"twitter:label2\" content=\"Szacowany czas czytania\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minut\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/botland.com.pl\\\/blog\\\/esp32-podlaczenie-przekaznika-i-oswietlenie-led\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/botland.com.pl\\\/blog\\\/esp32-podlaczenie-przekaznika-i-oswietlenie-led\\\/\"},\"author\":{\"name\":\"Grzegorz Galuba\",\"@id\":\"https:\\\/\\\/botland.com.pl\\\/blog\\\/#\\\/schema\\\/person\\\/320f225a4bee757f7d030c49aea2a072\"},\"headline\":\"ESP32 &#8211; pod\u0142\u0105czenie przeka\u017anika i o\u015bwietlenie LED\",\"datePublished\":\"2021-09-09T06:00:14+00:00\",\"dateModified\":\"2023-05-24T08:03:56+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/botland.com.pl\\\/blog\\\/esp32-podlaczenie-przekaznika-i-oswietlenie-led\\\/\"},\"wordCount\":378,\"publisher\":{\"@id\":\"https:\\\/\\\/botland.com.pl\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/botland.com.pl\\\/blog\\\/esp32-podlaczenie-przekaznika-i-oswietlenie-led\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/botland.com.pl\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/05\\\/new2023-zestaw-esp32_okladka-nr5-przekaznik-4.jpg\",\"articleSection\":[\"Elektronika\",\"Porady\"],\"inLanguage\":\"pl-PL\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/botland.com.pl\\\/blog\\\/esp32-podlaczenie-przekaznika-i-oswietlenie-led\\\/\",\"url\":\"https:\\\/\\\/botland.com.pl\\\/blog\\\/esp32-podlaczenie-przekaznika-i-oswietlenie-led\\\/\",\"name\":\"ESP32 - pod\u0142\u0105czenie przeka\u017anika i o\u015bwietlenie LED - Botland\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/botland.com.pl\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/botland.com.pl\\\/blog\\\/esp32-podlaczenie-przekaznika-i-oswietlenie-led\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/botland.com.pl\\\/blog\\\/esp32-podlaczenie-przekaznika-i-oswietlenie-led\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/botland.com.pl\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/05\\\/new2023-zestaw-esp32_okladka-nr5-przekaznik-4.jpg\",\"datePublished\":\"2021-09-09T06:00:14+00:00\",\"dateModified\":\"2023-05-24T08:03:56+00:00\",\"description\":\"Poradnik pod\u0142\u0105czenia przeka\u017anika do modu\u0142u ESP32 oraz tworzenie systemu sterowania o\u015bwietleniem z wykorzystaniem diody LED krok po kroku.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/botland.com.pl\\\/blog\\\/esp32-podlaczenie-przekaznika-i-oswietlenie-led\\\/#breadcrumb\"},\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/botland.com.pl\\\/blog\\\/esp32-podlaczenie-przekaznika-i-oswietlenie-led\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\\\/\\\/botland.com.pl\\\/blog\\\/esp32-podlaczenie-przekaznika-i-oswietlenie-led\\\/#primaryimage\",\"url\":\"https:\\\/\\\/botland.com.pl\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/05\\\/new2023-zestaw-esp32_okladka-nr5-przekaznik-4.jpg\",\"contentUrl\":\"https:\\\/\\\/botland.com.pl\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/05\\\/new2023-zestaw-esp32_okladka-nr5-przekaznik-4.jpg\",\"width\":1510,\"height\":755},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/botland.com.pl\\\/blog\\\/esp32-podlaczenie-przekaznika-i-oswietlenie-led\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Strona g\u0142\u00f3wna\",\"item\":\"https:\\\/\\\/botland.com.pl\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"ESP32 &#8211; pod\u0142\u0105czenie przeka\u017anika i&nbsp;o\u015bwietlenie LED\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/botland.com.pl\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/botland.com.pl\\\/blog\\\/\",\"name\":\"Botland\",\"description\":\"Blog Raspberry Pi, Arduino, elektronika i robotyka - Botland\",\"publisher\":{\"@id\":\"https:\\\/\\\/botland.com.pl\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/botland.com.pl\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pl-PL\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/botland.com.pl\\\/blog\\\/#organization\",\"name\":\"Botland\",\"url\":\"https:\\\/\\\/botland.com.pl\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\\\/\\\/botland.com.pl\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/botland.store\\\/blog\\\/wp-content\\\/uploads\\\/2018\\\/04\\\/logo_kolor_WP_2-1.png\",\"contentUrl\":\"https:\\\/\\\/botland.store\\\/blog\\\/wp-content\\\/uploads\\\/2018\\\/04\\\/logo_kolor_WP_2-1.png\",\"width\":250,\"height\":57,\"caption\":\"Botland\"},\"image\":{\"@id\":\"https:\\\/\\\/botland.com.pl\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/facebook.com\\\/Botland\\\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/botland.com.pl\\\/blog\\\/#\\\/schema\\\/person\\\/320f225a4bee757f7d030c49aea2a072\",\"name\":\"Grzegorz Galuba\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\\\/\\\/botland.com.pl\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/03\\\/logo_kolor_WP_3-1-150x150.png\",\"url\":\"https:\\\/\\\/botland.com.pl\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/03\\\/logo_kolor_WP_3-1-150x150.png\",\"contentUrl\":\"https:\\\/\\\/botland.com.pl\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/03\\\/logo_kolor_WP_3-1-150x150.png\",\"caption\":\"Grzegorz Galuba\"},\"description\":\"GG nie ma czasu na gadu-gadu - jest zawsze na bie\u017c\u0105co z nowo\u015bciami z oferty, wybiera tylko najlepsze i dba, aby pojawia\u0142y si\u0119 na czas. Jego rozleg\u0142a wiedza o specyfikacjach technicznych produkt\u00f3w to nieocenione wsparcie dla ca\u0142ej ekipy. Do pracy przyje\u017cd\u017ca rowerem i ju\u017c najwy\u017csza pora, aby wszyscy zacz\u0119li bra\u0107 z niego przyk\u0142ad. Oaza spokoju.\",\"url\":\"https:\\\/\\\/botland.com.pl\\\/blog\\\/author\\\/grzegorz\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"ESP32 - pod\u0142\u0105czenie przeka\u017anika i o\u015bwietlenie LED - Botland","description":"Poradnik pod\u0142\u0105czenia przeka\u017anika do modu\u0142u ESP32 oraz tworzenie systemu sterowania o\u015bwietleniem z wykorzystaniem diody LED krok po kroku.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/botland.com.pl\/blog\/esp32-podlaczenie-przekaznika-i-oswietlenie-led\/","og_locale":"pl_PL","og_type":"article","og_title":"ESP32 - pod\u0142\u0105czenie przeka\u017anika i o\u015bwietlenie LED - Botland","og_description":"Poradnik pod\u0142\u0105czenia przeka\u017anika do modu\u0142u ESP32 oraz tworzenie systemu sterowania o\u015bwietleniem z wykorzystaniem diody LED krok po kroku.","og_url":"https:\/\/botland.com.pl\/blog\/esp32-podlaczenie-przekaznika-i-oswietlenie-led\/","og_site_name":"Botland","article_publisher":"https:\/\/facebook.com\/Botland\/","article_published_time":"2021-09-09T06:00:14+00:00","article_modified_time":"2023-05-24T08:03:56+00:00","og_image":[{"width":1510,"height":755,"url":"https:\/\/botland.com.pl\/blog\/wp-content\/uploads\/2023\/05\/new2023-zestaw-esp32_okladka-nr5-przekaznik-4.jpg","type":"image\/jpeg"}],"author":"Grzegorz Galuba","twitter_card":"summary_large_image","twitter_misc":{"Napisane przez":"Grzegorz Galuba","Szacowany czas czytania":"8 minut"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/botland.com.pl\/blog\/esp32-podlaczenie-przekaznika-i-oswietlenie-led\/#article","isPartOf":{"@id":"https:\/\/botland.com.pl\/blog\/esp32-podlaczenie-przekaznika-i-oswietlenie-led\/"},"author":{"name":"Grzegorz Galuba","@id":"https:\/\/botland.com.pl\/blog\/#\/schema\/person\/320f225a4bee757f7d030c49aea2a072"},"headline":"ESP32 &#8211; pod\u0142\u0105czenie przeka\u017anika i o\u015bwietlenie LED","datePublished":"2021-09-09T06:00:14+00:00","dateModified":"2023-05-24T08:03:56+00:00","mainEntityOfPage":{"@id":"https:\/\/botland.com.pl\/blog\/esp32-podlaczenie-przekaznika-i-oswietlenie-led\/"},"wordCount":378,"publisher":{"@id":"https:\/\/botland.com.pl\/blog\/#organization"},"image":{"@id":"https:\/\/botland.com.pl\/blog\/esp32-podlaczenie-przekaznika-i-oswietlenie-led\/#primaryimage"},"thumbnailUrl":"https:\/\/botland.com.pl\/blog\/wp-content\/uploads\/2023\/05\/new2023-zestaw-esp32_okladka-nr5-przekaznik-4.jpg","articleSection":["Elektronika","Porady"],"inLanguage":"pl-PL"},{"@type":"WebPage","@id":"https:\/\/botland.com.pl\/blog\/esp32-podlaczenie-przekaznika-i-oswietlenie-led\/","url":"https:\/\/botland.com.pl\/blog\/esp32-podlaczenie-przekaznika-i-oswietlenie-led\/","name":"ESP32 - pod\u0142\u0105czenie przeka\u017anika i o\u015bwietlenie LED - Botland","isPartOf":{"@id":"https:\/\/botland.com.pl\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/botland.com.pl\/blog\/esp32-podlaczenie-przekaznika-i-oswietlenie-led\/#primaryimage"},"image":{"@id":"https:\/\/botland.com.pl\/blog\/esp32-podlaczenie-przekaznika-i-oswietlenie-led\/#primaryimage"},"thumbnailUrl":"https:\/\/botland.com.pl\/blog\/wp-content\/uploads\/2023\/05\/new2023-zestaw-esp32_okladka-nr5-przekaznik-4.jpg","datePublished":"2021-09-09T06:00:14+00:00","dateModified":"2023-05-24T08:03:56+00:00","description":"Poradnik pod\u0142\u0105czenia przeka\u017anika do modu\u0142u ESP32 oraz tworzenie systemu sterowania o\u015bwietleniem z wykorzystaniem diody LED krok po kroku.","breadcrumb":{"@id":"https:\/\/botland.com.pl\/blog\/esp32-podlaczenie-przekaznika-i-oswietlenie-led\/#breadcrumb"},"inLanguage":"pl-PL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/botland.com.pl\/blog\/esp32-podlaczenie-przekaznika-i-oswietlenie-led\/"]}]},{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/botland.com.pl\/blog\/esp32-podlaczenie-przekaznika-i-oswietlenie-led\/#primaryimage","url":"https:\/\/botland.com.pl\/blog\/wp-content\/uploads\/2023\/05\/new2023-zestaw-esp32_okladka-nr5-przekaznik-4.jpg","contentUrl":"https:\/\/botland.com.pl\/blog\/wp-content\/uploads\/2023\/05\/new2023-zestaw-esp32_okladka-nr5-przekaznik-4.jpg","width":1510,"height":755},{"@type":"BreadcrumbList","@id":"https:\/\/botland.com.pl\/blog\/esp32-podlaczenie-przekaznika-i-oswietlenie-led\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Strona g\u0142\u00f3wna","item":"https:\/\/botland.com.pl\/blog\/"},{"@type":"ListItem","position":2,"name":"ESP32 &#8211; pod\u0142\u0105czenie przeka\u017anika i&nbsp;o\u015bwietlenie LED"}]},{"@type":"WebSite","@id":"https:\/\/botland.com.pl\/blog\/#website","url":"https:\/\/botland.com.pl\/blog\/","name":"Botland","description":"Blog Raspberry Pi, Arduino, elektronika i robotyka - Botland","publisher":{"@id":"https:\/\/botland.com.pl\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/botland.com.pl\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pl-PL"},{"@type":"Organization","@id":"https:\/\/botland.com.pl\/blog\/#organization","name":"Botland","url":"https:\/\/botland.com.pl\/blog\/","logo":{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/botland.com.pl\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/botland.store\/blog\/wp-content\/uploads\/2018\/04\/logo_kolor_WP_2-1.png","contentUrl":"https:\/\/botland.store\/blog\/wp-content\/uploads\/2018\/04\/logo_kolor_WP_2-1.png","width":250,"height":57,"caption":"Botland"},"image":{"@id":"https:\/\/botland.com.pl\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/facebook.com\/Botland\/"]},{"@type":"Person","@id":"https:\/\/botland.com.pl\/blog\/#\/schema\/person\/320f225a4bee757f7d030c49aea2a072","name":"Grzegorz Galuba","image":{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/botland.com.pl\/blog\/wp-content\/uploads\/2019\/03\/logo_kolor_WP_3-1-150x150.png","url":"https:\/\/botland.com.pl\/blog\/wp-content\/uploads\/2019\/03\/logo_kolor_WP_3-1-150x150.png","contentUrl":"https:\/\/botland.com.pl\/blog\/wp-content\/uploads\/2019\/03\/logo_kolor_WP_3-1-150x150.png","caption":"Grzegorz Galuba"},"description":"GG nie ma czasu na gadu-gadu - jest zawsze na bie\u017c\u0105co z nowo\u015bciami z oferty, wybiera tylko najlepsze i dba, aby pojawia\u0142y si\u0119 na czas. Jego rozleg\u0142a wiedza o specyfikacjach technicznych produkt\u00f3w to nieocenione wsparcie dla ca\u0142ej ekipy. Do pracy przyje\u017cd\u017ca rowerem i ju\u017c najwy\u017csza pora, aby wszyscy zacz\u0119li bra\u0107 z niego przyk\u0142ad. Oaza spokoju.","url":"https:\/\/botland.com.pl\/blog\/author\/grzegorz\/"}]}},"_links":{"self":[{"href":"https:\/\/botland.com.pl\/blog\/wp-json\/wp\/v2\/posts\/28573","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/botland.com.pl\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/botland.com.pl\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/botland.com.pl\/blog\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/botland.com.pl\/blog\/wp-json\/wp\/v2\/comments?post=28573"}],"version-history":[{"count":0,"href":"https:\/\/botland.com.pl\/blog\/wp-json\/wp\/v2\/posts\/28573\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/botland.com.pl\/blog\/wp-json\/wp\/v2\/media\/62356"}],"wp:attachment":[{"href":"https:\/\/botland.com.pl\/blog\/wp-json\/wp\/v2\/media?parent=28573"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/botland.com.pl\/blog\/wp-json\/wp\/v2\/categories?post=28573"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/botland.com.pl\/blog\/wp-json\/wp\/v2\/tags?post=28573"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}