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

Senin, 20 Juli 2020

Televisi Digital & Satelit [Seharusnya] Menjadi Solusi Kelas Jarak Jauh Saat Pandemi



Pernahkah anda membayangkan sebelumnya apa yg kini terjadi di 2020 ? Ekonomi morat-marit , banyak korban virus berjatuhan, ambulance meraung dijalan dengan sopir yang berpakaian astronot. Ahh saya terlalu dramatis dan akan diserang para pendukung mereka yg menganggap kalau corona itu HOAX ! Tapi ada satu hal yang sangat nyata dihadapi para orang tua yang memiliki anak usia sekolah mulai Paud sampai tingkat mahasiswa, masalahnya sama yaitu : KUOTA INTERNET ! Gak usah mikirin korona hoax setingan amerika-china -iluminati dan sebagainya..ini nih jeritan nyata para orang tua di tahun ajaran baru 2020/2021.




Jawaban normatif akan diberikan oleh rata-rata guru ketika para ortu murid protes, umumnya di kota yang jaringan internetnya merata, dimana para ortu teriak lantang anaknya gak bisa mengikuti akibat miskin kuota.  Guru pasti menyarankan untuk mencari sumber internet gratis di tetangga, taman, balai RW dan sebagainya. Memang sih penulis sempat juga menjadi surveyor di wifi.id milik telkom dimana dulu itu banyak titik keramaian dan public area yg ada hotspot gratis disediakan oleh telkom. Tapi saat pandemi ini telkom menggenjot di pemasangan indihome ke rumah-rumah dan ndak tahu lagi nasib wifi.id, namun demi CSR kepada masyarakat seharusnya wifi.id mengikuti penetrasi Indihome yang semakin masive. Cerita akan menjadi ironi ketika dipelosok yang jaringan telpon sekelas 2G pun gak sampai, jadi kalau masalah jangkauan internet kurang merata ya saya siapa kok berani protes ? hehehehe


- Perhitungan Kuota Perbulan

  




Mari kita hitung yuk berapa sih kira-kira kuota yang dihabiskan untuk kelas online ? Kita asumsikan kelasnya dilakukan di youtube dengan resolusi video paling standar bisa dilihat enak di mata yaitu 240p dengan perhitungan dari wikipedia sekitar 180-250 MB. Kita ambil tengahnya yaitu 200MB per jam. Jika per-hari siswa mengikuti kelas online sebanyak maximal 2 jam maka sebulan...


200 MB x 2 (jam) x 5 (hari) x 4 (minggu) = 8 GB 


Glekk glekk..hhoekkk ..itu baru seorang anak yg culun dan gak maen game , jangan dikira iklan nongol diyutub gak makan quota apa? Terus searching jawaban dari tugas guru, tulis status IG yg videonya seabrek , maen tiktok, video call untuk tatap muka ke guru dan itu tuh..PUBG dan FF akan susah untuk dikontrol ..apalagi rata-rata anak terbiasa mencari ini nih seperti gambar dibawah...




Hanya bisa geleng-geleng saya , niat baik TVRI dan Kemdikbud untuk mengatasi permasalahan kuota dan infrastruktur internet di daerah terluar dan terdepan Indonesia, menjadi ternoda oleh ulah para "Budak Adsense" yang sudah menyediakan seolah-olah "kunci jawaban" ( jauh sebelum acara kelas tvri dimulai) , dengan harapan menjaring viewer saat kelas tvri selesai dan terdapat tugas untuk dikerjakan dirumah. Sepertinya kesalahannya ada pada TVRI telah menyediakan jadwal dan kisi-kisi yang akan dibahas, dan para yutubers ini entah mendapat ide dari mana akan telah menyediakan bank soalnya. Dan benar saja saat selesai TVRI  memutar satu kelas maka dipublish lah video yang sesuai dan view dari video youtube ini menjadi melonjak drastis. Luar biasa ! Youtube menjadi kebanjiran pengunjung dari anak-anak sekolah, operator telco mendapatkan penghasilan penjualan pulsa quota internet dan yutuber mendapatkan berkah dari adsense. Orang tua siswa hanya bisa menggaruk kepala karena bayar SPP tetap jalan begitu juga Kuota internet yang 2 minggu dijamin sudah lenyap !


- TV DIGITAL SEHARUSNYA MENJADI SOLUSI



Harapan muncul saat membaca artikel viral diatas pada sebuah postingan di Facebook dimana sekolah di padang berusaha merelay LAN sekolahnya via WiFi ke lokasi disekitar sekolah sehingga siswa mendapatkan sinyal yg terhubung dengan server sekolah. Saya awalnya lumayan salut dengan ide yang sebenarnya saya pernah liat pada website luar negeri beberapa tahun yang lalu, tapi gak apa-apa namanya juga meniru sah sah saja. Yang menjadi permasalahan yg mengusik sanubari adalah "kenapa harus selalu pakai jaringan IP sih? "  Bukannya lebih mudah kalau pake sistem broadcast seperti radio dan televisi ? Masih ingat penulis pernah membuat alat pemancar TV sekampung untuk menyebar pengajian ke rumah-rumah (baca disini) ? 



