Semua Tentang Belajar Teknologi Digital Dalam Kehidupan Sehari - Hari

  • IC Timer 555 yang Multifungsi

    IC timer 555 adalah sirkuit terpadu (chip) yang digunakan dalam berbagai pembangkit timer, pulsa dan aplikasi osilator. Komponen ini digunakan secara luas, berkat kemudahan dalam penggunaan, harga rendah dan stabilitas yang baik

  • Ayo Migrasi TV Digital

    Kami bantu anda untuk memahami lebih jelas mengenai migrasi tv digital, apa sebabnya dan bagaimana efek terhadap kehidupan. Jasa teknisi juga tersedia dan siap membantu instalasi - setting perangkat - pengaturan antena dan distribusi televisi digital ke kamar kos / hotel

  • Bermain DOT Matrix - LOVEHURT

    Project Sederhana dengan Dot Matrix dan Attiny2313. Bisa menjadi hadiah buat teman atau pacarmu yang ulang tahun dengan tulisan dan animasi yang dapat dibuat sendiri.

  • JAM DIGITAL 6 DIGIT TANPA MICRO FULL CMOS

    Jika anda pencinta IC TTL datau CMOS maka project jam digital ini akan menunjukkan bahwa tidak ada salahnya balik kembali ke dasar elektronika digital , sebab semuanya BISA dibuat dengan teknologi jadul

  • Node Red - Kontrol Industri 4.0

    Teknologi kontrol sudah melampaui ekspektasi semua orang dan dengan kemajuan dunia elektronika, kini semakin leluasa berkreasi melalui Node Red

Kamis, 31 Oktober 2019

Cara Belajar IOT : Menyimpan Data Sensor lewat NBIOT untuk Ditampilkan Ke Chart dan Peta



Bahasan kali ini sempat tertunda akibat gejolak politik Indonesia sebelum pelantikan presiden. "Sombong Amat" hehehe...ya tertundanya secara tidak langsung sih karena coba deh perhatikan penampakan alat saya dibawah ini yg saya bawa keliling-keliling surabaya di awal oktober 2019.


Ngeri kali bukan? apalagi saat kasus penusukan pak wiranto saya jadi was-was membawa keliling alatnya ntar dikira mau sabotase kali...hehehe...ngelanturnya kejauhan kali ya ? Balik yuk ke topik utama dan kali ini IOT nya semakin lebih jauh dimana sensor akan dibawa berkeliling dan tiap pembacaan akan disimpan pembacaan  GPS nya. Seperti ini loo pesan mqtt berformat JSON yg dikirim oleh arduino...



Dari pesan MQTT diatas maka jika ingin mengolah data ber "GEO" atau memiliki data koordinat GPS maka tiap pembacaan sensor perlu disimpan ke dalam database. Arduino secara kemampuan nya yg 8 bit tentunya megap-megap kalau dihubungkan ke SQL, lalu berpikir apasih yg digunakan orang-orang diluar sana untuk database IOT ? Jawabanya adalah PYTHON + MONGODB






Jadilah saya belajar bahasa asing lagi nih...ya untung saja sukses dan langkah belajarnya seperti ini untuk membantu pembaca memahami lebih mudah.


PYTHON + MQTT

Masih ingat tulisan terdahulu tentang ESP dan MQTT ? Sekarang dengan python ada library khusus menangani pesan PUBLISH dan SUBSCRIBE dengan nama pahomqtt. Jadi setelah berhasil mempelajari dasar-dasar python tidak lama kemudian saya berhasil menguasai pahomqtt seperti script berikut ini :

import paho.mqtt.client as mqtt #import lib mqtt

led = 0
segmen = 0

############jika ada mqtt yg di sub masuk#########
def on_message(client, userdata, message): 
    print("message received " ,str(message.payload.decode("utf-8")))
    print("message topic=",message.topic)
    print("message qos=",message.qos)
    print("message retain flag=",message.retain)
    global led
    global segmen
    client.publish("/test/seg","SEG"+ str(segmen)) 
    print("Publishing message to topic LED & 7 SEG")    
    print("7 SEGMEN : " + str(segmen))
    segmen+=1
    if segmen == 10:
       segmen = 0
    if led == 0:    
       print("LED ON")
       client.publish("/test/led","ON")
       led = 1
    else :    
       print("LED OFF")   
       client.publish("/test/led","OFF")
       led = 0
    print('')
    print('')
