Memasang Password di node-red


node-redAda yang belum tau node-red? yang suka main main dengan raspberry pi atau iot pasti familiar dengan node-red, ya node-red adalah suatu aplikasi dengan banyak fitur yang simple dan sangat gampang digunakan, kali ini saya akan share cara untuk memasang username dan password di node-red karena defaultnya node-red ini tidak memiliki authentifikasi.

Caranya gampang banget tinggal ke home dan akses .node-red dengan cara

cd $HOME/.node-red/

lalu buka setting.js dengan editor kesukaan kalian masing masing, saya sukanya pake nano jadi caranya akses ke nano setting.js tapi sebaiknya sebelum akses ke setting kita siapin passwordnya dulu yang nantinya akan kita ubah didalam setting.js, nah node-red sudah nyiapin password hashnya cara tinggal ketik command dibawah ini lalu masukkan password yang ingin kita hash lalu, copy hasil hashnya dan nanti masukkan ke dalam setting.jsnya. Dibawah ini cara hash passwordnya.

node-red-admin hash-pw

lalu kita bukan setting.js dengan cara

nano setting.js

Lalu cari setingan dibawah ini ubah username dan password dengan hasil hash yang tadi sudah kita buat.

adminAuth: {
    type: "credentials",
    users: [{
        username: "admin",
        password: "$2a$08$zZWtXTja0fB1pzD4sHCMyOCMYz2Z6dNbM6tl8sJogENOMcxWV9DN.",
        permissions: "*"
    }]
},

Setelah itu kita restart node-red dengan cara

sudo service node-red restart

Selesai setelah itu coba akses node-red dan masukkan username dan password yang sudah kita buat dan node-red pun sudah memiliki autentifikasi sehingga lebih secure

Sekian tutorial kali ni semoga bermanfaat dan Happy Coding …

Advertisements

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 !!!

connect to mqtt thethingsnetwork (ttn)


Akhirnya setelah kesana kemari browsing ketemu juga cara mqtt ke ttn kebetulan belakangan ini lagi iseng2 main lora dan gampangnya karena belum punya server sendiri saya pakai thethingsnetwork.org untuk test upload data ke server.

Nah semingguan ini saya penasaran ada ngga ya cara paling mudah untuk konek ke server ttn tanpa harus masuk ke console ttn, nah akhirnya ketemu juga caranya ternyata data kita di ttn bisa dibaca lewat mqtt.

Dengan mosquitto_sub kita bisa mengakses data di ttn, postingan ini sekali lagi bukan buat show off cuman sebagai catatan pribadi saya dan siapa tau bisa berguna buat yang lain juga.

mosquitto_sub -h <server>.thethings.network -t '+/devices/+/up' -u '<nama appid>' -P 'ttn-account-v2.<accesskey>' -v

Ganti beberapa paramater berikut saya bolak balik nyari akhirnya ketemu juga

  • <server> = server yang kita gunakan untuk upload data ke server ttn karena saya pake ttn handler asia sebagai server maka <server> saya ganti dengan asia-se
  • <nama appid> = lihat settingan di ttn ganti dengan Application ID
  • <access key> = ganti dengan access keys di bagian bawah applications

kalau berhasil maka di terminal kita akan muncul random text yang isinnya uplink data kita ke ttn atau mau lihat yang lain juga bisa baca baca formatnya disini

Semoga bermanfaat lanjut ngoprek …

Membuat headless virtualbox machines


Hai ketemu lagi dengan kakeko, kali ini saya akan share gimana caranya supaya mesin kita yang ada di virtual box jalan otomatis ketika pc kita hidup atau setelah restart, caranya cukup mudah pastikan virtualbox jalan dan mesin yang ada divirtual box sudah diinstall dan bekerja sebagaimana mestinya.

Ok persiapan pertama tama buka terminal di pc host jangan di virtual ya tetapi di host tempat kita menginstall virtualbox, kemudian enable service rc.local

sudo systemctl enable rc-local.service

VBoxManage list vms

untuk melihat virtual mesin kita yang sudah terinstall

Lalu selanjutnya edit rc.local di sini /etc/rc.local

tambahkan baris ini diatas exit

 

su username -c "VBoxManage startvm 'nama_virtual' --type headless &" 

Yang harus diperhatikan adalah sesuaikan username dengan username dari host kita dan kemudian masukkan nama virtual yang sudah kita buat divirtualbox kita.

Selesai untuk mengetes berhasil apa tidak silahkan restart pc host kemudian lihat status service nya apakan ada error apa tidak, caranya dengan mengetikkan command ini di terminal

sudo systemctl status rc-local.service

Selesai cukup mudah bukan silahkan mencoba

Posting Pertama 2018


Eh sudah 2017 aja, tanpa terasa 2017 sudah lewat dan banyak banget yang sudah berubah terutama di bulan akhir 2017, yang paling berbeda adalah akhirnya mendapatkan  kesempatan yang ditunggu tunggu , akhirnya setelah hampir 7 tahun lebih di departemen safety dan sekarang diberikan kesempatan untuk pindah departemen, walaupun tidak mudah pastinya karena  harus belajar lagi dari awal tapi ya sisi positifnya dapat ilmu baru dan jadi lebih bersemangat karena bisa lebih menyalurkan hobi :D.

Dan akhirnya sayapun pindah dari departemen safety ke Engineering untuk beberapa saat , ya karena lagi senang senangnya di Engineering eh memang ngga jodoh akhirnya sayapun dipindahkan lagi ke Departemen Business Development karena request dari Big Boss, Mudah mudahan bisa mengemban tugas baru ini, dan mudah mudahan 2018 ini jadi banyak nambah ilmu dan bisa bermanfaat buat perusahaan.

Udah itu aja …

Semangat sambut 2018