Jadi ide sederhana ini sudah terbukti bisa menjadi solusi di pelosok daerah yang terbebas dari scanner BALMON kominfo, kalau dikota besar ya jangan gunakan ide ini ya pasti di tutup langsung ! Daripada susah-susah narik kabel LAN atau menaikkan tiang PTP wifi dari sekolah menuju titik berkumpulnya murid kenapa tidak dibagikan materinya melalu FLASHDISK saja ? atau guru burning VCD video pelajaran tiap minggu dan seninnya diambil siswa , jumat tugas dari dalam video tadi dikumpulkan. Syarat tanpa kontak langsung guru  ke peserta didik pun menjadi terpenuhi.






Indonesia merupakan pelopor "distance learning " pertama di negara ASEAN ketika TPI - Televisi Pendidikan Indonesia muncul pada tahun 1991. Saat itu penulis rajin menonton pembelajaran tiap pagi dan siang hari dimana produksi acara dilakukan oleh pustekom depdikbud saat itu. Kini TPI menjadi MNC tv dan pustekom telah mendirikan siaran TV satelit TV Edukasi yang mengudara via satelit Palapa. Dulu TVE sempat mengudara melalui UHF analog tapi karena suatu dan lain hal turun tayang kalah dengan tv komersial. Nah inilah seharusnya peran penyiaran sekolah diambil oleh TV DIGITAL yang menyediakan banyak kemudahan.


Gambar diatas merupakan siaran DISTANCE LEARNING TV dari satelit thaicom 8 yang kemudian dapat diterima di daerah thailand dan sekitarnya. Juga satelit ini berfungsi sebagai sumber siaran pemancar digital UHF di seluruh negeri gajah putih. Dengan teknologi digital satelit DVB-S2 maupun DVB-T2 melalui teresterial UHF maka 1 kanal frekuensi yang kalau siaran analog hanya 1 siaran bersemut dan berbayang, dengan tv digital dapat ditingkatkan menjadi 10 siaran kualitas HD. Saya membayangkan jika migrasi digital kita mengikuti jadwal ASO - Analog Switch OFF tepat jadwalnya di 2018  maka permasalahan kuota internet pada orang tua murid bisa sedikit ditekan dengan siaran televisi pendidikan yang beragam channelnya.

Sebagai penutup marilah kita ikuti teleconfrence Bapak Presiden SOEHARTO saat meresmikan siaran TELEVISI PENDIDIKAN INDONESIA tahun 1991.



by : nyoman yudi kurniawan
pencinta elektronika dan tv satelit
ahocool@gmail.com

Share:

Sabtu, 18 Juli 2020

[IOT Itu Gampang] SIM7000 NBIOT Gagal Terima Pesan Subscribe MQTT dari Antares



Senangnya hati ini saat berhasil menduplikasi alat jadul saat penulis kerja praktek pada tahun 2002 (bisa dibaca disini ) terutama saat berhasil mengirimkan data pembacaannya menuju grafik pada microsoft excel menggunakan NBIOT telkomsel dan Antares sebagai platform IOT nya. Dan sekarang saya ingin mengetes proses kebalikan dari alat ini yaitu subscribe ke topic antares dan mencoba menerima data. Sebagai pemahaman untuk pembaca, proses subscribe MQTT dari antares selalu menggunakan topik :

/oneM2M/resp/antares-cse/ACCESS:KEY/json

Access:key merupakan username dan password yang anda dapatkan dari platform antares . Karena topiknya satu saja maka data yg ingin diolah diterima dibagian mana ? Mari kita lihat contoh respon atau jawaban dari topik mqtt.

 {
   "m2m:rsp" : {
      "rsc" : 2001,
      "rqi" : "123456",
      "pc" : {
         "m2m:cin" : {
            "rn" : "cin_63068886",
            "ty" : 4,
            "ri" : "/antares-cse/cin-63068886",
            "pi" : "/antares-cse/cnt-682859183",
            "ct" : "20200707T152502",
            "lt" : "20200707T152502",
            "st" : 0,
            "cnf" : "message",
            "cs" : 35,
            "con" : "{\"led\":\"on\"}"
         }
      },
      "to" : "username:password",
      "fr" : "/antares-cse"
   }
}





Wihh panjangnya sekitar 500 karakter nih...padahal kalau dilihat dari buffer nya library tinyGSM hanya mencantumkan rx buffer sebanyak 64 byte saja. Jadi berdasarkan penelusuran praktek menghidupkan LED melalu NBIOT-ANTARES pesan tidak bisa diterima karena kepanjangan. Kalau saya errorkan mengirim data maka response dapat diterima dengan baik karena pesan nya tidak melewati jumlah byte buffer.