########################################
broker_address="soldier.cloudmqtt.com"
broker_port=146xx
broker_user="xxxxxx"
broker_pass="xxxxxx"
print("creating new instance")
client = mqtt.Client("P1") #create new instance
client.on_message=on_message #attach function to callback
client.username_pw_set(broker_user,broker_pass)
print("connecting to broker")
client.connect(broker_address,broker_port) #connect to broker
#start the loop
print("Subscribing to topic","/test/DHT")
client.subscribe("/test/DHT")
client.loop_forever()




Script diatas merupakan koding python yg akan men SUB topik /test/DHT dan kemudian akan melakukan PUB terhadap LED dan 7 Segmen. oo iya jangan salah paham ya script python nya saya jalankan di PC yg terhubung ke internet bukan di ARDUINO.


PYTHON + MONGODB


Database umum yg digunakan saat ini pasti gak jauh dari SQL deh...tapi saya menemukan yg lebih simple dan ada GRATISAN nya yaitu MONGODB . Benar saja mongodb mungkin masih awam ditelinga orang tapi diluar sana bisa dilihat penggunaan mongobd cukup intensif mungkin dikarenakan karena data IOT yg bersifat tidak atau cenderung kurang relational dan tentunya datanya sederhana. Untuk itu kita bisa menggunakan mongodb gratis dengan nama MONGODB ATLAS dan bersifat cloud based.





Jika anda pengguna SQL maka record dan field pada mongodb diistilahkan sebagai collection . Python sendiri tidak mempunyai fasilitas khusus untuk mongodb sehingga dibutuhkan library PYMONGO sebagai bahasa dasar untuk simpan-hapus-filter-update database. Secara singkat hasil pembelajaran saya membaca suhu dan kemudian menyimpannya pada MONGODB seperti script berikut ini :


import paho.mqtt.client as mqtt #import the client1
import pymongo
import json
from datetime import datetime


myclient = pymongo.MongoClient("mongodb+srv://user:pwd@cluster0-jb06l.mongodb.net/test?retryWrites=true&w=majority")
mydb = myclient["humitemp"]
mycol = mydb["data_humitemp"]

##########simpan DB###########
def save_db(isi):
    dateTimeObj = datetime.now()
    print('')   
    print("<===SAVE TO MONGODB===>")
    print(dateTimeObj)
    x=json.loads(isi)
    y={"waktu":dateTimeObj , "suhu": x["suhu"]  , "humi": x["humi"]  }
    z = mycol.insert_one(y)
   #print list of the _id values of the inserted documents:
    print("database masuk dengan id : ")
    print(z.inserted_id)
    print("========================")
    print('')
###############BACA SUB MESSAGE#################
def on_message(client, userdata, message):
    print("message received " ,str(message.payload.decode("utf-8")))
    print("message topic=",message.topic)
    print("message qos=",message.qos)
    print("message retain flag=",message.retain)
    save_db(str(message.payload.decode("utf-8")))
   
################################
broker_address="soldier.cloudmqtt.com"
broker_port=146xx
broker_user="xxxx"
broker_pass="xxxxxx"
print("creating new instance")
client = mqtt.Client("P1") #create new instance
client.on_message=on_message #attach function to callback
client.username_pw_set(broker_user,broker_pass)
print("connecting to broker")
client.connect(broker_address,broker_port) #connect to broker
 #start the loop
print("Subscribing to topic","/test/DHT")
client.subscribe("/test/DHT")
client.loop_forever()


Hasilnya tidak mengecewakan pada MONGODB atlas karena ada fasilitas report CHART grafik sehingga sangat menyingkat waktu coding



Yang menjadi titik menariknya adalah data GEOSPATIAL juga bisa ditampilkan melalui MONGODB ATLAS.



Nanti deh kita bahas kapan-kapan setelah pembaca mahir di PYTHON vs ARDUINO...selamat mumet kawan...
Share:

Sabtu, 26 Oktober 2019

Nusantara HD - Unboxing Receiver PayTV Murah Dari Tanaka - Transvision




