# Tool with UI to quickly build firmware to send & receive MQTT data from IOT device (ESP8266,ESP32, Arduino) for Node-RED

**URL:** <https://discourse.nodered.org/t/tool-with-ui-to-quickly-build-firmware-to-send-receive-mqtt-data-from-iot-device-esp8266-esp32-arduino-for-node-red/12529>\
**Category:** Share Your Projects\
**Created:** [24 June 2019 04:29 UTC](https://discourse.nodered.org/t/tool-with-ui-to-quickly-build-firmware-to-send-receive-mqtt-data-from-iot-device-esp8266-esp32-arduino-for-node-red/12529 "2019-06-24T04:29:01Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![linhtranvu](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/linhtranvu/32/30053_2.png) [@linhtranvu](https://discourse.nodered.org/u/linhtranvu)\
**Post date:** [24 June 2019 04:29 UTC](https://discourse.nodered.org/t/tool-with-ui-to-quickly-build-firmware-to-send-receive-mqtt-data-from-iot-device-esp8266-esp32-arduino-for-node-red/12529/1 "2019-06-24T04:29:01Z")

</div>

# Quick IoTs - One click app for Internet of Thing

 ![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/2X/9/93b29a92cf253fefd871d759028a365d0d43e225.png)  
Hi, After months of working, I am happy to release `Quick IoTs`

[http://www.quickiots.com](http://www.quickiots.com/)

It is an opensource project with the core is [Open MQTT Gateway](https://github.com/1technophile/OpenMQTTGateway) . `Quick IoTs` allows to quickly build firmware to send & receive MQTT data from IOT device (ESP8266,ESP32, Arduino) with UI friendly. Flow is below

- Download and Run **Quick IOTs** App, Choose device from UI
- Choose modules (sensors, gateway..) from UI
- Click Build & Upload. If you are missing any conditions for build, Quick IoTs will help and automatically install missing lib
- Built-in Serial monitor and MQTT logger, so you could easily track data sent & receive from device without 3rd app or terminal

# Quick start

1. Create new project ![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/2X/7/754fa7e20f2fa1a0847c8346d9a9f99e46fb9d4e.png)

2. Choose device 

3. Choose module (1), setup PIN on device as require (2), Build & Upload (3) 

4. Your device will be running now. Connect to device wifi, Enter 192.168.4.1 in browser, set Wifi device connect to & MQTT server (that mean you could build device and bring everywhere to setup like a commercial device) 

5. Open Serial monitor and MQTT log to see data. Now MQTT data from sensors send through MQTT, you could also send MQTT data to IR gateway. Open `Node-red` and setup a flow to control device through MQTT

#### Device support

- NodeMCU ESP8266
- NodeMCU ESP32
- Arduino MEGA
- Arduino UNO

#### Sensor support

- HT11/21/22: Temperature and Humidity
- HCSR501: Motion detect
- INA226: Current/voltage
- ADC: Analog/Moisture
- BH1750: Light
- TSL2561: Luminosity
- BME280: Weather

#### Gateway support

- Infrared: Send, receive
- RF433, RF315, RF2, Pilight: Radio frequency
- LORA: Long range
- A7: SIM, GSM, GPS
- Bluetooth: Send, receive

---

<div class="post-metadata">

**Author:** ![TotallyInformation](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/totallyinformation/32/31_2.png) [@TotallyInformation](https://discourse.nodered.org/u/TotallyInformation)\
**Post date:** [24 June 2019 06:05 UTC](https://discourse.nodered.org/t/tool-with-ui-to-quickly-build-firmware-to-send-receive-mqtt-data-from-iot-device-esp8266-esp32-arduino-for-node-red/12529/2 "2019-06-24T06:05:30Z")

</div>

Unfortunately, my browser blocks your website due to some kind of security issue. I don't think it likes [ip-api.com](http://ip-api.com) at all.

 ![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/2X/e/e374b422a53e0f5569f968a03f59abf086766b0c.png)  
 ![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/2X/d/db8c2b89096b768985605efe784b109d8b7e1cba.png)  
 ![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/2X/8/84eb00dc294c236ad897c28c7c9893932cde89c8.png)

```auto
<script src="./assets/web/assets/jquery/jquery.min.js" type="text/javascript"></script>
<script>
ip = "145.255.244.26";

$.get("http://ip-api.com/json/"+ip,function(data){
	if(data.country == "Vietnam"){
		window.location.href = './index_vi.html';
	}else{
		window.location.href = './index_en.html';
	}	
})
</script>

```

---

<div class="post-metadata">

**Author:** ![linhtranvu](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/linhtranvu/32/30053_2.png) [@linhtranvu](https://discourse.nodered.org/u/linhtranvu)\
**Post date:** [24 June 2019 06:45 UTC](https://discourse.nodered.org/t/tool-with-ui-to-quickly-build-firmware-to-send-receive-mqtt-data-from-iot-device-esp8266-esp32-arduino-for-node-red/12529/3 "2019-06-24T06:45:15Z")

</div>

Hi

I am really confused, it IS ip-api issue

I remove ip-api and set to static html. You could visit now, hope you could have time to give it a try

---

<div class="post-metadata">

**Author:** ![TotallyInformation](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/totallyinformation/32/31_2.png) [@TotallyInformation](https://discourse.nodered.org/u/TotallyInformation)\
**Post date:** [24 June 2019 07:51 UTC](https://discourse.nodered.org/t/tool-with-ui-to-quickly-build-firmware-to-send-receive-mqtt-data-from-iot-device-esp8266-esp32-arduino-for-node-red/12529/4 "2019-06-24T07:51:58Z")

</div>

Yes, that works fine 🙂

---

<div class="post-metadata">

**Author:** ![linhtranvu](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/linhtranvu/32/30053_2.png) [@linhtranvu](https://discourse.nodered.org/u/linhtranvu)\
**Post date:** [24 June 2019 09:06 UTC](https://discourse.nodered.org/t/tool-with-ui-to-quickly-build-firmware-to-send-receive-mqtt-data-from-iot-device-esp8266-esp32-arduino-for-node-red/12529/5 "2019-06-24T09:06:18Z")

</div>

You mean website or app

---

<div class="post-metadata">

**Author:** ![TotallyInformation](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/totallyinformation/32/31_2.png) [@TotallyInformation](https://discourse.nodered.org/u/TotallyInformation)\
**Post date:** [26 June 2019 00:48 UTC](https://discourse.nodered.org/t/tool-with-ui-to-quickly-build-firmware-to-send-receive-mqtt-data-from-iot-device-esp8266-esp32-arduino-for-node-red/12529/6 "2019-06-26T00:48:52Z")

</div>

Website .

---

<div class="post-metadata">

**Author:** ![happytm](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/happytm/32/7058_2.png) [@happytm](https://discourse.nodered.org/u/happytm)\
**Post date:** [11 July 2019 01:21 UTC](https://discourse.nodered.org/t/tool-with-ui-to-quickly-build-firmware-to-send-receive-mqtt-data-from-iot-device-esp8266-esp32-arduino-for-node-red/12529/7 "2019-07-11T01:21:47Z")

</div>

Nice project with nice concept.It will certainly make life easier for non programmers to implement simple home automation.I am not sure but is it possible to bundle it directly with node-red (via node,flows or even UI builder ) so new sensor device can be implemented directly from node red dashboard or UI builder website ?.That will make it even more easier. Best of both world by adding power of node red.

---

<div class="post-metadata">

**Author:** ![Cathprotech](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/cathprotech/32/7913_2.png) [@Cathprotech](https://discourse.nodered.org/u/Cathprotech)\
**Post date:** [31 July 2019 21:15 UTC](https://discourse.nodered.org/t/tool-with-ui-to-quickly-build-firmware-to-send-receive-mqtt-data-from-iot-device-esp8266-esp32-arduino-for-node-red/12529/8 "2019-07-31T21:15:26Z")

</div>

This looks very interesting.  
Unfortunately I wont be able to give it a try until September. (I'm away from home).  
Are there plans to add more to the supported sensor list?