Dapat disimpulkan datanya terlalu panjang untuk buffer sim7000 bagaimana kalau buffernya dibesarkan? Yang terjadi adalah memory RAM arduino yang saya gunakan menjadi kritis 80% dan tidak mampu untuk mengerjakan  fungsi memori dinamis scriptnya. Bagaimana kalau kita menggunakan broker lain dan mencoba mengirim data panjang ? Kita coba menggunakan broker HIVEMQ dan hasil yang didapat kurang lebih sama. Untuk lebih jelasnya dapat dilihat pada video berikut ini.





Share:

[IOT Itu Gampang] NBIOT - Alat Pengukur Kematangan Kultur Alga - Flashback ke Jaman Kuliah



Pada tahun 2002 penulis mendapatkan tantangan dari dosen ketua bidang studi elektronika almarhum ir soetikno yang sangat legendaris di elektro ITS, saat itu kami di lab elka sedang mengalami kejenuhan tugas akhir yang temanya cenderung mirip - mirip. Tantangan ini berupa pilihan untuk mengerjakan skripsi mengenai "Teknologi Baru" atau "Teknologi Terapan Masyarakat". Penulis yang otak nya lumayan "cekak" membuang jauh - jauh tantangan teknologi baru dimana kawan kami yang paling pintar mendapatkan tugas akhir teknologi baru FPAA (field programmable analog array) yang fresh from the oven dari amerika dan  terbatas sekali penelitian awalnya. Tapi karena topik judul skripsi paling mudah yaitu pengenalan awal sudah diambil, maka tantangan ke mahasiswa lainnya adalah membuat aplikasi dari modul FPAA yang datang langsung dari amerika, dimana syaratnya kalau sampai merusakkan alatnya maka harus menggatinya. Otak cekak , uang juga apalagi jadi larilah penulis ke topik pilihan lainnya yaitu teknologi terapan masyarakat.


Seketika penulis teringat akan sebuah balai penelitian perikanan di bukit gondol bali yg pernah dikunjungi pada masa SMA,  membuka beberapa foto album lama saat kunjungan kesana, dan berujung pada keputusan untuk menjajaki kerja praktek pada balai perikanan yang pilihannya ada di Sidoarjo, Sukabumi dan Buleleng Bali. Ternyata balai di sidoarjo yg cukup dekat sedang penuh karena memang ada kampus perikanan berdempet dengan balai. Sukabumi kejauhan walau ingin banget mencoba pengalaman hidup di kota lain. Akhirnya pilihan akhir kembali ke kota kelahiran singaraja bali dan melakukan penjajakan kerja praktek di balai perikanan disana dan sedikit kecewa karena hampir ditolak dengan alasan tidak ada topik untuk anak elektronika disana. Berita baiknya ada fasilitas baru kerjasama uni eropa yang super canggih dibangun di ujung tanjung bukit gondol dan saya berhasil menego pihak balai untuk bisa kerja praktek pada fasilitas tropical marine fish farming, dengan syarat saya harus tetap mengikuti kerja praktek standar siswa perikanan selama sebulan dan tidak berhak untuk mengutak-atik alat-alat kontrol yang fresh baru dibuka plastiknya.


Kulit menggelap karena tiap hari berjemur memberi pakan ke tambak dan tempat pembesaran ikan pelari kencang macam ikan kuwe dan red snapper, mengecek perkembangan pembesaran kerapu, memijah ikan dan mengambil gonad/telur ikan, mengecek jenis kelamin ikan, mengumpulkan telur bandeng di malam hari, menghitung banyaknya plankton pada mikroskop dan banyak hal diluar elektronika yang saya kerjakan, padahal didepan mata ada mesin kontrol PLC buatan jerman yang sedang dikonfigurasi oleh seorang bule finlandia  dan karena bahasa inggris saya lumayan bagus jadi mengalami momen "jaka sembung bawa golok". Si bule kurus tinggi ini hanya berbahasa jerman - perancis dan Finish ..lhaa kok finish ? Lomba lari dong ? hehhe benar baru pertama kali melihat bule skandinavia bahasa inggrisnya kacau dan susah di mengerti. Jadilah bahasa tarzan lebih dominan kita gunakan dalam komunikasi sehari-hari.

- Prinsip Dasar


Diujung sebulan menjadi calon petambak handal, saya kembali ke wujud asli sebagai tukang solder dan dengan sekejap mata mendapatkan judul laporan skripsi yaitu alat pembaca tingkat kematangan kultur alga / pithoplankton berbasis mikrokontroler mcs 51 dengan prinsip sensor cahaya terhalang. Kultur alga pada polibag bening ini akan berubah tingkat kegelapannya karena mahluk hidup berfungsi sebagai makanan ikan kecil ini adalah tumbuhan yang berfotosintesis. 


Back to the future pada tahun 2020 saya merangkai alat ini kembali dengan menambahkan prinsip IOT yang nantinya akan mengirim pembacaan sensor ke smartphone. Bisa dilihat pada video dibawah ini dimana merupakan kelanjutan pada praktek membaca ADC ke microsoft excel. Awalnya saya akan mengirim data pembacaan langsung ke PC menggunakan komunikasi serial saja persis dengan pembahasan membikin grafik excel lewat arduino disini. 

 