Sekitar awal 2018 dunia parabola mini kedatangan era siaran HD dengan munculnya produk refurbish dari Transvision dengan nama Rexana. Kenapa refurbish ? Ya memang receiver samsung yg digunakan adalah rekondisi ( baru di gudang) dari rx yg belum dipasang oleh transvision. Senangnya para pengguna parabola mini se nusantara bisa menikmati siaran HD yg super jernih , sampai rekan dari jiran malaysia pun ada yg memasang karena satelitnya tidak bergeser dari measat ( sama dengan satelitnya astro jadi bisa menggunakan parabola mini astro dan aman dari sweeping petugas di malaysia).


Dengan harga rx samsung transvision yg lumayan mahal, maka MMP kemudian TANAKA melakukan terobosan dengan melakukan refurbish rx skyworth bekas Telkomvision menjadi paket mitra/nusantara SD. Dan dengan semakin "GILA" nya perang TV LOKAL menjadi FREE TO VIEW yg dipelopori oleh MNC group, maka makin banyak orang yg butuh receiver semacam ini. Oktober 2019 Tanaka berhasil mengikat kerjasama dengan TRANSVISION untuk membeli haksiar siaran nya untuk 100 ch dengan nama NUSANTARA HD. Ayo kita unboxing yuk apa aja yg didapat dari receiver baru ini...

ISI BOX

Sangat standar bahkan mengecewakan karena tulisan di BOX terang benderang ditulis 4K HD , tapi kabel yg dikasikan hanya RCA composite, sangat IRONI apa mereka tidak paham mengenai High Definition ? Atau menekan harga semata?

TAMPILAN AWAL


Jadi bila ingin menikmati HD yg sebenarnya gunakanlah kabel HDMI..hehehe...

TAMPILAN DEPAN STB


Standar TANAKA .. yg pernah main main TOPAS pasti merasa rx ini mirip cuman plastiknya  terkesan ringkih. Apalagi remotenya yg sangat terlihat "murahan".

AKTIVASI LEWAT APP


Jangan lupa menginstal aplikasi TANAKA VOUCHER di android kalian sebelum aktivasi perangkat. 2 kode yg dibutuhkan adalah chip ID dan kode gesek yg ada di dekat kabel antena. Bisa juga aktivasi menggunakan SMS/WA tapi kalau pake APP bisa dapat kredit 25.000, lumayan buat isi paket termurah 5000.


TAMPILAN DI TV





Lumayan jernih di LED 32 inch apalagi HD nya transvision terkenal terbaik dikelasnya

MENU BISA TAMBAH TP NGGAK?






Aman terkendali untuk tambah SAT dan TP, jadi receiver Nusantara HD seperti halnya TOPAS TANAKA yg berchipset GUOXIN jadi dapat dihandalkan untuk cari satelit FTA. Apa support acakan BISS atau PVU ? Kayaknya dikunci deh dan ngapain juga HBO nya murah sebulan 75 ribu saja dan 100ch sudah membuat lupa waktu karena nonton terus.

KUALITAS HD


Tidak disangsikan lagi sangat BENING untuk kualitas HD 1080 i nya. Saya sebelumnya menggunakan Ninmedia-TiviPlus di siaran tvN 720p dengan TV yg sama terasa perbedaan kehalusan sudut gambar dan detailnya

SIARAN DAN HARGA PAKET

Sayangnya bagi pecinta anime kurang didukung oleh RX ini karena animax dan aniplus tidak termasuk dalam channel list, begitu pula dengan CNN intl , E , DIVA, History Channel[V} dan NAT GEO. Jadi diutamakan untuk pecinta HBO FOX DISNEY NICK dan Korea. Jadi bisa dihandalkan juga. Dari dealer menjelaskan kalau paket lokalnya cuman 1 tahun dan bisa diperpanjang dengan membeli paket apa saja bisa yg  termurah (paket Pria) seharga 5000 dan sudah terbuka semua siaran lokalnya .

Untuk susunan siaran butuh disusun manual dan menghapus siaran yg tidak termasuk paket. 


OVERALL

Dengan skala 0 -10 maka review saya :

Kualitas RX = 5
Kualitas Siaran = 8


Ayo dicoba dan dapatkan kepuasan nonton siaran HD
Share:

Kamis, 03 Oktober 2019

Cara Belajar IOT : Lebih lanjut dengan MQTT menggunakan ESP8266 - Wemos D1



