<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
	<id>https://wikifab.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Simijames</id>
	<title>Wikifab - Contributions de l’utilisateur [fr]</title>
	<link rel="self" type="application/atom+xml" href="https://wikifab.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Simijames"/>
	<link rel="alternate" type="text/html" href="https://wikifab.org/wiki/Sp%C3%A9cial:Contributions/Simijames"/>
	<updated>2026-05-20T10:36:00Z</updated>
	<subtitle>Contributions de l’utilisateur</subtitle>
	<generator>MediaWiki 1.31.3</generator>
	<entry>
		<id>https://wikifab.org/w/index.php?title=Getting_Started_with_ESP-NOW&amp;diff=170797</id>
		<title>Getting Started with ESP-NOW</title>
		<link rel="alternate" type="text/html" href="https://wikifab.org/w/index.php?title=Getting_Started_with_ESP-NOW&amp;diff=170797"/>
		<updated>2024-06-02T13:53:41Z</updated>

		<summary type="html">&lt;p&gt;Simijames : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Tuto Details&lt;br /&gt;
|Main_Picture=Getting_Started_with_ESP-NOW_1.PNG&lt;br /&gt;
|Main_Picture_annotation={&amp;quot;version&amp;quot;:&amp;quot;2.4.6&amp;quot;,&amp;quot;objects&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;image&amp;quot;,&amp;quot;version&amp;quot;:&amp;quot;2.4.6&amp;quot;,&amp;quot;originX&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;originY&amp;quot;:&amp;quot;top&amp;quot;,&amp;quot;left&amp;quot;:-2,&amp;quot;top&amp;quot;:-4,&amp;quot;width&amp;quot;:763,&amp;quot;height&amp;quot;:572,&amp;quot;fill&amp;quot;:&amp;quot;rgb(0,0,0)&amp;quot;,&amp;quot;stroke&amp;quot;:null,&amp;quot;strokeWidth&amp;quot;:0,&amp;quot;strokeDashArray&amp;quot;:null,&amp;quot;strokeLineCap&amp;quot;:&amp;quot;butt&amp;quot;,&amp;quot;strokeDashOffset&amp;quot;:0,&amp;quot;strokeLineJoin&amp;quot;:&amp;quot;miter&amp;quot;,&amp;quot;strokeMiterLimit&amp;quot;:4,&amp;quot;scaleX&amp;quot;:0.79,&amp;quot;scaleY&amp;quot;:0.79,&amp;quot;angle&amp;quot;:0,&amp;quot;flipX&amp;quot;:false,&amp;quot;flipY&amp;quot;:false,&amp;quot;opacity&amp;quot;:1,&amp;quot;shadow&amp;quot;:null,&amp;quot;visible&amp;quot;:true,&amp;quot;clipTo&amp;quot;:null,&amp;quot;backgroundColor&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;fillRule&amp;quot;:&amp;quot;nonzero&amp;quot;,&amp;quot;paintFirst&amp;quot;:&amp;quot;fill&amp;quot;,&amp;quot;globalCompositeOperation&amp;quot;:&amp;quot;source-over&amp;quot;,&amp;quot;transformMatrix&amp;quot;:null,&amp;quot;skewX&amp;quot;:0,&amp;quot;skewY&amp;quot;:0,&amp;quot;crossOrigin&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;cropX&amp;quot;:0,&amp;quot;cropY&amp;quot;:0,&amp;quot;src&amp;quot;:&amp;quot;https://wikifab.org/images/8/8a/Getting_Started_with_ESP-NOW_1.PNG&amp;quot;,&amp;quot;filters&amp;quot;:[]}],&amp;quot;height&amp;quot;:450.199203187251,&amp;quot;width&amp;quot;:600}&lt;br /&gt;
|Description=&amp;lt;translate&amp;gt;Will guide you to communicate between ESP32 controllers by using ESP NOW protocol.&amp;lt;/translate&amp;gt;&lt;br /&gt;
|Area=Electronics&lt;br /&gt;
|Type=Technique&lt;br /&gt;
|Difficulty=Easy&lt;br /&gt;
|Duration=1&lt;br /&gt;
|Duration-type=hour(s)&lt;br /&gt;
|Cost=10&lt;br /&gt;
|Currency=USD ($)&lt;br /&gt;
|Tags=ESP 32, ESP-NOW, Iot, Microcontrollers&lt;br /&gt;
}}&lt;br /&gt;
{{Introduction&lt;br /&gt;
|Introduction=&amp;lt;translate&amp;gt;ESP-NOW is a wireless communication protocol based on the data-link layer that enables the direct, quick, and low-power control of smart devices without the need for a router. Espressif defines it and can work with Wi-Fi and Bluetooth LE. ESP-NOW provides flexible and low-power data transmission to all interconnected devices. It can also be used as an independent protocol that helps with device provisioning, debugging, and firmware upgrades.&lt;br /&gt;
&lt;br /&gt;
ESP-NOW is a connectionless communication protocol developed by Espressif that features short packet transmission. This protocol enables multiple devices to talk to each other in an easy way. It is a fast communication protocol that can be used to exchange small messages (up to 250 bytes) between ESP32 or ESP8266 boards. ESP-NOW supports the following features: Encrypted and unencrypted unicast communication; Mixed encrypted and unencrypted peer devices; Up to 250-byte payload can be carried; Sending callback function that can be set to inform the application layer of transmission success or failure.&amp;lt;/translate&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{Materials&lt;br /&gt;
|Material=&amp;lt;translate&amp;gt;&amp;lt;/translate&amp;gt;&lt;br /&gt;
|Tools=&amp;lt;translate&amp;gt;&amp;lt;/translate&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{Tuto Step&lt;br /&gt;
|Step_Title=&amp;lt;translate&amp;gt;Get PCBs for Your Projects Manufactured&amp;lt;/translate&amp;gt;&lt;br /&gt;
|Step_Content=&amp;lt;translate&amp;gt;You must check out [https://www.pcbway.com/ PCBWAY] for ordering PCBs online for cheap!&lt;br /&gt;
&lt;br /&gt;
You get 10 good-quality PCBs manufactured and shipped to your doorstep for cheap. You will also get a discount on shipping on your first order. Upload your Gerber files onto [https://www.pcbway.com/ PCBWAY] to get them manufactured with good quality and quick turnaround time. PCBWay now could provide a complete product solution, from design to enclosure production. Check out their online Gerber viewer function. With reward points, you can get free stuff from their gift shop.&amp;lt;/translate&amp;gt;&lt;br /&gt;
|Step_Picture_00=Getting_Started_with_ESP-NOW_2.PNG&lt;br /&gt;
}}&lt;br /&gt;
{{Tuto Step&lt;br /&gt;
|Step_Title=&amp;lt;translate&amp;gt;How is it different from existing protocols?&amp;lt;/translate&amp;gt;&lt;br /&gt;
|Step_Content=&amp;lt;translate&amp;gt;[https://www.theengineeringprojects.com/2022/01/esp-now-protocol-with-esp32-and-esp8266.html ESP-NOW] is a wireless communication protocol that is different from Wi-Fi and Bluetooth in that it reduces the five layers of the OSI model to only one1. Additionally, ESP-NOW occupies fewer CPU and flash resources than traditional connection protocols while co-exists with Wi-Fi and Bluetooth LE.&lt;br /&gt;
&lt;br /&gt;
Bluetooth is used to connect short-range devices for sharing information, while Wi-Fi is used for providing high-speed internet access2. Wi-Fi provides high bandwidth because the speed of the internet is an important issue.&lt;br /&gt;
&lt;br /&gt;
===Max Distance: ===&lt;br /&gt;
The range of ESP-NOW is up to 480 meters when using the ESP-NOW protocol for bridging between multiple ESP32s1. The range can be further increased by enabling long-range ESP-NOW. When enabled, the PHY rate of ESP32 will be 512Kbps or 256Kbps.&lt;br /&gt;
&lt;br /&gt;
===Maximum nodes: ===&lt;br /&gt;
ESP-NOW supports various series of Espressif chips, providing a flexible data transmission that is suitable for connecting “one-to-many” and “many-to-many” devices.&lt;br /&gt;
&lt;br /&gt;
===Applications: ===&lt;br /&gt;
ESP-NOW is widely used in&lt;br /&gt;
&lt;br /&gt;
*smart-home appliances,&lt;br /&gt;
*remote controlling,&lt;br /&gt;
*sensors, etc.&lt;br /&gt;
&lt;br /&gt;
In this tutorial, will see how to implement a basic ESP NOW communication between ESP32 Microcontrollers.&amp;lt;/translate&amp;gt;&lt;br /&gt;
|Step_Picture_00=Getting_Started_with_ESP-NOW_3_-_Copy.PNG&lt;br /&gt;
}}&lt;br /&gt;
{{Tuto Step&lt;br /&gt;
|Step_Title=&amp;lt;translate&amp;gt;Setting Up the Receiver&amp;lt;/translate&amp;gt;&lt;br /&gt;
|Step_Content=&amp;lt;translate&amp;gt;ESPNOW communication works based on the MAC address of the nodes. So, we need to find the Mac address of our slave or receiver node.&lt;br /&gt;
&lt;br /&gt;
]For that just upload the following sketch to the ESP32 board and look for the Mac address in the serial monitor.&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
#include &amp;quot;WiFi.h&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
void setup(){&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  WiFi.mode(WIFI_MODE_STA);&lt;br /&gt;
  Serial.println(WiFi.macAddress());&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
void loop(){&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Once you uploaded the code, press the EN button and wait for the serial monitor results. It will show you the Mac address. Note that.&amp;lt;/translate&amp;gt;&lt;br /&gt;
|Step_Picture_00=Getting_Started_with_ESP-NOW_4.PNG&lt;br /&gt;
|Step_Picture_01=Getting_Started_with_ESP-NOW_5.PNG&lt;br /&gt;
}}&lt;br /&gt;
{{Tuto Step&lt;br /&gt;
|Step_Title=&amp;lt;translate&amp;gt;Setting Up the Transmitter&amp;lt;/translate&amp;gt;&lt;br /&gt;
|Step_Content=&amp;lt;translate&amp;gt;Next, we need to prepare the transmitter, for that use this example sketch which can send multiple data types of data to the particular slave node.&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  // Register peer&lt;br /&gt;
  memcpy(peerInfo.peer_addr, broadcastAddress, 6);&lt;br /&gt;
  peerInfo.channel = 0;  &lt;br /&gt;
  peerInfo.encrypt = false;&lt;br /&gt;
  &lt;br /&gt;
  // Add peer        &lt;br /&gt;
  if (esp_now_add_peer(&amp;amp;peerInfo) != ESP_OK){&lt;br /&gt;
    Serial.println(&amp;quot;Failed to add peer&amp;quot;);&lt;br /&gt;
    return;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
void loop() {&lt;br /&gt;
  // Set values to send&lt;br /&gt;
  strcpy(myData.a, &amp;quot;I'm alive&amp;quot;);&lt;br /&gt;
  myData.b = random(1,20);&lt;br /&gt;
  myData.c = 1.2;&lt;br /&gt;
  myData.d = false;&lt;br /&gt;
  &lt;br /&gt;
  // Send message via ESP-NOW&lt;br /&gt;
  esp_err_t result = esp_now_send(broadcastAddress, (uint8_t *) &amp;amp;myData, sizeof(myData));&lt;br /&gt;
   &lt;br /&gt;
  if (result == ESP_OK) {&lt;br /&gt;
    Serial.println(&amp;quot;Sent with success&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  else {&lt;br /&gt;
    Serial.println(&amp;quot;Error sending the data&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  delay(2000);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;blockquote&amp;gt;Note: Change the Mac Address here&amp;lt;/blockquote&amp;gt;Here are the serial monitor results, it show sent success but not delivered. Because we don't have the receiver.&lt;br /&gt;
&lt;br /&gt;
Let's try to implement the receiver.&amp;lt;/translate&amp;gt;&lt;br /&gt;
|Step_Picture_00=Getting_Started_with_ESP-NOW_6.PNG&lt;br /&gt;
}}&lt;br /&gt;
{{Tuto Step&lt;br /&gt;
|Step_Title=&amp;lt;translate&amp;gt;Testing the Connection&amp;lt;/translate&amp;gt;&lt;br /&gt;
|Step_Content=&amp;lt;translate&amp;gt;With the help of below example sketch, you can receive the data from the master and it will print that into the serial monitor.&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
#include &amp;lt;esp_now.h&amp;gt;&lt;br /&gt;
#include &amp;lt;WiFi.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
// Structure example to receive data&lt;br /&gt;
typedef struct struct_message {&lt;br /&gt;
    char a[32];&lt;br /&gt;
    int b;&lt;br /&gt;
    float c;&lt;br /&gt;
    bool d;&lt;br /&gt;
} struct_message;&lt;br /&gt;
&lt;br /&gt;
// Create a struct_message called myData&lt;br /&gt;
struct_message myData;&lt;br /&gt;
&lt;br /&gt;
// callback function that will be executed when data is received&lt;br /&gt;
void OnDataRecv(const uint8_t * mac, const uint8_t *incomingData, int len) {&lt;br /&gt;
  memcpy(&amp;amp;myData, incomingData, sizeof(myData));&lt;br /&gt;
  Serial.print(&amp;quot;Bytes received: &amp;quot;);&lt;br /&gt;
  Serial.println(len);&lt;br /&gt;
  Serial.print(&amp;quot;Char: &amp;quot;);&lt;br /&gt;
  Serial.println(myData.a);&lt;br /&gt;
  Serial.print(&amp;quot;Int: &amp;quot;);&lt;br /&gt;
  Serial.println(myData.b);&lt;br /&gt;
  Serial.print(&amp;quot;Float: &amp;quot;);&lt;br /&gt;
  Serial.println(myData.c);&lt;br /&gt;
  Serial.print(&amp;quot;Bool: &amp;quot;);&lt;br /&gt;
  Serial.println(myData.d);&lt;br /&gt;
  Serial.println();&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
void setup() {&lt;br /&gt;
  // Initialize Serial Monitor&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  &lt;br /&gt;
  // Set device as a Wi-Fi Station&lt;br /&gt;
  WiFi.mode(WIFI_STA);&lt;br /&gt;
&lt;br /&gt;
  // Init ESP-NOW&lt;br /&gt;
  if (esp_now_init() != ESP_OK) {&lt;br /&gt;
    Serial.println(&amp;quot;Error initializing ESP-NOW&amp;quot;);&lt;br /&gt;
    return;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  // get recv packer info&lt;br /&gt;
  esp_now_register_recv_cb(OnDataRecv);&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Serial monitor results.&amp;lt;/translate&amp;gt;&lt;br /&gt;
|Step_Picture_00=Getting_Started_with_ESP-NOW_7.PNG&lt;br /&gt;
}}&lt;br /&gt;
{{Tuto Step&lt;br /&gt;
|Step_Title=&amp;lt;translate&amp;gt;Wrap Up:&amp;lt;/translate&amp;gt;&lt;br /&gt;
|Step_Content=&amp;lt;translate&amp;gt;&amp;lt;section id=&amp;quot;story&amp;quot; data-origID=&amp;quot;story&amp;quot; &amp;gt;&lt;br /&gt;
We have seen how to implement the ESP NOW in ESP32 microcontroller, in upcoming tutorials will see how to transmit sensor data via ESPNOW.&lt;br /&gt;
&amp;lt;/section&amp;gt;&amp;lt;/translate&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{Notes&lt;br /&gt;
|Notes=&amp;lt;translate&amp;gt;&amp;lt;/translate&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{PageLang&lt;br /&gt;
|Language=en&lt;br /&gt;
|SourceLanguage=none&lt;br /&gt;
|IsTranslation=0&lt;br /&gt;
}}&lt;br /&gt;
{{Tuto Status&lt;br /&gt;
|Complete=Published&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Simijames</name></author>
		
	</entry>
	<entry>
		<id>https://wikifab.org/w/index.php?title=Node_Red_Controlled_Web_LED_on_ESP32_with_Raspberry_Pi_4&amp;diff=170796</id>
		<title>Node Red Controlled Web LED on ESP32 with Raspberry Pi 4</title>
		<link rel="alternate" type="text/html" href="https://wikifab.org/w/index.php?title=Node_Red_Controlled_Web_LED_on_ESP32_with_Raspberry_Pi_4&amp;diff=170796"/>
		<updated>2024-06-02T13:46:54Z</updated>

		<summary type="html">&lt;p&gt;Simijames : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Tuto Details&lt;br /&gt;
|Main_Picture=Node_Red_Controlled_Web_LED_on_ESP32_with_Raspberry_Pi_4_1.PNG&lt;br /&gt;
|Main_Picture_annotation={&amp;quot;version&amp;quot;:&amp;quot;2.4.6&amp;quot;,&amp;quot;objects&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;image&amp;quot;,&amp;quot;version&amp;quot;:&amp;quot;2.4.6&amp;quot;,&amp;quot;originX&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;originY&amp;quot;:&amp;quot;top&amp;quot;,&amp;quot;left&amp;quot;:-2,&amp;quot;top&amp;quot;:-3,&amp;quot;width&amp;quot;:749,&amp;quot;height&amp;quot;:565,&amp;quot;fill&amp;quot;:&amp;quot;rgb(0,0,0)&amp;quot;,&amp;quot;stroke&amp;quot;:null,&amp;quot;strokeWidth&amp;quot;:0,&amp;quot;strokeDashArray&amp;quot;:null,&amp;quot;strokeLineCap&amp;quot;:&amp;quot;butt&amp;quot;,&amp;quot;strokeDashOffset&amp;quot;:0,&amp;quot;strokeLineJoin&amp;quot;:&amp;quot;miter&amp;quot;,&amp;quot;strokeMiterLimit&amp;quot;:4,&amp;quot;scaleX&amp;quot;:0.8,&amp;quot;scaleY&amp;quot;:0.8,&amp;quot;angle&amp;quot;:0,&amp;quot;flipX&amp;quot;:false,&amp;quot;flipY&amp;quot;:false,&amp;quot;opacity&amp;quot;:1,&amp;quot;shadow&amp;quot;:null,&amp;quot;visible&amp;quot;:true,&amp;quot;clipTo&amp;quot;:null,&amp;quot;backgroundColor&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;fillRule&amp;quot;:&amp;quot;nonzero&amp;quot;,&amp;quot;paintFirst&amp;quot;:&amp;quot;fill&amp;quot;,&amp;quot;globalCompositeOperation&amp;quot;:&amp;quot;source-over&amp;quot;,&amp;quot;transformMatrix&amp;quot;:null,&amp;quot;skewX&amp;quot;:0,&amp;quot;skewY&amp;quot;:0,&amp;quot;crossOrigin&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;cropX&amp;quot;:0,&amp;quot;cropY&amp;quot;:0,&amp;quot;src&amp;quot;:&amp;quot;https://wikifab.org/images/5/57/Node_Red_Controlled_Web_LED_on_ESP32_with_Raspberry_Pi_4_1.PNG&amp;quot;,&amp;quot;filters&amp;quot;:[]}],&amp;quot;height&amp;quot;:450.199203187251,&amp;quot;width&amp;quot;:600}&lt;br /&gt;
|Description=&amp;lt;translate&amp;gt;Node Red Controlled Web LED on ESP32 with Raspberry Pi 4&amp;lt;/translate&amp;gt;&lt;br /&gt;
|Area=Electronics&lt;br /&gt;
|Type=Technique&lt;br /&gt;
|Difficulty=Medium&lt;br /&gt;
|Duration=2&lt;br /&gt;
|Duration-type=hour(s)&lt;br /&gt;
|Cost=70&lt;br /&gt;
|Currency=USD ($)&lt;br /&gt;
|Tags=Raspberry Pi, Node Red, ESP 32, IoT, Qubitro&lt;br /&gt;
}}&lt;br /&gt;
{{Introduction&lt;br /&gt;
|Introduction=&amp;lt;translate&amp;gt;In this tutorial, you will learn how to use Node-RED, a visual programming tool for the Internet of Things (IoT), to control an LED on an ESP32 board with a Raspberry Pi as the MQTT broker. MQTT is a lightweight and simple messaging protocol that allows devices to communicate with each other over a network.&lt;br /&gt;
&lt;br /&gt;
You will need the following components for this project:&lt;br /&gt;
&lt;br /&gt;
*ESP32 development board&lt;br /&gt;
*USB cable to connect the ESP32 to your computer&lt;br /&gt;
*Raspberry Pi with Node-RED&lt;br /&gt;
*Computer with Arduino IDE and PubSubClient library installed&amp;lt;/translate&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{Materials&lt;br /&gt;
|Material=&amp;lt;translate&amp;gt;&amp;lt;/translate&amp;gt;&lt;br /&gt;
|Tools=&amp;lt;translate&amp;gt;&amp;lt;/translate&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{Tuto Step&lt;br /&gt;
|Step_Title=&amp;lt;translate&amp;gt;Get PCBs For Your Projects Manufactured&amp;lt;/translate&amp;gt;&lt;br /&gt;
|Step_Content=&amp;lt;translate&amp;gt;You must check out [https://www.pcbway.com/ PCBWAY] for ordering PCBs online for cheap!&lt;br /&gt;
&lt;br /&gt;
You get 10 good-quality PCBs manufactured and shipped to your doorstep for cheap. You will also get a discount on shipping on your first order. Upload your Gerber files onto [https://www.pcbway.com/ PCBWAY] to get them manufactured with good quality and quick turnaround time. PCBWay now could provide a complete product solution, from design to enclosure production. Check out their online Gerber viewer function. With reward points, you can get free stuff from their gift shop&amp;lt;/translate&amp;gt;&lt;br /&gt;
|Step_Picture_00=Node_Red_Controlled_Web_LED_on_ESP32_with_Raspberry_Pi_4_2.PNG&lt;br /&gt;
}}&lt;br /&gt;
{{Tuto Step&lt;br /&gt;
|Step_Title=&amp;lt;translate&amp;gt;Create a Device on Qubitro&amp;lt;/translate&amp;gt;&lt;br /&gt;
|Step_Content=&amp;lt;translate&amp;gt;The first step is to create a device on the Qubitro platform. A device represents your physical device (Raspberry Pi) on the cloud. You need to create a device to obtain the MQTT credentials and topics for your Raspberry Pi.&lt;br /&gt;
&lt;br /&gt;
To create a device on Qubitro, follow these steps:&lt;br /&gt;
&lt;br /&gt;
1. Log in to your Qubitro account and create a new project&lt;br /&gt;
&lt;br /&gt;
2. Then go to the Devices page, select MQTT as the communication protocol, and click Next.&lt;br /&gt;
&lt;br /&gt;
3. Enter all the details.&lt;br /&gt;
&lt;br /&gt;
4. Copy the Device ID, Device Token, Hostname, Port, Publish Topic, and Subscribe Topic. You will need these values later in the code. Click Finish.&lt;br /&gt;
&lt;br /&gt;
You have successfully created a device on Qubitro. You can see your device on the Devices page.&amp;lt;/translate&amp;gt;&lt;br /&gt;
|Step_Picture_00=Node_Red_Controlled_Web_LED_on_ESP32_with_Raspberry_Pi_4_3.PNG&lt;br /&gt;
|Step_Picture_01=Node_Red_Controlled_Web_LED_on_ESP32_with_Raspberry_Pi_4_4.PNG&lt;br /&gt;
|Step_Picture_02=Node_Red_Controlled_Web_LED_on_ESP32_with_Raspberry_Pi_4_5.PNG&lt;br /&gt;
|Step_Picture_03=Node_Red_Controlled_Web_LED_on_ESP32_with_Raspberry_Pi_4_6.PNG&lt;br /&gt;
|Step_Picture_04=Node_Red_Controlled_Web_LED_on_ESP32_with_Raspberry_Pi_4_7.PNG&lt;br /&gt;
}}&lt;br /&gt;
{{Tuto Step&lt;br /&gt;
|Step_Title=&amp;lt;translate&amp;gt;Flash ESP32 with Arduino IDE&amp;lt;/translate&amp;gt;&lt;br /&gt;
|Step_Content=&amp;lt;translate&amp;gt;The ESP32 is a powerful and versatile microcontroller that can run Arduino code. You will use the Arduino IDE to program the ESP32 and make it communicate with the MQTT broker using the PubSubClient library.&lt;br /&gt;
&lt;br /&gt;
To install the ESP32 board in Arduino IDE, you can follow the instructions in [https://blog.asksensors.com/esp32-led-control-iot-platform-mqtt/ this tutorial] or use the steps below:&lt;br /&gt;
&lt;br /&gt;
*Open the preferences window from the Arduino IDE: File &amp;gt; Preferences.&lt;br /&gt;
*Go to the “Additional Board Manager URLs” field and enter the following URL: https://dl.espressif.com/dl/package_esp32_index.json.&lt;br /&gt;
&lt;br /&gt;
*Open Boards Manager (Tools &amp;gt; Board &amp;gt; Boards Manager), search for ESP32, and click the install button for the “ESP32 by Espressif Systems”.&lt;br /&gt;
&lt;br /&gt;
*Select your ESP32 board from Tools &amp;gt; Board menu after installation.&lt;br /&gt;
&lt;br /&gt;
*Open the library manager from Sketch &amp;gt; Include Library &amp;gt; Manage Libraries.&lt;br /&gt;
*Search for PubSubClient and click the install button for the “PubSubClient by Nick O’Leary”.&lt;br /&gt;
*Restart your Arduino IDE after installation.&amp;lt;/translate&amp;gt;&lt;br /&gt;
|Step_Picture_00=Node_Red_Controlled_Web_LED_on_ESP32_with_Raspberry_Pi_4_8.PNG&lt;br /&gt;
|Step_Picture_01=Node_Red_Controlled_Web_LED_on_ESP32_with_Raspberry_Pi_4_9.PNG&lt;br /&gt;
|Step_Picture_02=Node_Red_Controlled_Web_LED_on_ESP32_with_Raspberry_Pi_4_10.PNG&lt;br /&gt;
}}&lt;br /&gt;
{{Tuto Step&lt;br /&gt;
|Step_Title=&amp;lt;translate&amp;gt;Connect LED to ESP32&amp;lt;/translate&amp;gt;&lt;br /&gt;
|Step_Content=&amp;lt;translate&amp;gt;The LED is a simple device that emits light when current flows through it. You will connect the LED to one of the GPIO pins of the ESP32 and control its state (on or off) with MQTT messages.&lt;br /&gt;
&lt;br /&gt;
In my case I'm going to use the onboard LED in the ESP32 Dev board.&amp;lt;/translate&amp;gt;&lt;br /&gt;
|Step_Picture_00=Node_Red_Controlled_Web_LED_on_ESP32_with_Raspberry_Pi_4_11.PNG&lt;br /&gt;
}}&lt;br /&gt;
{{Tuto Step&lt;br /&gt;
|Step_Title=&amp;lt;translate&amp;gt;Write Code for ESP32&amp;lt;/translate&amp;gt;&lt;br /&gt;
|Step_Content=&amp;lt;translate&amp;gt;The code for the ESP32 will do the following tasks:&lt;br /&gt;
&lt;br /&gt;
* Connect to your Wi-Fi network&lt;br /&gt;
* Connect to the Qubitro MQTT broker on Raspberry Pi&lt;br /&gt;
* Receive messages from “output” and turn on or off the LED accordingly&lt;br /&gt;
&lt;br /&gt;
You can copy and paste the code below into your Arduino IDE. Make sure to replace &amp;lt;code&amp;gt;&amp;lt;your_ssid&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;your_password&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;your_Qubtro_Credientials&amp;gt;&amp;lt;/code&amp;gt; with your own values.&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
void setup()&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
  pinMode(Relay1, OUTPUT);&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  setup_wifi();&lt;br /&gt;
  client.setServer(mqtt_server, 1883);&lt;br /&gt;
  client.setCallback(callback);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop()&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
  if (!client.connected())&lt;br /&gt;
  {&lt;br /&gt;
    reconnect();&lt;br /&gt;
  }&lt;br /&gt;
  client. Loop();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;After writing the code, upload it to your ESP32 board by selecting the right board and port from the Tools menu and clicking the upload button.&amp;lt;/translate&amp;gt;&lt;br /&gt;
|Step_Picture_00=Node_Red_Controlled_Web_LED_on_ESP32_with_Raspberry_Pi_4_12.PNG&lt;br /&gt;
|Step_Picture_01=Node_Red_Controlled_Web_LED_on_ESP32_with_Raspberry_Pi_4_13.PNG&lt;br /&gt;
|Step_Picture_02=Node_Red_Controlled_Web_LED_on_ESP32_with_Raspberry_Pi_4_14.PNG&lt;br /&gt;
|Step_Picture_03=Node_Red_Controlled_Web_LED_on_ESP32_with_Raspberry_Pi_4_15.PNG&lt;br /&gt;
|Step_Picture_04=Node_Red_Controlled_Web_LED_on_ESP32_with_Raspberry_Pi_4_16.PNG&lt;br /&gt;
}}&lt;br /&gt;
{{Tuto Step&lt;br /&gt;
|Step_Title=&amp;lt;translate&amp;gt;Create Node-RED Flow&amp;lt;/translate&amp;gt;&lt;br /&gt;
|Step_Content=&amp;lt;translate&amp;gt;The Node-RED flow will do the following tasks:&lt;br /&gt;
&lt;br /&gt;
* Connect to the MQTT broker on Raspberry Pi&lt;br /&gt;
* Subscribe to a topic named “output”&lt;br /&gt;
* Publish messages “true” or “false” to a topic named “output”&lt;br /&gt;
* Create a dashboard with a button and a text node&lt;br /&gt;
&lt;br /&gt;
You can create the Node-RED flow by dragging and dropping nodes from the palette and connecting them with wires. You can also import the flow from this link or use the JSON code below:&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
[&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;id&amp;quot;: &amp;quot;eb8f9c0d054be30c&amp;quot;,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;tab&amp;quot;,&lt;br /&gt;
        &amp;quot;label&amp;quot;: &amp;quot;Flow 2&amp;quot;,&lt;br /&gt;
        &amp;quot;disabled&amp;quot;: false,&lt;br /&gt;
        &amp;quot;info&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
        &amp;quot;env&amp;quot;: []&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;id&amp;quot;: &amp;quot;4ce6cd876fd5441f&amp;quot;,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;mqtt out&amp;quot;,&lt;br /&gt;
        &amp;quot;z&amp;quot;: &amp;quot;eb8f9c0d054be30c&amp;quot;,&lt;br /&gt;
        &amp;quot;name&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
        &amp;quot;topic&amp;quot;: &amp;quot;output&amp;quot;,&lt;br /&gt;
        &amp;quot;qos&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
        &amp;quot;retain&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
        &amp;quot;respTopic&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
        &amp;quot;contentType&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
        &amp;quot;userProps&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
        &amp;quot;correl&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
        &amp;quot;expiry&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
        &amp;quot;broker&amp;quot;: &amp;quot;6d40b7b21c734b53&amp;quot;,&lt;br /&gt;
        &amp;quot;x&amp;quot;: 870,&lt;br /&gt;
        &amp;quot;y&amp;quot;: 240,&lt;br /&gt;
        &amp;quot;wires&amp;quot;: []&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;id&amp;quot;: &amp;quot;974a7a8bb6db9bf9&amp;quot;,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;mqtt in&amp;quot;,&lt;br /&gt;
        &amp;quot;z&amp;quot;: &amp;quot;eb8f9c0d054be30c&amp;quot;,&lt;br /&gt;
        &amp;quot;name&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
        &amp;quot;topic&amp;quot;: &amp;quot;output&amp;quot;,&lt;br /&gt;
        &amp;quot;qos&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
        &amp;quot;datatype&amp;quot;: &amp;quot;auto-detect&amp;quot;,&lt;br /&gt;
        &amp;quot;broker&amp;quot;: &amp;quot;6d40b7b21c734b53&amp;quot;,&lt;br /&gt;
        &amp;quot;nl&amp;quot;: false,&lt;br /&gt;
        &amp;quot;rap&amp;quot;: true,&lt;br /&gt;
        &amp;quot;rh&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;inputs&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;x&amp;quot;: 670,&lt;br /&gt;
        &amp;quot;y&amp;quot;: 320,&lt;br /&gt;
        &amp;quot;wires&amp;quot;: [&lt;br /&gt;
            [&lt;br /&gt;
                &amp;quot;d0dc7378c7bfb03b&amp;quot;,&lt;br /&gt;
                &amp;quot;f1219a2eeabe825f&amp;quot;&lt;br /&gt;
            ]&lt;br /&gt;
        ]&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;id&amp;quot;: &amp;quot;d0dc7378c7bfb03b&amp;quot;,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;debug&amp;quot;,&lt;br /&gt;
        &amp;quot;z&amp;quot;: &amp;quot;eb8f9c0d054be30c&amp;quot;,&lt;br /&gt;
        &amp;quot;name&amp;quot;: &amp;quot;debug 4&amp;quot;,&lt;br /&gt;
        &amp;quot;active&amp;quot;: true,&lt;br /&gt;
        &amp;quot;tosidebar&amp;quot;: true,&lt;br /&gt;
        &amp;quot;console&amp;quot;: false,&lt;br /&gt;
        &amp;quot;tostatus&amp;quot;: false,&lt;br /&gt;
        &amp;quot;complete&amp;quot;: &amp;quot;payload&amp;quot;,&lt;br /&gt;
        &amp;quot;targetType&amp;quot;: &amp;quot;msg&amp;quot;,&lt;br /&gt;
        &amp;quot;statusVal&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
        &amp;quot;statusType&amp;quot;: &amp;quot;auto&amp;quot;,&lt;br /&gt;
        &amp;quot;x&amp;quot;: 880,&lt;br /&gt;
        &amp;quot;y&amp;quot;: 320,&lt;br /&gt;
        &amp;quot;wires&amp;quot;: []&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;id&amp;quot;: &amp;quot;6bd227b280e372b7&amp;quot;,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;ui_switch&amp;quot;,&lt;br /&gt;
        &amp;quot;z&amp;quot;: &amp;quot;eb8f9c0d054be30c&amp;quot;,&lt;br /&gt;
        &amp;quot;name&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
        &amp;quot;label&amp;quot;: &amp;quot;Light One&amp;quot;,&lt;br /&gt;
        &amp;quot;tooltip&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
        &amp;quot;group&amp;quot;: &amp;quot;cd687a95.00e108&amp;quot;,&lt;br /&gt;
        &amp;quot;order&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;width&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;height&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;passthru&amp;quot;: true,&lt;br /&gt;
        &amp;quot;decouple&amp;quot;: &amp;quot;false&amp;quot;,&lt;br /&gt;
        &amp;quot;topic&amp;quot;: &amp;quot;topic&amp;quot;,&lt;br /&gt;
        &amp;quot;topicType&amp;quot;: &amp;quot;msg&amp;quot;,&lt;br /&gt;
        &amp;quot;style&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
        &amp;quot;onvalue&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
        &amp;quot;onvalueType&amp;quot;: &amp;quot;bool&amp;quot;,&lt;br /&gt;
        &amp;quot;onicon&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
        &amp;quot;oncolor&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
        &amp;quot;offvalue&amp;quot;: &amp;quot;false&amp;quot;,&lt;br /&gt;
        &amp;quot;offvalueType&amp;quot;: &amp;quot;bool&amp;quot;,&lt;br /&gt;
        &amp;quot;officon&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
        &amp;quot;offcolor&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
        &amp;quot;animate&amp;quot;: false,&lt;br /&gt;
        &amp;quot;x&amp;quot;: 680,&lt;br /&gt;
        &amp;quot;y&amp;quot;: 240,&lt;br /&gt;
        &amp;quot;wires&amp;quot;: [&lt;br /&gt;
            [&lt;br /&gt;
                &amp;quot;4ce6cd876fd5441f&amp;quot;&lt;br /&gt;
            ]&lt;br /&gt;
        ]&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;id&amp;quot;: &amp;quot;f1219a2eeabe825f&amp;quot;,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;ui_text&amp;quot;,&lt;br /&gt;
        &amp;quot;z&amp;quot;: &amp;quot;eb8f9c0d054be30c&amp;quot;,&lt;br /&gt;
        &amp;quot;group&amp;quot;: &amp;quot;cd687a95.00e108&amp;quot;,&lt;br /&gt;
        &amp;quot;order&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;width&amp;quot;: &amp;quot;6&amp;quot;,&lt;br /&gt;
        &amp;quot;height&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
        &amp;quot;name&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
        &amp;quot;label&amp;quot;: &amp;quot;Status : &amp;quot;,&lt;br /&gt;
        &amp;quot;format&amp;quot;: &amp;quot;{{msg.payload}}&amp;quot;,&lt;br /&gt;
        &amp;quot;layout&amp;quot;: &amp;quot;row-center&amp;quot;,&lt;br /&gt;
        &amp;quot;x&amp;quot;: 1060,&lt;br /&gt;
        &amp;quot;y&amp;quot;: 320,&lt;br /&gt;
        &amp;quot;wires&amp;quot;: []&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;id&amp;quot;: &amp;quot;6d40b7b21c734b53&amp;quot;,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;mqtt-broker&amp;quot;,&lt;br /&gt;
        &amp;quot;name&amp;quot;: &amp;quot;Qubitro Downlink&amp;quot;,&lt;br /&gt;
        &amp;quot;broker&amp;quot;: &amp;quot;broker.qubitro.com&amp;quot;,&lt;br /&gt;
        &amp;quot;port&amp;quot;: &amp;quot;1883&amp;quot;,&lt;br /&gt;
        &amp;quot;clientid&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
        &amp;quot;autoConnect&amp;quot;: true,&lt;br /&gt;
        &amp;quot;usetls&amp;quot;: false,&lt;br /&gt;
        &amp;quot;protocolVersion&amp;quot;: &amp;quot;4&amp;quot;,&lt;br /&gt;
        &amp;quot;keepalive&amp;quot;: &amp;quot;60&amp;quot;,&lt;br /&gt;
        &amp;quot;cleansession&amp;quot;: true,&lt;br /&gt;
        &amp;quot;autoUnsubscribe&amp;quot;: true,&lt;br /&gt;
        &amp;quot;birthTopic&amp;quot;: &amp;quot;r43MsJYzcVwZtUXVfZo6XD0Ym7CRegewPQXMt$ho&amp;quot;,&lt;br /&gt;
        &amp;quot;birthQos&amp;quot;: &amp;quot;0&amp;quot;,&lt;br /&gt;
        &amp;quot;birthPayload&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
        &amp;quot;birthMsg&amp;quot;: {},&lt;br /&gt;
        &amp;quot;closeTopic&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
        &amp;quot;closeQos&amp;quot;: &amp;quot;0&amp;quot;,&lt;br /&gt;
        &amp;quot;closePayload&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
        &amp;quot;closeMsg&amp;quot;: {},&lt;br /&gt;
        &amp;quot;willTopic&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
        &amp;quot;willQos&amp;quot;: &amp;quot;0&amp;quot;,&lt;br /&gt;
        &amp;quot;willPayload&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
        &amp;quot;willMsg&amp;quot;: {},&lt;br /&gt;
        &amp;quot;userProps&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
        &amp;quot;sessionExpiry&amp;quot;: &amp;quot;&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;id&amp;quot;: &amp;quot;cd687a95.00e108&amp;quot;,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;ui_group&amp;quot;,&lt;br /&gt;
        &amp;quot;name&amp;quot;: &amp;quot;ESP32 Home Controller&amp;quot;,&lt;br /&gt;
        &amp;quot;tab&amp;quot;: &amp;quot;aa146f4d.b53ca&amp;quot;,&lt;br /&gt;
        &amp;quot;order&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;disp&amp;quot;: true,&lt;br /&gt;
        &amp;quot;width&amp;quot;: &amp;quot;6&amp;quot;,&lt;br /&gt;
        &amp;quot;collapse&amp;quot;: false&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;id&amp;quot;: &amp;quot;aa146f4d.b53ca&amp;quot;,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;ui_tab&amp;quot;,&lt;br /&gt;
        &amp;quot;name&amp;quot;: &amp;quot;Demo Lab&amp;quot;,&lt;br /&gt;
        &amp;quot;icon&amp;quot;: &amp;quot;dashboard&amp;quot;,&lt;br /&gt;
        &amp;quot;order&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;disabled&amp;quot;: false,&lt;br /&gt;
        &amp;quot;hidden&amp;quot;: false&lt;br /&gt;
    }&lt;br /&gt;
]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;The input switch will send &amp;quot;true&amp;quot; when it is on, and it will send &amp;quot;false&amp;quot; when it triggers off.&lt;br /&gt;
&lt;br /&gt;
Then click on the Qubitro uplink pallet and edit the property.&lt;br /&gt;
&lt;br /&gt;
Here you need to replace your connection details and credentials.&lt;br /&gt;
&lt;br /&gt;
Next, just deploy the flow. And navigate to the /ui of the node-red server.&lt;br /&gt;
&lt;br /&gt;
Here you can toggle the switch to turn the lead on and off.&lt;br /&gt;
&lt;br /&gt;
Also, open the serial monitor and check the node-red response.&amp;lt;/translate&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{Tuto Step&lt;br /&gt;
|Step_Title=&amp;lt;translate&amp;gt;Conclusion&amp;lt;/translate&amp;gt;&lt;br /&gt;
|Step_Content=&amp;lt;translate&amp;gt;&amp;lt;section id=&amp;quot;story&amp;quot; data-origID=&amp;quot;story&amp;quot; &amp;gt;&lt;br /&gt;
In this tutorial, we have seen how to control the LED with Node-Red and MQTT Server.&lt;br /&gt;
&amp;lt;/section&amp;gt;&amp;lt;/translate&amp;gt;&lt;br /&gt;
|Step_Picture_00=Node_Red_Controlled_Web_LED_on_ESP32_with_Raspberry_Pi_4_17.PNG&lt;br /&gt;
}}&lt;br /&gt;
{{Notes&lt;br /&gt;
|Notes=&amp;lt;translate&amp;gt;Link was incorrect, so I have corrected it.&amp;lt;/translate&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{PageLang&lt;br /&gt;
|Language=en&lt;br /&gt;
|SourceLanguage=none&lt;br /&gt;
|IsTranslation=0&lt;br /&gt;
}}&lt;br /&gt;
{{Tuto Status&lt;br /&gt;
|Complete=Published&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Simijames</name></author>
		
	</entry>
</feed>