- Menghubungkan Dengan NBIOT - ANTARES




Beberapa tulisan saya sebelumnya sudah cukup lengkap membahas pengiriman data melalui NBIOT modul SIM7000 ke MQTT dan chart seperti yang dibahas disini. Jadi silahkan menuju pembahasan cara pengiriman data melalui NBIOT dan jangan kecewa kalau dilokasi kalian hanya terdapat sinyal GPRS saja yang bisa dikoneksikan. Sedangkan untuk platform antares saya sampai ke tahapan penggunaan NBIOT dengan ESP8266. Jadi jika menggunakan Antares dan SIM7000 maka yang diwaspadai adalah kemampuan pengolahan data json yang lumayan panjang dan untungnya karena proses sensor kita ini satu arah saja maka menjadi lebih mudah.

Saya akan membagi skripnya dari percobaan saya dan selanjutnya anda bisa melihat pebahasannya pada videonya.



#include <SoftwareSerial.h> //koneksi ke modem

#define TINY_GSM_MODEM_SIM7000
#define TINY_GSM_DEBUG SerialMon
#define BAUD 9600
#define SerialMon Serial

SoftwareSerial SerialAT(2, 3); // RX, TX ke modem

const char apn[]  = "NB1INTERNET"; //untuk gprs gunakan "internet"
const char user[] = "";
const char pass[] = "";
byte randomValue = random(0, 37);
const char *mqtt_server = "mqtt.antares.id"; //server antares
const char *mqtt_user = "";
const char *mqtt_pass = "";
const int mqtt_port = 1883;
const char *mqtt_client_name = "ahocool" + randomValue; // random

//dibawah ini sesuaikan dengan akun atares kamu
#define TOPIKPUB "/oneM2M/req/access:key/antares-cse/json"
#define accessKey "access:key"
#define projDev "Device/project"

// library modem dan mqtt 
#include <TinyGsmClient.h>
#include <PubSubClient.h>

#ifdef DUMP_AT_COMMANDS
  #include <StreamDebugger.h>
  StreamDebugger debugger(SerialAT, SerialMon);
  TinyGsm modem(debugger);
#else

TinyGsm modem(SerialAT);
#endif
TinyGsmClient client(modem);
PubSubClient mqtt(client);

long lastReconnectAttempt = 0;
int val;


void setup()
{
  // Set debug console dan modem
  SerialMon.begin(9600);
  delay(10);
  SerialAT.begin(9600);
  delay(3000);

  String modemInfo = modem.getModemInfo();
  SerialMon.print("Modem: ");
  SerialMon.println(modemInfo);

  SerialMon.print("Waiting for network...");
  if (!modem.waitForNetwork(240000L)) {
    SerialMon.println(" fail");
    delay(10000);
    return;
  }
  SerialMon.println(" OK");

  if (modem.isNetworkConnected()) {
    SerialMon.println("Network connected");
  }

  SerialMon.print(F("Connecting to "));
  SerialMon.print(apn);
    if (!modem.gprsConnect(apn, user, pass)) {
    SerialMon.println(" fail");
      delay(10000);
      return;
  }
  
    SerialMon.println(" OK");


   // MQTT Broker setup
  mqtt.setBufferSize(512);
  mqtt.setServer(mqtt_server, mqtt_port);
}


boolean mqttConnect() {
  SerialMon.print("Connecting to ");
  SerialMon.print(mqtt_server);

  // koneksi ke MQTT Broker
  boolean status = mqtt.connect(mqtt_client_name,mqtt_user, mqtt_pass);

  if (status == false) {
    SerialMon.println(" fail");
    return false;
  }
  SerialMon.println(" OK");

  return mqtt.connected();
}


void loop()
{

  //cek jika koneksi mqtt gagal maka ulang lagi
   if (!mqtt.connected()) {
    SerialMon.println("=== MQTT NOT CONNECTED ===");
    // Reconnect every 10 seconds
    unsigned long t = millis();
    if (t - lastReconnectAttempt > 10000L) {
      lastReconnectAttempt = t;
      if (mqttConnect()) {
        lastReconnectAttempt = 0;
      }
    }
    delay(100);
    return;
  }

  val = analogRead(0);  //baca sensor photodioda
                

  String pubString ;

 //JSON yang panjang untuk kirim data ADC ke antares
    pubString +=  F("{");
    pubString += F("\"m2m:rqp\": {");
    pubString += F("\"fr\": \"");
    pubString += String(accessKey) ;
    pubString += F("\",");
    pubString += F("\"to\": \"/antares-cse/antares-id/");
    pubString += String(projDev);
    pubString += F("\",");
    pubString += F("\"op\": 1,");
    pubString += F("\"rqi\": 123456,");
    pubString += F("\"pc\": {");
    pubString += F("\"m2m:cin\": {");
    pubString += F("\"cnf\": \"message\",");
    pubString += F("\"con\": \"{\\\"level\\\":");
    pubString += String(val);
    pubString += F("}\"");
    pubString += F("}");
    pubString += F("},");
    pubString += F("\"ty\": 4");
    pubString += F("}");
    pubString += F("}");
  
  // kirim atau publish ke antares

  SerialMon.println(pubString);
  char message_buff[pubString.length() + 1];
  pubString.toCharArray(message_buff, pubString.length() + 1);
  mqtt.publish(TOPIKPUB, message_buff);

delay(5000);
}
Penjelasan videonya bisa dilihat pada youtube berikut ini :