Ketika harga modul wifi + microcontroller dengan bandrol hanya 75 ribu perak, disitu saya merasa sangat sedih, dimana penghargaan terhadap para desainer elektronika ? Cungkuok memang luar biasa dalam meng "clone" modul berbasis arduino seperti Wemos D1 yang akan kita bahas disini. Daripada galau berkepanjangan karena tidak habis pikir biaya manufaktur dari board nya di cungkuok, sebaiknya kita oprek aja menjadi barang IOT yg sedang getol-getolnya dibicarakan orang. Industri 4.0 katanya...

Wemoz D1 merupakan minimum system atau lebih tepatnya breakout board dari modul wifi terkenal ESP8266 dimana pinoutnya yg sedikit acak bisa dilihat dari gambar diatas yg saya comot dari internet. Keuntungan dari modul siap pakai ini adalah terdapat oprekan dari orang diluar sana yg menjadikan board ini bisa menggunakan IDE SKETCH nya arduino. Jadi sebelum dapat menggunakan ide arduino untuk modul ini bisa di import library nya di :  http://arduino.esp8266.com/stable/package_esp8266com_index.json , masukkan alamat terebut di preferences pada sketch. Kemudian pada menu Boards Manager bisa menambahkan boards ESP seperti pada gambar



Dan contoh-contoh program banyak bertebaran di luar sana salah satu contoh yg merupakan helloworld bisa mencoba mengirim data pembacaan suhu ke port TCP dari PC atau HP seperti yg pernah dibahas sebelumnya, script singkatnya seperti ini :

//Inisialisasi library
#include <ESP8266WiFi.h>
#include "DHT.h"

//Inisialisasi Pin DHT11 
#define DHTPIN 2
#define DHTTYPE DHT11
  
DHT dht(DHTPIN, DHTTYPE);

const char* ssid = "INDOTECH"; // Nama Wifi
const char* password =  "infrastruktur"; // Password wifi
const char* host = "192.168.1.12"; // IP tujuan
const uint16_t port = 1855; // Port Tujuan

WiFiClient klien;  // nama klien 

void setup() {
  Serial.begin(115200); // biar bisa monitor
  dht.begin();

  WiFi.begin(ssid, password); //konek ke wifi

// loop untuk mengulang koneksi jika gagal
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.println("Terhubung WiFi..");
  }
    Serial.println("Anda Terhubung Ke Wifi..");
//biar tau IP nya 
  Serial.println("");
  Serial.println("IP address: ");
  Serial.println(WiFi.localIP());

}

//Membaca DHT11
void SendTempHumid(){
  
 String datae ="";
  
  float h = dht.readHumidity();
  float t = dht.readTemperature();

//trap untuk mengetahui dht sudah nyambung atau tidak
   if (isnan(h) || isnan(t) ) {
    Serial.println(F("Sensor DHT blum terpasang dengan benar!"));
    return;
  }

//tampilkan hasil dht11 ke serial monitor
datae+= F("Kelembaban: ");
datae+= String(h);
datae+= F("%  Suhu: ");
datae+= String(t); 
datae+= F(" °C") ;

Serial.println(datae);

//koneksi ke TCP
  Serial.print("Terhubung ke ");
  Serial.print(host);
  Serial.print(':');
  Serial.println(port);

  Serial.println("...Kirim data ke Lawan..\n");
  
   if (!klien.connect(host, port)) {
    Serial.println("gagal konek masbroo...");
    delay(5000);
    return;
  }

  // Kirim teks DHT 11 ke port TCP lawan
  if (klien.connected()) {
    klien.println(datae);
  }
}

void loop() {
SendTempHumid();
delay(5000);
}

Anda bisa menggunakan aplikasi PC berupa TCP Monitor atau menggunakan hotspot HP dan menginstall aplikasi android TCP server dari play store.

Kotak pandora sudah terbuka lebar dan dengan menggunakan library MQTT yg sudah dibahas pada pembahasan sebelumnya DISINI , maka kita bisa saling kirim data secara PUBLISH dan SUBSCRIBE sesuai standar MQTT. Seperti gambar paling atas saya mengunakan Wemos D1  dengan bantuan library PubSubClient untuk mengirim data suhu dan kelembaban. Sedangkan untuk proses SUBSCRIBE saya menggunakan output berupa LED dan 7 Segmen. Karena pin GPIO dari wemos terbatas maka saya menggunakan bantuan IC 7 segmen 4026 dengan catatan 7 segmennya common negatif (KATODA).


