MQTT Subscribe esp8266


mqtt pub sub esp8266

Nambah catatan aja semoga bermanfaat juga buat yang membutuhkan cara subscribe ke mqtt server dengan esp8266

Pertama tama download dan pasang plugin ini di arduino libraries, lalu sesuaikan coding dibawah dengan alamat server dan topic yang anda gunakan

/*
 MQTT subscriber example

- connects to an MQTT server
 - subscribes to the topic "inTopic"
*/

#include <ESP8266WiFi.h>
#include <PubSubClient.h>

const char *ssid = "ssid"; // cannot be longer than 32 characters!
const char *pass = "pass"; //

// Update these with values suitable for your network.
IPAddress server(xx,xx,xx,xx);

#define BUFFER_SIZE 100

void callback(const MQTT::Publish& pub) {
 Serial.print(pub.topic());
 Serial.print(" => ");
 if (pub.has_stream()) {
 uint8_t buf[BUFFER_SIZE];
 int read;
 while (read = pub.payload_stream()->read(buf, BUFFER_SIZE)) {
 Serial.write(buf, read);
 }
 pub.payload_stream()->stop();
 Serial.println("");
 } else
 Serial.println(pub.payload_string());
}

WiFiClient wclient;
PubSubClient client(wclient, server);

void setup() {
 // Setup console
 Serial.begin(115200);
 delay(10);
 Serial.println();
 Serial.println();
}

void loop() {
 if (WiFi.status() != WL_CONNECTED) {
 Serial.print("Connecting to ");
 Serial.print(ssid);
 Serial.println("...");
 WiFi.begin(ssid, pass);

if (WiFi.waitForConnectResult() != WL_CONNECTED)
 return;
 Serial.println("WiFi connected");
 }

if (WiFi.status() == WL_CONNECTED) {
 if (!client.connected()) {

if (client.connect(MQTT::Connect("arduinoClient")
 .set_auth("username mqtt", "pass mqtt"))) {
 
 client.set_callback(callback);
 client.subscribe("topic");
 }
 }

if (client.connected())
 client.loop();
 }
}

 

Udah gitu aja, semoga bermanfaat

Happy coding !!!

auto start services di linux


Setelah kemarin beberapa kali ngalamin aplikasi mati ngga ketahuan akhirnya buat script juga untuk memeriksa servicesnya jalan atau ngga dan apabila mati dia akan auto start services tersebut, oh iya services disini adalah services di linux apabila rekan rekan punya aplikasi/ services yang jalan di terminal bisa juga dibuat ginian. Berikut ini codingannya

buat file misalnya tes, lalu buka file tersebut dengan nano atau editor yang lain bebas

lalu isi dengan script dibawah ini

#!/bin/bash
service=ganti dengan nama service kalian

if (( $(ps -ef | grep -v grep | grep $service | wc -l) > 0 ))
then
echo "$service jalan !!!"
else
/etc/init.d/$service start //ganti dengan lokasi service yang kalian ingin jalankan
fi

Done selesai kodingannya simpel bgt, oh iya supaya script tersebut bisa di execute jangan lupa di chmod

Caranya

chmod +x test (apabila nama file kalian test)

Nah apabila ingin automatis jalan masukkan aja di cron caranya

buka cron

crontab -e

//lalu masukkan 

* * * * * /lokasi file script yang tadi dibuat

//simpan

udah gitu aja gampangkan selamat mencoba

Happy Coding !!!