telkomsel iot, telkomsel, nbiot, ITS surabaya, ITB Bandung, Telkom antares, Telkom University, elektronika, Kementrian kelautan dan perikanan, susi pudjiastuti, eddy prabowo, deddy corbuzier
Share:

Jumat, 03 Juli 2020

Channel Matrix Garuda Orange Setelah OTA 2020 Untuk Meningkatkan Security


Matrix garuda merupakan receiver yang sejak tahun 2000an dipilih pecinta bola dan sampe sekarang pun tetap menjadi pilihan jika ingin menonton liga inggris melalui MOLA tv. Pada masa pandemi covid-19 di sepanjang awal 2020 ini beberapa peristiwa terjadi pada layanan tv satelit prabayar ini dan yang paling awal adalah berhentinya liga inggris yang membuat penonton khususnya pelanggan tv berbayar seluruh dunia kecewa. Pada skala matrix garuda yang menjadi kejutan adalah berhasilnya dibobolnya sistem encrypsinya melalu cccam / cline yang entah disebarkan oleh pihak siapa.



Penulis sempat meminta trial kepada salah satu agen penyedia cline dari luar negeri dan lumayan mengingatkan ke jaman FLY ASBAK yang berakhir kejayaannya di 2018. Tentunya pihak matrix tidak akan memerlukan waktu lama untuk menyadari bahwa acakan ABV, yang dari website pengembang abv meng claim bahwa CAS on Chip tidak bisa dijebol,  tapi nyatanya bisa dijebol entah dari kesalahan siapa. Dan dapat ditebak kesalahaanya dipihak mana  jika ada pemberitahuan seperti ini beberapa waktu setelahnya.

 

Update via OTA juga dilakukan pada seri-seri receiver terbaru seperti Matrix Mola dan matrix garuda orange / hijau / merah yang parameter OTA nya dianggap TP dan PID nya mendukung. Fatalnya saat informasi upgrade ini dikeluarkan banyak yg melakukan upgrade manual dengan software yg salah sehingga menyebabkan kegagalan boot / mata merah. Seingat penulis varian matrix garuda sangatlah beragam mulai dari matrix soccer mpeg4 SD jaman piala dunia 2010 dan tentunya ini salah satu faktor mengapa tingkat enkripsi dari ABV nya terlihat lemah, ya mungkin untuk meratakan jenis receiver matrix garuda yang bisa diisi voucher mola hingga akhirnya menemui "blunder".

 



Receiver matrix garuda di beberapa user yang penulis pasangkan matrix garuda dan mola matrix umumnya sudah memperoleh download versi terbaru seperti pada gambar yaitu garuda orange dengan  versi 0.9 G1 . Jika dikatakan alasan halus yang diberikan oleh pihak matrix adalah upgrade untuk menambahkan database satelit yang kebetulan pas momennya yaitu migrasi masal dari Palapa D ke Telkom 4. Ya masalah begini sih susah-susah gampang untuk dicerna mungkin anggapannya teknisi tidak ada yang pintar apa? hehehehe



Daripada kita membahas hal yang bagi teknisi lain "ribet amat sih lu ngurusin begituan...cari uang sana treking" saya akan menuliskan update saluran yang ada pada matrix garuda (FTV) yang bisa didapatkan pada matrix garuda orange dengan satelit SES9.

LOKAL FTV :

SCTV HD   INDOSIAR HD    O-CHANNEL   TVRI NASIONAL 
ANTV      RTV     METROTV   TV ONE   KOMPAS TV   NET  




FTA :

[V] CHINESE    TOONMAX    XING KONG SPACETOON
BALI TV  JTV  DA AI   RODJA TV  TVMU  MATRIX SHOP





FTV ANAK:

NICKELODEON      NICK JR










FTV FILM & HIBURAN :

AXN    ZEE BIOSKOP   THRILL   MY CINEMA    MYCINEMA ASIA
SONY ONE      SONY GEM    MTV ASIA   MOLA SPORT FREE







RELIGI:

QURAN TV MEKAH     SUNNA TV MADINAH


Untuk daftar paket voucher berbayar 2020 nya seperti ini :



BlackPink How you like that g dragon
Share:

Kamis, 02 Juli 2020

The Coolest Way To Visualize VU Meter From Arduino to Microsoft Excel



