# Upload with Arduino IDE

  • First download the last version of the Arduino IDE from the arduino website
  • Add ESP32 boards by following this tutorial
  • Add ESP8266 boards by following this tutorial
  • Download OpenMQTTGateway code (OpenMQTTGateway_sources.zip) from the release page and unzip it
  • Download the libraries package corresponding to your board and module wished into the same page (example esp32-m5stick-c-ble-libraries.zip)
  • Unzip the libraries into your arduino libraries folder (example D:/Users/XXXX/Documents/Arduino/libraries)
  • If you are using an ESP, Mega or other powerfull board; Open the PubSubClient folder, open the file src/PubSubClient.h, replace
#define MQTT_MAX_PACKET_SIZE 128
1

by

#define MQTT_MAX_PACKET_SIZE 1024
1

This modification will enable to send and receive by MQTT long json messages.

  • If necessary replace the spaces into each library folder by _: example rename “ESP32 BLE Arduino” folder to “ESP32_BLE_Arduino”
  • Open the file main.ino from OpenMQTTGateway/main folder with the arduino IDE
  • Change the settings and the desired gateways into user_config.h (uncomment the modules you want)

Example for the use of RF gateway

#define ZgatewayRF     "RF"       //ESP8266, Arduino, ESP32
//#define ZgatewayIR     "IR"       //ESP8266, Arduino, Sonoff RF Bridge
//#define ZgatewayLORA   "LORA"       //ESP8266, Arduino, ESP32
//#define ZgatewayPilight "Pilight" //ESP8266, Arduino, ESP32
//#define ZgatewayBT     "BT"       //ESP8266, ESP32
1
2
3
4
5
  • Change the pins or parameters corresponding to the modules choosen, for RF you can change the pins into config_RF.h
  • Choose the board on the Arduino IDE
  • Select the port corresponding to the board
  • Note that for using BLE on ESP32 you will need to select Minimal SPIFFS into Tools->Partition Scheme
  • Open the serial monitor and set 115200 bauds
  • Upload ➡️
  • You should see the logs into the serial monitor

With an ESP if you did not set your network and mqtt parameters manualy you can now open the web portal configuration.