/*This Example Program created for Publish test with output (GPIO2/D4) using GoIoT as IOT Platform
--------------------------- www.goiot.id ---------------------------
Wifi Communication*/
#include <PubSubClient.h> // library MQTT (metode MQTT publish subscribe)
#include <ESP8266WiFi.h> // library esp8266
// #include <WiFi.h> // library esp32
#include <DHT.h> // library DHT sensor
#define DHTPIN 2 // GPIO2 is D4 in board esp8266 NodeMCU
// #define DHTPIN 4 // GPIO2 is D4 in board ESP32
#define DHTTYPE DHT22 // Tipe DHT (sesuaikan dengan tipe DHT sensornya)
DHT dht(DHTPIN, DHTTYPE);
char ssid[] = "ssid wifi anda"; // silahkan diisi
char pass[] = "password wifi anda"; // silahkan diisi
const char* broker = "broker.goiot.id"; // set MQTT server
WiFiClient client;
PubSubClient mqtt(client);
char msg[50];
void setup_wifi() {
delay(10);
// We start by connecting to a WiFi network
Serial.println();
Serial.print("Connecting to ");
Serial.println(ssid);
WiFi.begin(ssid, pass);
int retries = 0;
while ((WiFi.status() != WL_CONNECTED) && (retries < 10)) {
retries++;
delay(500);
Serial.print(".");
}
if (WiFi.status() == WL_CONNECTED) {
Serial.println(F("WiFi connected"));
}
}
void setup() {
Serial.begin(115200);
setup_wifi();
dht.begin();
mqtt.setServer(broker, 1883);
delay(10);
Serial.println("Hasil DHT : ");
}
void reconnect() {
while (!mqtt.connected())
{
Serial.print("Attempting MQTT connection...");
char *idnya = "projectID anda#device anda#"; // silahkan diisi
char *username = "username GOIOT anda"; // silahkan diisi
char *password = "MQTT token GOIOT anda"; // silahkan diisi
if (mqtt.connect(idnya, username, password))
{
Serial.println("connected");
}
else
{
Serial.print("failed, rc=");
Serial.print(mqtt.state());
Serial.println("try again in 5 seconds");
delay(5000);
}
}
}
void loop() {
if (!mqtt.connected())
{
reconnect();
}
mqtt.loop();
float h = dht.readHumidity(); // Read Humidity
float t = dht.readTemperature(); // Read temperature as Celsius
float f = dht.readTemperature(true); // Read temperature as Fahrenheit
Serial.print("Temperature : ");
Serial.print(t);
Serial.println(" °C ");
// sprintf(msg, "%f", t); // convert float ke char
sprintf(msg, "%d.%02d", (int)t, (int)(t*100)%100); // bila konversi float ke char error gunakan ini
mqtt.publish("v2/projectID anda/device anda/direct/tag anda", msg); // silahkan diisi
Serial.println(msg);
delay(1000);
}
/* www.goiot.id */
/*This Example Program created for Publish test with output (GPIO2/D4) using GoIoT as IOT Platform
--------------------------- www.goiot.id ---------------------------
Wifi Communication*/
#include <PubSubClient.h> // library MQTT (metode MQTT publish subscribe)
#include <ESP8266WiFi.h> // library esp8266
// #include <WiFi.h> // library esp32
char ssid[] = "ssid wifi anda"; // silahkan diisi
char pass[] = "password wifi anda"; // silahkan diisi
const char* broker = "broker.goiot.id"; // set MQTT server
WiFiClient client;
PubSubClient mqtt(client);
char msg[50];
long randomNumber; // variabel yang akan dikirim
void setup_wifi() {
delay(10);
// We start by connecting to a WiFi network
Serial.println();
Serial.print("Connecting to ");
Serial.println(ssid);
WiFi.begin(ssid, pass);
int retries = 0;
while ((WiFi.status() != WL_CONNECTED) && (retries < 10)) {
retries++;
delay(500);
Serial.print(".");
}
if (WiFi.status() == WL_CONNECTED) {
Serial.println(F("WiFi connected"));
}
}
void setup() {
Serial.begin(115200);
setup_wifi();
mqtt.setServer(broker, 1883);
delay(10);
}
void reconnect() {
while (!mqtt.connected())
{
Serial.print("Attempting MQTT connection...");
char *idnya = "projectID anda#device anda#"; // silahkan diisi
char *username = "username GOIOT anda"; // silahkan diisi
char *password = "MQTT token GOIOT anda"; // silahkan diisi
if (mqtt.connect(idnya, username, password))
{
Serial.println("connected");
}
else
{
Serial.print("failed, rc=");
Serial.print(mqtt.state());
Serial.println("try again in 5 seconds");
delay(5000);
}
}
}
void loop() {
if (!mqtt.connected())
{
reconnect();
}
mqtt.loop();
randomNumber = random(20); // random number from 0 to 19
sprintf(msg, "%i", randomNumber); // convert integer ke char
mqtt.publish("v2/projectID anda/device anda/direct/tag anda", msg); // silahkan diisi
Serial.println(msg);
delay(1000);
}
/* www.goiot.id */