On this tutorial i will try to show you how cool is python if combined with arduino, as i've already wrote on previous blogs Here dan Here . Sorry since i was writing only in Bahasa so please use google translate for your convenience and now i would like to write in english and i hope you'll understand.

First prepare some components from this schematic for amplifier part, the purpose is to create audio signal gain (from condenser mic) which is too weak for arduino's ADC to read from. 

Since we only want to read the signal's voltage so we can skip loud speaker part, but if you want to hear some poor noisy sound then it is up to you. Pin no 5 of LM386 can directly feed into any arduino ADC pin and the power supply can directly connected to 5 volt on arduino. The Script is quite simple as i only copy and paste from arduino's ADC example scripts collection.


int analogPin = A0; // Any ADC Pin on ardiuno
                    
int val = 0;  // variable to store the value read

void setup() {
  Serial.begin(9600);           //  setup serial
}

void loop() {
  val = analogRead(analogPin);  // read the input pin
  Serial.println(val);          // send value to serial
  delay(100);   // 100 ms delay is the best, try other number
}
That is one simple scripts, i only use hardware serial directly connecting to USB COM port then the python will do the rest. Xlwings library is a simple tools to write and read directly to any excel 'cell' so then the graph chart on excel can becoming "alive" in real time if the data is changed rapidly. 


import serial #serial library
import xlwings as xw #excel library

wb = xw.Book('Audio.xlsx') #file name, change accordingly
sht = wb.sheets['data'] #sheets name, change it depend on your excel
row = 1

serialPort = serial.Serial(port = "COM4", baudrate=9600,   #baudrate
                           bytesize=8, timeout=2, 
                           stopbits=serial.STOPBITS_ONE)

serialString = ""   

while(1):
    if(serialPort.in_waiting > 0): #read if any serial data is coming
        serialString = serialPort.readline()
        data=serialString.decode('utf-8')     
        print(data) 
        if row == 51: #reset the row
          row=2 
        else: 
          row=row+1
        audio='A'+str(row) #new cell
        sht.range(audio).value= float(data) #write cell

The scripts read the integer value from ADC readout which is sent by arduino, then write it rapidly on cell A2 until A51 in excel file. The graph will be "dancing" according to the sound wave traveling through the condenser microphone.



As microsoft excel is easy to use or to customize then you can create any chart or graph you like and can be use as simple visualization as long as the data speed is not very fast, eg: Heart Beat or ECG.





 I hope you understand and happy Visualizing your favorite music on Excel


Naya Marie Rivera , naya rivera, glee, @nayarivera, missing
Share:

[IOT Itu Gampang] Komunikasi 2 Arah Dari Arduino Langsung ke Excel



Semakin asyik dan mudah, kini kita dapat menulis grafik menggunakan arduino langsung ke microsoft excel dengan bantuan library python xlwings. Tapi ada kendala kalau menggunakan MQTT maka jalur akan sedikit kepanjangan seperti yang telah dibahas sebelumnya disini. Seorang teman menyebut kalau pada dunia industri masih belum digalakkan penggunaan jalur internet pada  mesin industri  alasannya rawan di jahili para opreker Indonesia yang terkenal jago. Untuk itu kali ini kita akan bahas menggunakan komunikasi langsung serial UART dari arduino ke PC dan selanjutnya menulis ke Excel.




Karena komunikasi serial langsung ke PC maka kita dapat sedikit berkreasi dengan mengirim balik data dari excel ke Arduino. Jadi perintah paling sakti dari library python xlwings yang kita gunakan pada tutorial kali ini adalah :


sheets.range('cellname').value=?? 
 

Jadi dapat dilakukan 2 arah perlakuan yaitu penulisan cell dan pengambilan nilai/isi cell , sehingga selain menulis data dari pembacaan DHT11, kita juga dapat mengambil nilai cell untuk mengatur nyala mati led. Bagaimana scriptnya ? Sangat mudah kok ...


#include "DHT.h" // Library DHT11

#define DHTPIN 5 //PIN DHT
#define DHTTYPE DHT11

#define MERAH 4   //PIN LED
#define HIJAU 14
  
DHT dht(DHTPIN, DHTTYPE); 

unsigned long previousMillis = 0; //Timer
const long interval = 2000; //2 detik


void setup() {
pinMode(MERAH, OUTPUT);
pinMode(HIJAU, OUTPUT);
Serial.begin(9600); //serial ke usb com
dht.begin();

}



void loop() {

  unsigned long currentMillis = millis();
  //cek timer 
  if(currentMillis - previousMillis >= interval) {
  previousMillis = currentMillis;  
  float h = dht.readHumidity();
  float t = dht.readTemperature();
 
  // cek pembacaan dht benar
  if (isnan(h) || isnan(t)) {
    Serial.println(F("Failed to read from DHT sensor!"));
  }
  else{
    
   //lempar langsung ke serial
   Serial.println( String(t) + ","+ String(h) );
    }

  }

}