Jadi hanya perlu 2 buah PIN dari wemos menuju ic 4026 yaitu pin CLOCK dan reset. Saat ada data masuk atau perubahan angka maka program akan mereset IC 4026 dan memberikan jumlah pulsa clock sesuai angka yg diinginkan seperti kode berikut :

void segmen(int angka)
{

 int b;
 //reset 
 digitalWrite(RST,HIGH);
 digitalWrite(RST,LOW);

//loop clock sampai angka yg diinginkan
 for(b=0;b<angka;b++)
   {
         digitalWrite(CLK,HIGH);
         digitalWrite(CLK,LOW);
   }
}


Sedangkan untuk membaca data SUBSCRIBE pada MQTT brokernya, maka bisa menggunakan perintah Call back pada library PobSubClient.

..................................

#define SEGTOPIC "SEG"

..................................

client.setCallback(mqtt_callback);
    
   if (client.connected()){
     
      client.subscribe(SEGTOPIC); //subscribe ke topic 7 segmen
    }
..................................  

void mqtt_callback(char* topic, byte* payload, unsigned int length) {

  Serial.print("Ada Pesan Baru Di Topik: ");
  Serial.println(topic);

  Serial.print("Pesan:");

  String message;
  for (int i = 0; i < length; i++) {
    message = message + (char)payload[i];  //Convert *byte to String
  }
   Serial.print(message);
//ubah 7 segmen sesuai data yg masuk
  if(message == "SEG1") {segmen(1);}
  if(message == "SEG2") {segmen(2);}
  if(message == "SEG3") {segmen(3);}
  if(message == "SEG4") {segmen(4);}
  if(message == "SEG5") {segmen(5);}
  if(message == "SEG6") {segmen(6);}
  if(message == "SEG7") {segmen(7);}
  if(message == "SEG8") {segmen(8);}
  if(message == "SEG9") {segmen(9);}
  if(message == "SEG0") {segmen(0);}
  Serial.println();
  Serial.println("-----------------------");  


}


Jadi kalau ada client MQTT yang mem PUBLISH ke topic "SEG" maka otomatis terbaca oleh microcontroller dan merubah tampilan 7 segment seperti yg terlihat pada video berikut :


Share:

Kontak Penulis



12179018.png (60×60)
+628155737755

Mail : ahocool@gmail.com

Site View

Categories

555 (8) 7 segmen (3) adc (4) amplifier (2) analog (19) android (14) antares (11) arduino (27) artikel (11) attiny (3) attiny2313 (19) audio (5) baterai (5) blog (1) bluetooth (1) chatgpt (2) cmos (2) crypto (2) dasar (46) digital (11) dimmer (5) display (3) esp8266 (26) euro2020 (13) gcc (1) gsm (1) iklan (1) infrared (2) Input Output (3) iot (75) jam (7) jualan (12) kereta api (1) keyboard (1) keypad (3) kios pulsa (2) kit (6) komponen (17) komputer (3) komunikasi (1) kontrol (8) lain-lain (8) lcd (2) led (14) led matrix (6) line tracer (1) lm35 (1) lora (11) lorawan (2) MATV (1) memory (1) metal detector (4) microcontroller (70) micropython (6) mikrokontroler (2) mikrokontroller (14) mikrotik (5) modbus (9) mqtt (3) ninmedia (5) ntp (1) paket belajar (19) palang pintu otomatis (1) parabola (88) pcb (2) power (1) praktek (2) project (33) proyek (1) python (8) radio (28) raspberry pi (9) remote (1) revisi (1) rfid (1) robot (1) rpm (2) rs232 (1) script break down (3) sdcard (3) sensor (2) sharing (3) signage (1) sinyal (1) sms (6) software (18) solar (1) solusi (1) tachometer (2) technology (1) teknologi (2) telegram (2) telepon (9) televisi (167) television (28) telkomiot (5) transistor (2) troubleshoot (3) tulisan (94) tutorial (108) tv digital (6) tvri (2) vu meter (2) vumeter (2) wav player (3) wayang (1) wifi (3) yolo (7)

Arsip Blog

Diskusi


kaskus
Forum Hobby Elektronika