Kalau hanya mengirim data serial maka akan se-simpel itu, sedangkan pada python cukup ditambahkan library pyserial untuk meng-capture data serial yang dikirim oleh arduino.


import serial
import xlwings as xw

wb = xw.Book('Book1.xlsx')
sht = wb.sheets['data']
row = 1

serialPort = serial.Serial(port = "COM4", baudrate=9600,
                           bytesize=8, timeout=2, 
                           stopbits=serial.STOPBITS_ONE)
                           
serialString = ""       


while(1):
    if(serialPort.in_waiting > 0):
        serialString = serialPort.readline()
        data=serialString.decode('utf-8')     
        print(data)	
        datae=data.split(',')
        if row == 51:
           row=2 
        else: 
          row=row+1
        rowsuhu='A'+str(row)
        rowhumi='B'+str(row)
        sht.range(rowsuhu).value= float(datae[0])
        sht.range(rowhumi).value= float(datae[1])

Jadi kalau anda sudah memahami pembahasan pada tulisan sebelumnya di : http://www.aisi555.com/2020/07/tutorial-menggambar-grafik-data-arduino.html ,maka tidak akan mengalami kesulitan yang berarti.



Bagaimana dengan proses mengirim data balik dari excel ke arduino ? kita reverse aja script tambahannya seperti berikut :


def kirim():
    if(sht.range('J27').value =='ON' and sht.range('N27').value =='ON' ):
       serialPort.write(b'1')
    elif(sht.range('J27').value =='OFF' and sht.range('N27').value =='OFF' ):
      serialPort.write(b'2')    
    elif(sht.range('J27').value =='ON' and sht.range('N27').value =='OFF' ):
      serialPort.write(b'3')       
    elif(sht.range('J27').value =='OFF' and sht.range('N27').value =='ON' ):
      serialPort.write(b'4')   

Function / routine diatas akan dipanggil setiap selesai data DHT11 dibaca dan memiliki 4 buah kondisi yang diwakili oleh string '1' , '2' , '3' dan '4' yang memiliki terjemah sendiri terhadap kondisi LED yang diinginkan berdasarkan isian dari CELL yang dimaksud. Jadi pada script arduinonya akan ditunggu pada loop utama adakah data serial masuk seperti script berikut:


if (Serial.available() >0) { 
  // baca data masuk: 
  byte incomingByte = Serial.read(); 
  //pilihan konsidi led sesuai script python
 if( incomingByte == '1') {
     digitalWrite(MERAH,HIGH);
     digitalWrite(HIJAU,HIGH);
     }
 else if( incomingByte == '2') {
     digitalWrite(MERAH,LOW);
     digitalWrite(HIJAU,LOW);
     }
 
 else if( incomingByte == '3') {
     digitalWrite(MERAH,HIGH);
     digitalWrite(HIJAU,LOW);
     }
  else if( incomingByte == '4') {
     digitalWrite(MERAH,LOW);
     digitalWrite(HIJAU,HIGH);
     }
   } 

Sesingkat itu scriptnya dan selengkapnya dapat dilihat pada video dibawah ini, selamat mencoba ..


 


#daring #daringadalah daring adalah mpls #sekolah #guru #google classroom google classroom sekolah online guru kelas zoom webcam 
Share:

[IOT Itu Gampang] Menggambar Grafik Data Arduino ke Excel



Sangat jarang saya menulis blog setelah youtube nya duluan saya upload, jadi mungkin terbawa perasaan kehilangan teman yang sering bikin vlog, jadi beberapa hari belakangan saya rajin mengunggah video tutorial. Bahasan yg di tampilkan adalah mengenai cara menulis data dan menampilkan grafik dari Arduino ke microsoft excel, walau diluaran sana sudah ada tools langsung jadi tapi kini saya bahas lebih mudah menggunakan bantuan python / xlwings. Jadi dengan tutorial kali ini maka tidak susah-susah lagi menggunakan mysql+php pada windows (xamp) cukup excel aja.




Sensor sejuta umat DHT11 mungkin paling sering dibahas dimana-mana termasuk pada blog ini dimana untuk DHT11 vs MQTT sudah pernah saya bahas di :http://www.aisi555.com/2019/10/iot-lebih-lanjut-dengan-mqtt.html , jadi kali ini saya anggap pembaca sudah paham cara mengirim data MQTT nya. Kita akan lebih ke library python nya yang saya gunakan yaitu XLWINGS.



import xlwings as xw   #library

wb = xw.Book('Book1.xlsx') #nama file excel
sht = wb.sheets['coba']  #nama sheets

sht.range('C1').value= 10
sht.range('C2:C10').value='aku menulis'


for x in range(1,50): 
    a='A'+str(x)
    b='B'+str(x)
    sht.range(a).value= x*3
    sht.range(b).value= x*2

Sangat jelas dan singkat script python diatas jadi tidak perlu dibahas lagi dan jika dijalankan hasilnya akan seperti berikut:


xlwings merupakan library paling bagus menurut saya kalau dilihat dari segi metode penulisannya yang langsung saat excel terbuka, jadi sangat cocok untuk menampilkan grafik realtime dari pengukuran DHT11. Script dari wemos-esp8266-wifi-mqtt yang saya gunakan seperti berikut :

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

const char *ssid =  "myIOT";  //ubah sesuai wifi anda
const char *pass =  "selaluterhubung";  
//broker gratisan hivemq.com
const char *mqtt_server = "broker.hivemq.com";
const int mqtt_port = 1883;
const char *mqtt_user = "";
const char *mqtt_pass = "";
const char *mqtt_client_name = "ahocool445566"; 
//inisialisasi DHT
#define DHTPIN 5
#define DHTTYPE DHT11
  
DHT dht(DHTPIN, DHTTYPE); 

WiFiClient wclient;
PubSubClient client(wclient);

#define TOPIKDHT "/test/dht11" //topik yang digunakan


//koneksi wifi
void setupwifi()
{
   if (WiFi.status() != WL_CONNECTED) {
    Serial.print("Connecting to Wifi:  ");
    Serial.print(ssid);
    Serial.println("...");
    WiFi.begin(ssid, pass);

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

void setup() {
Serial.begin(9600); //serial monitoring
setupwifi();
client.setServer(mqtt_server, mqtt_port); // server mqtt
dht.begin();  //mulai dht

}

void kirim(String kata) //publish ke topik
{

    Serial.println("publish to topic: " );
    Serial.print(TOPIKDHT);
    Serial.print(" : ");
    Serial.println(kata);
    char message_buff[kata.length() + 1];
    kata.toCharArray(message_buff, kata.length() + 1);
    client.publish(TOPIKDHT,message_buff);
  
}

void reconnectmqtt() //konek mqtt lagi jika putus
{

      Serial.println("Connecting to MQTT server..");
     
      if (client.connect(mqtt_client_name,mqtt_user, mqtt_pass)) {
        Serial.println("Connected to MQTT server");
      } else {
        Serial.println("Could not connect to MQTT server");   
      }
   
}


void loop() {

  if (!client.connected()) //cek koneksi mqtt
   {
    reconnectmqtt();
   }
 //baca suhu dan kelembaban
  float h = dht.readHumidity();
  float t = dht.readTemperature();
 
  // Cek jika pembacaan sensor benar lalu kirim
  if (isnan(h) || isnan(t)) {
      Serial.println(F("Failed to read from DHT sensor!"));
  }
  else{
    
  //kirim ke serial monitoring
      Serial.print(F("Humidity: "));
      Serial.print(h);
      Serial.print(F("%  Temperature: "));
      Serial.print(t);
      Serial.print(F("°C "));
  //kirim ke mqtt data "suhu,kelembaban"
      kirim( String(t) + ","+ String(h) );
    }

 delay(5000); //delay pengiriman mqtt
}

Sangat sederhana tujuan script diatas berupa pengiriman ke sebuah TOPIK MQTT yaitu : "/test/dht11" berupa data string "suhu , kelembaban" (contoh :  "30.5,70.00") lalu oleh python akan di subscribe dan jika ada data masuk akan ditulis oleh library python XLWINGS seperti script berikut:


import paho.mqtt.client as mqtt #library mqtt
import xlwings as xw #library menulis excel

wb = xw.Book('Book1.xlsx') #nama book/file excel
sht = wb.sheets['data'] #nama sheets
row = 1
########## menulis ke excel #########
def to_excel(data):
    print(data)
    datae = data.split(",") #bikin list delim koma
    global row  #ini reset row kembali ke 2
    if row == 51:
       row=2 
    else:
      row=row+1 #increment row tiap ada data masuk
    rowsuhu='A'+str(row) #kolom suhu
    rowhumi='B'+str(row) #kolom kelembaban
    sht.range(rowsuhu).value= float(datae[0]) #tulis suhu
    sht.range(rowhumi).value= float(datae[1]) #tulis kelembaban
############ call back pesan mqtt 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)
    to_excel(str(message.payload.decode("utf-8"))) #tulis ke excel  
########################################
broker_address="broker.hivemq.com" #broker mqtt
broker_port=1883
broker_user=""
broker_pass=""
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/dht11")
client.loop_forever()
Jadi jika kita run script pythonnya dan data kemudian akan ditulis ke excel sehingga grafik terupdate.


Ini cocok digunakan untuk sensor yang jarak jauh dan ingin ditampilkan sebagai monitoring langsung dan karena excel  umum digunakan maka pengaturan tampilannya dapat disesuaikan dengan mudah. Jika alat yang dimonitoring letaknya dekat maka cukup menggunakan serial port dan akan dibahas pada tulisan selanjutnya.




#daring #daringadalah daring adalah mpls #sekolah #guru #google classroom google classroom sekolah online guru kelas zoom webcam 
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 (12) 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 (74) 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 (1) 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 (93) 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