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

Tampilkan postingan dengan label iot. Tampilkan semua postingan
Tampilkan postingan dengan label iot. Tampilkan semua postingan

Rabu, 18 Agustus 2021

ATtiny2313 vs DHT11 - Jangan pernah pakai library arduino, kembali ke dasar koding GCC !

 


Pembahasan kali ini sudah pernah saya tulis sebelumnya 8 tahun yg lalu, dimana DHT11 merupakan sensor sejuta umat yg sangat umum dipakai untuk belajar IOT. Sensor ini memiliki sistem komunikasi serial 1 bus wire, dimana semua datanya dikirim melalui 1 buah jalur data dengan pembeda 1 dan 0 nya berdasarkan lebar pulsa atau timer dari level logicnya. Jadi untuk pemahaman dasar pembacaan sensornya dapat dibaca di sini : https://www.aisi555.com/2013/05/dht-11-sensor-suhu-dan-kelembaban-murah.html

Jadi jika ingin mengirimkan pembacaan DHT11 menuju serial com di PC, maka scriptnya lumayan memusingkan untuk dilihat, terutama dibagian pembacaan pulsanya.


Namun jangan lupa baca dulu  pembahasan pengaturan fusebit nya disini : https://www.aisi555.com/2021/08/attiny2313-vs-arduino-library-bagaimana.html


#define F_CPU 8000000UL //frek clock internal
#include <avr/io.h>
#include <util/delay.h>
#include <avr/pgmspace.h> 
#include <string.h>
#include <stdlib.h>


//rumus penentuan baudrate

#define USART_BAUDRATE 9600  // baudrate 9600 bps
#define BAUD_PRESCALE (((F_CPU / (USART_BAUDRATE * 16UL))) - 1)

//deklarasi menu & tulisan .
//gunakan memori flash(PROGMEM) biar cukup


const char suhunya[] PROGMEM = " suhu : ";
const char huminya[] PROGMEM = "C - kelembaban : ";



void init_usart(void)

{

	UCSRB |= (1 << TXEN);   // kirim aja
	UCSRC |= (1 << UCSZ0) | (1 << UCSZ1);
	UBRRL = BAUD_PRESCALE;
	UBRRH = (BAUD_PRESCALE >> 8);
}


//function untuk mengirim char

void USART_Tx(unsigned char data)

{	

	while (!(UCSRA & (1<<UDRE)));{} 
	UDR = data; // Send data to the computer


}



//function untuk kirim kalimat dari flash Progmem


void kirim_text(const char *data)

{

	while (pgm_read_byte(data) != 0x00)
	USART_Tx(pgm_read_byte(data++));

}

void kirim(char *data) //kirim teks dari ram

{

	while (*data != 0x00)
	USART_Tx(*data++);

}


uint8_t hitung(void)
{

	uint8_t a,counter,hasil;

	counter=0;
	hasil=0;

	for (a=8;a>0;a--) // 8 kali tiap perhitungan
	{


		while(counter <100) // deteksi saat LOW ( tidak ada perhitungan)
		{
			_delay_us(1);
			counter++;
			if (bit_is_set(PIND, 3)) break; //tunggu sampai high dan keluar loop
		}

		counter=0;

		while(counter <100)
		{
			_delay_us(1);
			counter++; // counter mendeteksi lebar pulsa
			if (bit_is_clear(PIND, 3)) break; //jika low maka keluar dari loop
		}

		// perhitungan 8 bit decimal dengan geser-geser bit
		//jika lebih 25us =1 , kurang < 25 us = 0
		
		if(counter > 25) hasil += (1 << (a-1)) ;

		counter=0;

	}

	return hasil;


}

void baca_sensor()
{

	char dum;  // variabel sementara

	int suhu;
	int suhuu;
	int humi;
	int counter=0;

	DDRD|=(1<<PD3); //PD3 sebagai output
	_delay_ms(250);

	PORTD &=~(1<<PD3); // nolkan PD3
	_delay_ms(18); //tunggu 18 ms

	PORTD |=(1<<PD3); // naikkan PD3
	_delay_us(40); //tunggu 40us


	DDRD &=~(1<<PD3); //PD3 sebagai input

	//tunggu response dari DHT11

	while(counter <100)
	{
		_delay_us(1);
		counter++;
		if (bit_is_set(PIND, 3)) break;
	}

	counter=0;

	while(counter <100)
	{
		_delay_us(1);
		counter++;
		if (bit_is_clear(PIND, 3)) break;
	}


	//baca data setelah response, lihat script di pembahasan selanjutnya untuk routine hitung()

	//8 bit pertama ( puluhan kelembaban )
	humi=hitung();
	//8 bit kedua( satuan kelembaban ), tidak usah di baca karena nilai selalu 0 untuk DHT11
	hitung();
	//8 bit ketiga ( puluhan suhu )
	suhu=hitung();
	//8 bit keempat ( satuan suhu ), tidak usah di baca karena nilai selalu 0 untuk DHT11
	suhuu=hitung();
	
	kirim_text(suhunya);
	itoa(suhu,&dum,10);
	kirim(&dum);
	USART_Tx('.');
	itoa(suhuu,&dum,10);
	kirim(&dum);
	USART_Tx(0xF8);
	kirim_text(huminya);
	itoa(humi,&dum,10);
	kirim(&dum);
	USART_Tx('%');
	USART_Tx('\n');
	USART_Tx('\r');
	
	
	
	
}




int main(void)

{
	
	
  init_usart();

  while(1) //muter tiada henti
	{

	baca_sensor();
	_delay_ms(5000);

	}

}









Wah ..segitu panjangnya, padahal jika dilihat kembali cara pembacaan DHT11 pada arduino, cukup mengikuti library buatan adafruit yg banyak contohnya beredar di internet dan cukup hanya beberapa baris coding saja. 

Namun ini dapat menjadi masalah besar saat ATtiny2313 yang digunakan, lalu bagaimana memampatkan nya di attiny menggunakan sketch arduino ? Bayangkan pembahasan sebelunya dimana attiny full hanya dengan script yg mengerjakan komunikasi serial, jadi jika menggunakan library DHT dari adafruit yg biasa dipakai pada arduino, dijamin flash memori akan melebihi 100% . Ada lagi yg penting yaitu butuh penanganan clock yang jauh berbeda. Dan hasilnay script saya diatas tidak berjalan  seperti yg diinginkan. Jadi pengaturan clock untuk mencari pewaktu 1 microseconds sangatlah critical.



Berikut ini script Attiny vs DHT11  pada  sketch arduino  :


#define USART_BAUDRATE 9600  // baudrate 9600 bps
#define BAUD_PRESCALE (((F_CPU / (USART_BAUDRATE * 16UL))) - 1)

const char suhunya[] PROGMEM = " suhu : ";
const char huminya[] PROGMEM = " C - kelembaban : ";



int DHT11_Pin = 5; // DHT11 ke pin PD3

int Humidity = 0;
int Temp = 0;
int TempComma = 0;
bool DHTError = false; // Checksum Error

// a Delay routine. Call DelayTimer(time in uSec)

void DelayTimer(long int DelayValue){
long int DelayTime = micros();
do {

}while (micros()-DelayTime < DelayValue);
}
// Main DHT Void

void DHT11(){

long int DataTime = 0;

byte Result[45];
byte DataArray = 0;
byte DataCounter = 0;
byte DHTData[4];

bool BlockDHT=false;

// Trigger Sensor (described in the Datasheet)

pinMode(DHT11_Pin,OUTPUT);
digitalWrite(DHT11_Pin,HIGH);
DelayTimer(250000); //Wait 250millisec
digitalWrite(DHT11_Pin,LOW);
DelayTimer(30000); //Wait 30millisec
digitalWrite(DHT11_Pin,HIGH);
DelayTimer(50); //Wait 50microsec
pinMode(DHT11_Pin,INPUT);
// read the Bits and put them into a Result array (It will count 42 bits. The first two one are useless due my code)

do {
if (digitalRead(DHT11_Pin) == 0 && BlockDHT == false) {BlockDHT = true;Result[DataArray]=(micros()-DataTime);DataArray++;DataTime=micros();} //If DHT pin is low, go to next Dataset
if (digitalRead(DHT11_Pin) == 1) {BlockDHT = false;} // As long as DHT pin is Hight add time in Microseconds to Result

}while((micros()-DataTime) < 150); // if DTH Sensor high for more than 150 usec, leave loop

// Asign 1 or 0 to Result variable. If more than 80uS Data as “1”
// Starting at Data set 02. First two Datasets are ignored!

for (int i=2; i< DataArray; i++) {
if (Result[i] <= 90) Result[i]=0; else Result[i]=1;

}


for (int j=0; j< 5; j++){ // redo it for the 5 Bytes (40 Databits /8 = 5)
for (int i=0; i< 8; i++) {bitWrite(DHTData[j], 7-i, Result[i+2+(j*8)]);} // Create 5 Databytes from the 40 Databits (Ignoring the 2 first Databits)

}
// check checksum }

if (DHTData[4] == (DHTData[0]+DHTData[1]+DHTData[2]+DHTData[3])){Humidity = DHTData[0];Temp = DHTData[2];TempComma = DHTData[3];DHTError=false;} else DHTError=true; //If Checksum is worng, Temp=99 (Dataset 0-3 in addition = Dataset 4 = Checksum OK)

}



  void init_usart(void)

{

  UCSRB |= (1 << TXEN);   // kirim aja
  UCSRC |= (1 << UCSZ0) | (1 << UCSZ1);
  UBRRL = BAUD_PRESCALE;
  UBRRH = (BAUD_PRESCALE >> 8);

}

 void USART_Tx(unsigned char data)

{

 

  while (!(UCSRA & (1<<UDRE)));{} // wait till transmit Data register is empty

  UDR = data; // Send data to the computer



}



//function untuk kirim kalimat



void kirim_text(const char *data)

{

  while (pgm_read_byte(data) != 0x00)

  USART_Tx(pgm_read_byte(data++));

}

void kirim(char *data)

{

  while (*data != 0x00)
  USART_Tx(*data++);

}



void setup() {
  // put your setup code here, to run once:
init_usart();

}

void loop() {
char dum;  
DHT11();
if (DHTError == false)
{ kirim_text(suhunya);
  itoa(Temp,&dum,10);
  kirim(&dum);
  USART_Tx(',');
  itoa(TempComma,&dum,10);
  kirim(&dum);
  kirim_text(huminya);
  itoa(Humidity,&dum,10);
  kirim(&dum);
  USART_Tx('%');
  USART_Tx('\n');
  USART_Tx('\r');
  } 
  else kirim("Error");


DelayTimer(1000000); //wait 1 sec
}



Wew...jadi kembali ke dasar koding GCC yuk...wong sama aja ribetnya...
Share:

Kamis, 29 Juli 2021

Layanan IOT lewat Satelit (NBS IOT) - Murah dan Jangkauan Luas

Memang benar pendapat yg mengatakan bahwa sebagian besar layanan IoT satelit bertujuan untuk menawarkan platform kirim pesan dengan kecepatan data yang rendah, harga terjangkau, dan dengan jangkauan global. Cakupan global selalu menjadi keunggulan operator satelit. Keterjangkauan, baru-baru ini muncul dalam banyak percakapan bertema satelit, terutama dengan munculnya "cubesats".




Mengingat bahwa cubesat dapat diluncurkan dengan harga yang lebih murah daripada harga sebuah rumah sederhana di Sidoarjo Jaa timur, dan mengingat bahwa komponen RF yang sangat terintegrasi untuk UHF dan L-band dapat digunakan untuk membuat terminal dengan harga serendah puluhan Dolar amerika saja. Tampaknya layanan IoT global yang terjangkau dapat dijangkau untuk berbagai aplikasi yang mencakup pertanian, transportasi, dan logistik.


Mengonfigurasi layanan IoT satelit


Pada prinsipnya, orbit bumi rendah (LEO) menawarkan anggaran tautan yang lebih baik daripada orbit geostasioner (GEO), perbedaannya ada dalam kehilangan jalur ruang bebas di antara mereka bernilai sekitar 25 dB. Namun, perlu juga dicatat bahwa untuk cubesat khususnya, sebagian besar keuntungan itu hilang karena gain / power radio  dari antenanya yg berukuran kecil.

Mungkin perbedaan yang lebih signifikan adalah bahwa jangkauan dari satelit LEO akan terputus-putus kecuali jika konstelasi satelit yang padat disebarkan. Tergantung pada ketinggian dan pola antena, masing-masing satelit LEO mungkin, tergantung pada lokasi pengamat, hanya terlihat dalam hitungan menit tiga atau empat kali setiap hari. Sebaliknya satelit GEO secara nominal selalu tersedia.



Dalam hal frekuensi operasi, pita yang lebih rendah menawarkan Link Budget yang lebih baik. Untuk orbit tertentu, link 400 MHz akan menikmati keuntungan ~12 dB dibandingkan link L-band yang pada gilirannya, akan menikmati keuntungan ~19 dB dibandingkan link Ku-band. Namun, layanan Ku- dan Ka-band memiliki satu keunggulan berbeda: ketersediaan spektrum. Sementara operator pita rendah akan menyebarkan layanan dalam satuan MHz paling baik, operator pita tinggi memiliki alokasi 100-an MHz.

Namun, dalam konteks IoT ini, semua itu detail. Hukum Shannon memberi tahu kami bahwa jika link budget Anda dibatasi atau bandwidth Anda terbatas, Anda hanya perlu mengirimkan data Anda lebih lambat. Anda masih dapat menawarkan layanan IoT dengan kecepatan data yang rendah dan non-real time.




Fitur yang benar-benar membedakan adalah bahwa komponen RF secara signifikan lebih murah untuk sistem frekuensi yang lebih rendah dan desain radio UHF dan L-band relatif mudah. Semua ini digabungkan untuk memberikan poin harga perangkat yang jauh lebih rendah untuk terminal pita frekuensi rendah daripada mereka yg merancang frekuensi di Ku- atau Ka-band. Selain itu, antena pita frekuensi tinggi umumnya memerlukan penyelarasan yang tepat yang berarti bahwa biaya pemasangan yang lebih tinggi ditambahkan ke biaya unit yang sudah tinggi.

Secara keseluruhan, karakteristik ini membawa kita ke perangkat pita rendah dengan antena omnidirectional yang murah untuk diproduksi dan murah untuk digunakan baik untuk konstelasi LEO dan GEO. Sebaliknya, perangkat pita tinggi akan memerlukan pemasangan yang hati-hati dan penunjuk antena, bahkan untuk penerapan GEO, dan akan membutuhkan antena pelacakan yang sangat canggih (kode untuk 'mahal') untuk layanan LEO.




Apa hasilnya?


Oleh karena itu, pada pita tinggi, sangat masuk akal untuk menerapkan sistem LPWAN terestrial, seperti LoRaWAN, dengan terminal VSAT konvensional untuk melakukan backhaul data dari gateway LPWAN ke server jaringan LPWAN. Biaya terminal satelit akan diamortisasi atas semua node LPWAN di area cakupan gateway. Dengan kepadatan node yang cukup, biaya terminal VSAT sebesar USD1.000 akan segera diabaikan.

Di pita rendah, biaya terminal yang rendah berarti bahwa sambungan langsung ke satelit masuk akal. Faktanya, mengingat kapasitas sistem pita rendah yang terbatas, konfigurasi 'agregasi dan backhaul' bahkan mungkin tidak layak tanpa tingkat pemrosesan tepi dan kompresi data.




Pendekatan cubesat dalam menerapkan teknologi murah dan siap pakai menghasilkan misi berbiaya rendah dan waktu pengiriman yang singkat. Namun, sementara adopsi bentuk gelombang dan protokol yang siap pakai dapat menekan biaya, hal itu juga berpotensi membatasi kapasitas sistem yang digunakan secara mendasar. Ambil mekanisme akses LPWAN sederhana berbasis aloha. Ini berfungsi dengan baik untuk gateway terestrial dengan jangkauan jangkauan 10 atau 20 km. Tetapi ketika dikerahkan, tidak berubah, pada satelit, kapasitas akses gerbang terestrial tunggal itu dibagi di seluruh area yang mencakup hampir seluruh Amerika Serikat dan Kanada atau seluruh Eropa.

Investasi dalam protokol khusus satelit yang lebih efisien dapat melipatgandakan atau bahkan melipatgandakan kapasitas sistem. Terlebih lagi, kapasitas ekstra itu akan menghasilkan pendapatan yang lebih tinggi pada setiap cubesat di konstelasi LEO dan — mengingat masa pakainya yang terbatas — pada setiap penggantinya.


Bagaimana operator jaringan satelit dapat menemukan kembali diri mereka sendiri untuk IoT


Jawabannya : Memetakan opsi ke pasar

Jadi bagaimana peta opsi IoT satelit ini ke pasar yang disebutkan sebelumnya?


Kepadatan perangkat tinggi, waktu kritis — menuntut solusi GEO

Untuk aplikasi pertanian dengan kepadatan tinggi — seperti kebun anggur dengan 10.000 sensor yang dipasang di lahan seluas 50 km2 — kombinasi agregator LPWAN dan backhaul GEO VSAT masuk akal. Kerugian biaya dari instalasi VSAT dapat diamortisasi selama ribuan node akhir, ke titik di mana hal itu dapat diabaikan. Sebaliknya, sistem direct-to-cubesat mungkin kesulitan untuk memenuhi tuntutan kapasitas aplikasi semacam itu.


Kepadatan perangkat rendah, non-waktu kritis — paling baik dilayani oleh LEO

Untuk penerapan sensor densitas rendah — seperti pengukuran CH4 di sepanjang garis pantai terpencil — konfigurasi satelit langsung ke LEO kemungkinan akan memberikan kinerja yang memadai dengan biaya terendah dan daya terendah, menawarkan masa pakai baterai yang lama dan layanan praktis tak terbatas dengan tambahan dari pasokan solar berbiaya rendah.


Mobilitas

Mengingat bahwa transportasi dan logistik adalah salah satu kasus penggunaan yang dibicarakan untuk IoT yang mendukung satelit, kita harus menyebutkan mobilitas.

Untuk menghindari biaya dan kerumitan penunjukan antena, aplikasi mobilitas paling baik dilayani oleh layanan frekuensi rendah, baik LEO atau GEO, yang dapat menggunakan antena omnidirectional berbiaya rendah. Pilihan LEO atau GEO akan dipandu oleh permintaan aplikasi secara real-time. Apakah Anda perlu melacak kontainer pengiriman di mana satu atau dua laporan per hari akan memadai? LEO baik-baik saja. Apakah Anda truk geofencing yang membawa muatan bernilai tinggi? Anda memerlukan kemampuan untuk mengirimkan pesan yang mendekati waktu nyata, Anda memerlukan konektivitas yang konstan, tetapi Anda tidak menginginkan biaya atau konsumsi daya dari sistem antena pelacak. Dalam hal ini, L-band GEO adalah kandidat alami.

Layanan Ku- atau Ka-band untuk aplikasi mobilitas memerlukan antena pelacak, tetapi meskipun banyak pekerjaan pada metamaterial dan kemudi sinar elektronik, masih belum ada antena yang dapat dikendalikan secara elektronik dengan biaya rendah di pasaran.



Kesimpulan

Sepintas, mungkin tampak mengejutkan bahwa banyak operator satelit mengusulkan untuk memberikan layanan IoT berbiaya rendah. Tetapi jika diamati lebih dekat, cukup jelas bahwa meskipun berbagai layanan yang ditawarkan jauh dari setara, ada kasus yang harus dibuat untuk setiap opsi pada menu. Meskipun tidak semua layanan IoT satelit akan berhasil, ada banyak alasan untuk percaya bahwa beberapa akan berhasil. Tantangan bagi operator dan pengguna adalah memahami apa yang sebenarnya ditawarkan dan memilih hidangan yang paling sesuai dengan selera mereka.


Penulis : Steve Baker

Share:

Sabtu, 24 Juli 2021

3D Drone - Dengan Teknologi 5G - Meriahkan Pembukaan Olimpiade Tokyo 2020

Olimpiade Tokyo 2020 secara resmi dimulai pada hari Jumat dengan setiap negara diperkenalkan selama Parade Bangsa-Bangsa dan nyala api Olimpiade dinyalakan oleh bintang tenis Naomi Osaka. Salah satu pertunjukan paling mengesankan, yang memikat penonton di seluruh dunia, menampilkan 3D drone di Stadion Olimpiade.





Menjelang akhir upacara pembukaan, 1.824 drone muncul di atas stadion dan dimulai sebagai simbol Olimpiade Tokyo. Drone kemudian terbentuk menjadi bentuk Bumi, yang merupakan pemandangan untuk dilihat.


"Pemandangan yang belum pernah dilihat sebelumnya, prestasi teknologi dan keindahan. Benda langit melayang di atas Tokyo. Dalam sekejap dan visi untuk dunia," Savannah Guthrie dari NBC menceritakan pada siaran selama pertunjukan.


Tampilan pesawat tak berawak berubah menjadi membawakan lagu John Lennon "Imagine," yang telah menjadi pokok di Olimpiade selama beberapa waktu. Itu adalah tampilan yang menakjubkan yang dilakukan dengan sangat presisi.





Itu bukan pertunjukan drone terbesar yang pernah ada, tapi tetap saja mengesankan.


Mungkin tidak ada penggemar di Stadion Olimpiade, tetapi Jepang masih menemukan cara untuk menampilkan pertunjukan untuk pembukaan Olimpiade Musim Panas 2020. Negara tuan rumah terpesona lebih awal dengan parade negara, yang menampilkan soundtrack video game yang diatur, dan kemudian memamerkan jenis kreativitas yang dikenalnya dengan pertunjukan yang melibatkan piktogram Olimpiade. Tapi Tokyo menyimpan tontonan terbesar untuk yang terakhir.


Menjelang akhir upacara, armada 1.824 pesawat tak berawak turun ke langit di atas Stadion Olimpiade. Awalnya disusun dalam simbol Olimpiade 2020, mereka kemudian mengambil bentuk Bumi sebelum membawakan lagu "Imagine" karya John Lennon, yang dikerjakan ulang oleh Hans Zimmer untuk Olimpiade, dimainkan di seluruh stadion.


Kami telah melihat tampilan seperti ini sebelumnya. Di Super Bowl LI tahun 2017, segmen yang direkam sebelumnya menampilkan 300 drone Intel yang membentuk bendera AS menyelingi penampilan turun minum Lady Gaga. Secara teknis, pertunjukan drone yang terjadi di atas Tokyo bukanlah yang terbesar yang pernah ada. Pada awal tahun ini, perbedaan itu dimiliki oleh 3.281-display merek mobil milik Hyundai Genesis yang dipasang di Shanghai, Cina. Tetapi bahkan dengan lebih sedikit drone yang terlibat, pertunjukan drone Tokyo masih mengesankan.



Bagi anda penikmat olahraga di Indonesia dapat menonton siaran langsungnya melalui kenyamanan di layar TV dirumah anda. Bagaimana cara menontonnya ? Berikut kami ulas.



1. Melalui TVRI - SCTV - INDOSIAR yg kini sudah digital


Jika anda berada di kota besar yg menjangkau TV UHF baik analog ataupun digital, maka cukup mengarahkan antena ke stasiun TV terdekat, dan kabar baiknya TVRI menayangkan siaran sepakbola olimpiade lengkap.




SCTV dan Indosiar kemungkinan besar akan menghadirkan olahraga favorit masyarakat Indonesia yaitu Bulutangkis. Untuk anda di kota yang sudah menikmati siaran digital maka dapat menikmati SCTV dan Indosiar dalam kualitas HD.


Cara merubah TV anda menjadi televisi digital cukup gampang, langkahnya adalah :


  1. Periksa televisi anda apakah memiliki fasilitas tuner DVB-T2 , dimana merupakan standar penyiaran digital di Indonesia. TV LED terbaru yg beredar di pasaran sudah memiliki fasilitas ini jadi jangan khawatir.
  2. Menggunakan decoder atau Set Top Box (STB) digital yang tentunya berteknologi DVB-T2, anda dapat membelinya di toko elektronik terdekat atau melalui online shop. Harganya murah saja berkisar 130 - 250 ribu rupiah saja.
  3. Tetap gunakan antena UHF yang mungkin masih terpasang di rumah anda, karena jika TV analog lama anda sudah bisa mendapatkan sinyal sebelumnya maka sinyal TV digital tidak akan menjadi masalah.
  4. Untuk  kota besar di Indonesia, cukup dengan menggunakan antena INDOOR kecil sudah bisa menikmati siaran TV digital dengan sangat jernih.





Sebagai panduan, kami telah review beberapa merek STB digital yg sudah ada di pasaran dan anda kini bisa bandingkan sesuai fasilitas dan keunggulannya :


Matrix Apple  - Polytron PDV 600T2   - Venus Cabe Rawit  - Evinix H-1  - Akari ADS-2230  - Tanaka


Bagi anda yg berada di lokasi lain di Nusantara dapat juga membaca update perkembangan  migrasi TV digital di  kota-kota besar seluruh Indonesia :

Surabaya  MNC  ,  EMTEK , VIVA )

Malang

Jember 

Kediri

Jombang & Mojokerto

Madiun

Jogja

Semarang

Banjarmasin

Makasar

Medan

Palembang

Perbatasan Malaysia


2. Berlangganan Parabola Nex Parabola & K-Vision 




Champions TV adalah sebuah saluran televisi berlangganan di Indonesia yang khusus menyiarkan olahraga dari belahan dunia yang dimiliki oleh Emtek (lewat IEG). Hadir dengan 3 saluran HD champions tv 1,2,3 yg pada awalnya menyajikan sepakbola liga champions dan europa league di saluran 1 & 2, sedangkan champions 3 menghadirkan Bulutangkis dan NBA.

Untuk pengguna parabola baik yg mini ku band maupun parabola jaring C band, dapat menikmati Champions TV dalam kualitas SD melalui layanan pay tv K-vision dengan berlangganan paket ONS2.





3. Streaming  Champions TV melalui layanan OTT - Vidio Com


Pesta olahraga multievent Olimpiade Tokyo 2020 akan digelar pembukaannya pada 23 Juli 2021 mendatang. Pada acara Olimpiade ini akan disiarkan secara link live streaming Olimpiade Tokyo 2020 melalui platform Vidio. Nantinya saat acara pembukaan, tim merah putih mengirimkan dua wakil atlet dari cabang olahraga surfing dan angkat besi sebagai pembawa bendera merah putih.




Vidio (PT Vidio Dot Com) adalah layanan streaming video yang didirikan pada tanggal 1 Oktober 2014 yang sekarang dimiliki oleh PT Surya Citra Media Tbk, anak perusahaan Emtek. Isi layanan ini terdiri dari sajian kanal gratis (free-to-air), siaran langsung (live streaming), film dan drama, dan televisi.





Terdapat 15 saluran Champions TV khusus menayangkan olimpiade tokyo kali ini. Bagi pengguna smartphone dengan operator Telkomsel, cukup hanya menginstal aplikasi vidio com saja GRATIS ! Sedangkan bagi pengguna PC dan android box bisa membeli paket platinum seharga 29 ribu rupiah / 30 hari. Siapkan Quota internet yg UNLIMITED  untuk mendapatkan siaran tanpa kendala.


4. Melalui parabola jaring ke arah Thaicom.


7 siaran dari Thailand akan menayangkan Olimpiade Tokyo 2020, yaitu NBT, PPTV, Thai PBS, JKN TV, True4U, GMM 25, dan T Sports.




Bagi pengguna antena parabola yang ingin menyaksikan perhelatan akbar tersebut, silakan ke siaran-siaran diatas.

Apalagi karena tidak ada satupun pay TV di Thailand yang ikut menayangkan, maka 7 siaran diatas dapat menayangkan cabang olahraga lainnya yang tidak melibatkan atlet Thailand.


Share:

Jumat, 23 Juli 2021

NB-S-IOT : Teknologi Internet Of Things Lewat Satelit, Apa Saja Tantangannya ?

Pasar yang selalu berkembang dengan cepat, tak ada yg menyangka sampai melewati batas pikiran manusia. Seperti halnya bisnis global membutuhkan akses ke data global, dan dirasakan setiap harinya, banyak perusahaan terkemuka beralih ke jaringan Internet of Things (IoT) yang benar-benar global di dunia untuk memaksimalkan efisiensi dan daya saing, serta memungkinkan aksesibilitas data di mana saja.




Komunikasi satelit jaman sekarang menawarkan keberagaman layanan yg dapat dihadirkan, bukan lagi terpaku pada audio-telephoni dan video-televisi, namun perkembangan aplikasi dan layanan haus data menjadi tuntutan dalam perkembangan terbaru satelit HTS (High Throughput satelit). Lalu bagaimana dengan perkembangan data sensor 8 bit yg sepertinya "njomplang" dalam kebutuhan bandwithnya.

Blog ini beberapa kali membahas mengenai jomplangnya kebutuhan bandwith untuk layanan boros data seperti youtube dengan iritnya data pembacaan sensor suhu dan kelembaban disebuah ladang pembibitan jamur. Sedangkan layanan 4G dan kini 5G lumayan kurang berhasil menghadirkan solusi NB-IOT yang murah dari segi user terminal maupun jaringanya. LORA mungkin menang di sisi marketing namun infrastrukturnya masih sangat terbatas. Kini kita sudah dihadapkan pada sebuah teknologi NBS-IOT yang dirasa sangat cocok untuk kepulauan nusantara.





Sebenarnya yang diharapkan dari pemanfaatan satelit sebagai pembawa data dari sensor dan kemudian mengolahnya di data center sebagai berikut :



Cakupan dan Infrastruktur Global Yang Mulus


Konstelasi satelit diatas orbit merupakan tantangan berat, dimana harus menjangkau semua lokasi. Ini mensyaratkan adanya kontinuitas data yang selalu terjaga walau terjadi pergerakan satelit.



Keandalan dan Ketersediaan tinggi


Mengharuskan ketersediaan jaringan 99,9%. Ini bisa diwujudkan dengan frekuensi yg tahan cuaca seperti layanan satelit L-Band yg tahan terhadap efek rain fading. Pemanfaatan frekuensi lainnya mungkin sedikit mengalami kendala ijin di tiap wilayah yang berbeda-beda


 

Konsumsi daya rendah

Layanan ini dirancang untuk operasi daya rendah dan dapat dipasang dengan baterai dan catu daya panel surya (PV), sehingga sangat ideal untuk lokasi off-grid dan area dengan pasokan listrik utama yang tidak dapat diandalkan.



Beberapa  penyedia layanan satelit yg sudah terkenal di dunia MSS (Maritime Satellite Service) seperti inmarsat dan Iridium sudah menyadari adanya peluang bisnis ini. Pemain lainnya yg baru  hadir dari australia yaitu MYRIOTA.



Keunggulan yg dihadirkan melalui satelit IOT adalah jangkauan  yang sangat luas sehingga menguntungkan jika disandingkan dengan layanan satelit maritim seperti iridium. Salah satu peng-aplikasian-nya adalah tracking armada pelayaran dan  pertambangan, sehingga tidak memerlukan pembangunan infrastruktur telekomunikasi yg harus tersedia di dekat lokasi proyek (rural & remote area).


Sedangkan tantangan yang paling berat adalah karakteristik satelit yang memakai Line Of Sight dalam penangkapan dan pengiriman sinyal. Memang sih bisa menggunakan frekuensi VHF/UHF yang bisa menembus bangunan layaknya sinyal TV. Namun ini terganjal regulasi frekuensi VHF/UHF maupun desain satelit yg umumnya berukuran kecil  untuk kebutuhan IOT sehingga RF power gain nya terbatas.




Konstelasi satelit pun harus dapat menjangkau ke seluruh lokasi yang akan dilayani, bukan hanya sebuah satelit tapi minimal tiga satelit secara teori, harus secara sinkron mengudara bersamaan untuk menghadirkan sinyal kontinyu. Jumlah 3 satelit itu didapatkan jika berasumsi menggunakan satelit geo-synchronous yg jaraknya sangat jauh dan mengakibatkan power yg dipancarkan harus tinggi atau penerima di bumi menggunakan piringan parabola yg besar.





Ke-gilaan ellon musk menghadirkan "BTS" di angkasa melalui starlink, juga menjadi tantangan berat bagi penyedia layanan satelit NB-IOT. Walaupun banyak anggapan teknologi starlink diperuntukkan bagi penggunaan internet bandwith lebar, namun jika dipikir ellon musk akan sangat mudah melakukan swtich ke narrow band mode dan menghubungkan ribuan satelitnya ke sebuah sensor arduino di bumi. Apa sih yg tidak bisa bagi SpaceX jika ada peluang ceruk bisnis yg menguntungkan bagi mereka ?

Share:

Kamis, 03 Juni 2021

Bagaimana Cara Kerja Internet Sampai ke Gadget Kamu?

Saat anda sedang membaca tulisan saya ini, secara bersamaan data yg telah saya tulis sebelumnya melakukan perjalanan ribuan mil dari Pusat Data Google untuk menuju Smartphone kamu. Mari pelajari cara kerja internet dengan memahami detail perjalanan data yang luar biasa ini. 




Pusat data yang berjarak ribuan mil dari  lokasi kamu sekarang,  dan fungsinya untukmenyimpan tulisan ini di dalamnya. Bagaimana data ini mencapai ponsel atau laptop kamu? Cara mudah untuk mencapai tujuan ini adalah dengan menggunakan satelit. 


Dari pusat data, sinyal dapat dikirim ke satelit melalui antena, dan kemudian dari satelit sebuah sinyal dapat dikirim ke ponsel kamu melalui antena lain di dekat gadget kamu (BTS seluler). Namun, cara mentransmisikan sinyal ini bukanlah ide yang baik. Mari kita lihat mengapa. 




Satelit diparkir hampir 36.000 km  di atas khatulistiwa bumi, agar pengiriman data berhasil, data harus menempuh jarak total 65.000 km . Jarak perjalanan yang begitu jauh menyebabkan penundaan / delay yang signifikan dalam menerima sinyal. Lebih khusus lagi itu menyebabkan latensi besar yang tidak dapat diterima untuk sebagian besar aplikasi internet.


Jadi jika tulisan tidak menjangkau Anda melalui satelit, maka bagaimana itu benar-benar sampai ke Anda? Nah itu dilakukan dengan bantuan seatu yg ruwet dan rumit, yg sekarang ada di depan rumah kamu. Ya itu adalah jaringan kabel serat optik, yang menghubungkan antara pusat data dan perangkat Anda. 



Ponsel kamu dapat terhubung ke internet melalui data seluler atau router Wi-Fi apa pun, tetapi pada akhirnya ponsel Anda akan terhubung ke jaringan kabel serat optik ruwet seperti gambar diatas. 


Perlu diketahui kalau isi tulisan dari blog saya ini dismpan dalam sebuah pusat data. Untuk lebih spesifik, itu disimpan dalam perangkat solid-state di dalam pusat data. SSD ini bertindak sebagai memori internal server. Server hanyalah komputer canggih yang tugasnya menyediakan tulisan, gambar dan video atau konten tersimpan lainnya saat Anda memintanya. 


Sekarang tantangannya adalah bagaimana mentransfer data yang disimpan di pusat data khusus ke perangkat Anda melalui jaringan kompleks kabel serat optik. Mari kita lihat bagaimana ini dilakukan. 


Sebelum melangkah lebih jauh kita harus terlebih dahulu memahami konsep penting yang merupakan konsep dari alamat IP. Setiap perangkat yang terhubung ke Internet apakah itu server, komputer atau ponsel, diidentifikasi secara unik oleh susunan angka yang dikenal sebagai alamat IP. Anda dapat mempertimbangkan alamat IP yang serupa ke alamat rumah Anda yang merupakan alamat, yang secara unik mengidentifikasi rumah Anda. 



Setiap surat yang dikirimkan kepada Anda sampai kepada Anda itu jelas karena alamat rumah Anda. Demikian pula di dunia internet alamat IP bertindak sebagai alamat pengiriman kurir ekspedisi, melalui jalur mana saja semua informasi itu untuk mencapai tujuannya. 


Penyedia layanan internet Anda akan menentukan alamat IP perangkat Anda dan Anda dapat melihat apa yang Alamat IP yang diberikan ISP Anda ke ponsel atau laptop Anda. Server di pusat data juga memiliki alamat IP. Server menyimpan situs web sehingga Anda dapat mengakses situs web apa pun hanya dengan mengetahui alamat IP server. 



Namun, sulit bagi seseorang untuk mengingatnya banyak alamat IP. Jadi untuk mengatasi masalah ini, nama domain seperti youtube.com, facebook.com dll digunakan yang sesuai dengan alamat IP yang lebih mudah kita ingat daripada deretan angka yang panjang Hal lain yang perlu diperhatikan di sini adalah bahwa server memiliki kemampuan menyimpan beberapa situs web dan jika server terdiri dari beberapa situs web, semua situs web tidak dapat diakses dengan alamat IP server. 


Dalam kasus seperti itu, potongan tambahan dari additional informasi, header host digunakan untuk mengidentifikasi situs web secara unik. Namun, untuk situs web raksasa seperti Facebook.com atau YouTube.com seluruh data infrastruktur pusat akan didedikasikan untuk penyimpanan situs web tertentu.



Untuk mengakses internet, kami selalu menggunakan nama domain alih-alih nomor alamat IP yang kompleks. Dari mana internet mendapatkan alamat IP yang sesuai dengan permintaan nama domain kita. Nah, untuk tujuan ini internet menggunakan buku telepon besar yang dikenal sebagai DNS. Jika Anda tahu nama seseorang, tetapi tidak tahu nomor teleponnya Anda cukup mencarinya di buku telepon. 


Server DNS menyediakan layanan yang sama ke internet. Penyedia layanan internet Anda atau organisasi lain dapat mengelola server DNS. Mari kita rekap seluruh operasi. Anda memasukkan nama domain, browser mengirimkan permintaan ke server DNS untuk mendapatkan alamat IP yang sesuai. 


Setelah mendapatkan alamat IP, browser Anda cukup meneruskan permintaan ke pusat data, lebih khusus ke server masing-masing. Setelah server mendapat permintaan untuk mengakses situs web tertentu, aliran data dimulai. Data ditransfer dalam format digital melalui kabel serat optik, lebih khusus dalam bentuk pulsa cahaya. 


Pulsa cahaya ini terkadang melakukan perjalanan ribuan km melalui kabel serat optik untuk mencapai tujuan mereka. Selama perjalanan mereka seringkali harus melalui medan yang berat seperti daerah perbukitan atau di bawah laut. Ada beberapa perusahaan global yang berbaring dan memelihara jaringan kabel optik ini. Visual ini menunjukkan bagaimana peletakan kabel serat optik dilakukan dengan bantuan kapal. Sebuah bajak dijatuhkan jauh ke laut dari kapal, dan bajak ini membuat parit di dasar laut dan tempat kabel serat optik ditempatkan. 





Faktanya, kabel optik yang rumit ini jaringan adalah tulang punggung Internet. Kabel serat optik ini membawa: cahaya membentang di dasar laut ke depan pintu Anda di mana mereka terhubung ke router. Router mengubah sinyal cahaya ini menjadi sinyal listrik. Kabel Ethernet kemudian digunakan untuk mengirimkan sinyal listrik ke laptop Anda. 


Namun jika Anda mengakses Internet menggunakan data seluler, dari kabel optik sinyal harus dikirim ke menara seluler dan dari menara sel sinyal mencapai ponsel Anda dalam bentuk gelombang elektromagnetik. 


Karena Internet adalah jaringan global, menjadi penting untuk memiliki organisasi untuk mengelola hal-hal seperti penetapan alamat IP, pendaftaran nama domain, dll ini semua dikelola oleh sebuah lembaga bernama ICANN yang berlokasi di USA. Satu hal yang menakjubkan tentang internet adalah efisiensinya dalam mentransmisikan data jika dibandingkan dengan teknologi komunikasi seluler dan darat. 





Video yang Anda tonton dari Pusat Data Google ini dikirim ke Anda dalam bentuk koleksi besar nol dan satu. Apa yang membuat transfer data di internet efisien adalah cara di mana nol dan satu ini dicincang menjadi potongan-potongan kecil yang dikenal sebagai paket dan ditransmisikan. Mari kita asumsikan aliran nol dan satu ini dibagi menjadi paket yang berbeda oleh server dimana setiap paket terdiri dari enam bit. 


Seiring dengan bit video, setiap paket juga terdiri dari urutan nomor dan alamat IP server dan smartphone Anda. Dengan informasi ini paket diarahkan ke HP Anda, tidak perlu semua paket dirutekan melalui jalur yang sama dan setiap paket secara independen mengambil rute terbaik yang tersedia saat itu. 


Setelah mencapai HP maka paket-paket tersebut disusun kembali sesuai dengan nomor urutnya. Jika ada paket yang gagal mencapai ponsel Anda dan konfirmasi dikirim dari smartphone Anda untuk mengirim ulang paket yang hilang. 





Sekarang bandingkan ini dengan jaringan pos dengan infrastruktur yang baik, tetapi pelanggan tidak mengikuti aturan dasar mengenai alamat tujuan. Dalam skenario ini huruf tidak akan bisa mencapai tujuan yang benar. Demikian pula di internet kami menggunakan sesuatu yang disebut protokol untuk pengelolaan aliran paket data yang kompleks ini. 


Protokol menetapkan aturan untuk konversi paket data, lampiran alamat sumber dan tujuan ke setiap paket dan aturan untuk router dll untuk aplikasi yang berbeda protokol yang digunakan berbeda. Kami harap video ini memberi Anda pemahaman yang baik tentang cara kerja internet, lebih khusus tentang perjalanan paket data yang menakjubkan dari pusat data ke ponsel Anda.



sumber : YT ch Lesics

Share:

Selasa, 01 Juni 2021

Cara Menjadi Data Scientist - Profesi Paling Menjanjikan Di Era Industri 4.0

Data scientist adalah profesi yang mengolah data dengan metode ilmiah untuk menghasilkan informasi yang akurat dan bernilai tinggi sehingga  dapat membantu mengambil keputusan.





Ilmuwan data harus menguasai ilmu multidisiplin, yaitu matematika statistik, ilmu komputer, dan pengetahuan dalam bidang khusus tertentu. Di era transformasi digital sekarang ini, ilmu data sangat dibutuhkan, termasuk dalam bisnis retail, bisnis distribusi, kedokteran, dan berbagai lini bisnis lainnya.


Kabar baiknya, untuk menjadi seorang Data Scientist tidak hanya terpaku di beberapa background pendidikan saja. Meskipun yang paling umum berasal dari Statistika, Matematika, Ilmu Komputer dan juga Teknik. Namun semua background pendidikan memiliki kesempatan yang sama untuk menjadi Data Scientist, loh. Hal ini karena ilmu statistika yang digunakan oleh Data Scientist bukan merupakan ilmu statistika murni melainkan ilmu statistika terapan.


Data Scientist vs Statistik


Ilmu data tidak boleh disalahartikan sebagai statistik. Meskipun kedua bidang ini menggabungkan keterampilan yang sama dan berbagi tujuan yang sama (seperti menggunakan sejumlah besar data untuk mencapai kesimpulan), keduanya unik dalam satu aspek yang jelas. Ilmu data, yang merupakan bidang baru, sangat didasarkan pada penggunaan komputer dan teknologi. Ini mengakses informasi dari database besar, menggunakan kode untuk memanipulasi data, dan memvisualisasikan angka dalam format digital.




Statistik, di sisi lain, umumnya menggunakan teori yang mapan dan lebih berfokus pada pengujian hipotesis. Ini adalah disiplin yang lebih tradisional yang, dari perspektif yang luas, sedikit berubah selama 100 tahun terakhir atau lebih, sementara ilmu data pada dasarnya berkembang dengan meningkatnya penggunaan komputer.


Bagaimana Menjadi Data Scientist


Ada tiga langkah umum untuk menjadi ilmuwan data:


  • Dapatkan gelar sarjana di bidang IT, ilmu komputer, matematika, fisika, atau bidang terkait lainnya
  • Dapatkan gelar master di bidang data atau bidang terkait
  • Dapatkan pengalaman di bidang yang ingin Anda geluti (mis: perawatan kesehatan, fisika, bisnis).


Persyaratan Pendidikan Data Scientist


Ada banyak jalan untuk mendapatkan karir di bidang data science, tetapi untuk semua maksud dan tujuan, sangat tidak mungkin untuk memulai karir di lapangan tanpa pendidikan perguruan tinggi. Anda akan, paling tidak, membutuhkan gelar sarjana empat tahun. Namun, perlu diingat bahwa 73% profesional yang bekerja di industri ini memiliki gelar sarjana dan 38% memiliki gelar PhD. Jika tujuan Anda adalah posisi kepemimpinan tingkat lanjut, Anda harus mendapatkan gelar master atau doktor.




Beberapa sekolah menawarkan gelar ilmu data, yang merupakan pilihan yang jelas. Gelar ini akan memberi Anda keterampilan yang diperlukan untuk memproses dan menganalisis kumpulan data yang kompleks, dan akan melibatkan banyak informasi teknis yang terkait dengan statistik, komputer, teknik analisis, dan banyak lagi. Sebagian besar program ilmu data juga memiliki elemen kreatif dan analitis, yang memungkinkan Anda membuat keputusan penilaian berdasarkan penelusuran Anda.


Jalur Karir Data Scientist


Meskipun Anda mungkin memiliki keterampilan yang dibutuhkan untuk menjadi ilmuwan data setelah lulus kuliah, tidak jarang orang membutuhkan beberapa pelatihan kerja sebelum mereka berangkat dan menjalankan karier mereka. Pelatihan ini sering kali berpusat pada program khusus dan sistem internal perusahaan, tetapi mungkin mencakup teknik analitik tingkat lanjut yang tidak diajarkan di perguruan tinggi.





Dunia ilmu data adalah bidang yang selalu berubah, sehingga orang yang bekerja di bidang ini perlu terus memperbarui keterampilannya. Mereka terus dilatih untuk tetap menjadi yang terdepan dalam informasi dan teknologi.


Pekerjaan Ilmuwan Data


Ilmuwan data bekerja di banyak pengaturan yang berbeda, tetapi sebagian besar dari mereka akan bekerja di pengaturan seperti kantor yang memungkinkan orang untuk bekerja sama dalam tim, berkolaborasi dalam proyek, dan berkomunikasi secara efektif. Sebagian besar pekerjaan mungkin termasuk mengunggah nomor dan data ke dalam sistem atau menulis kode untuk program yang akan menganalisis informasi.


Kecepatan, suasana, dan tempo lingkungan kerja akan sangat bergantung pada perusahaan dan industri tempat Anda bekerja. Anda dapat bekerja di lingkungan kerja yang serba cepat yang menekankan hasil cepat, atau Anda dapat bekerja untuk organisasi yang menghargai kemajuan yang lambat, metodis, dan terperinci.


Anda mungkin menemukan lingkungan kerja yang dirancang untuk mendorong pemikiran kreatif, atau Anda dapat bekerja di kantor yang dirancang untuk efisiensi dan efektivitas; itu sangat tergantung pada jenis ilmu data yang Anda lakukan dan sifat bisnis tempat Anda bekerja.


Pro kontra


Ada banyak manfaat menjadi ilmuwan data, dan itu tidak semua hanya di nilai seputar pada gaji. Pekerjaan adalah karir yang unik namun menantang yang menawarkan berbagai macam tugas sehari-hari, dan keragaman ini sering disebut sebagai salah satu manfaat utama. Sebagai data scientist, Anda dapat bekerja untuk berbagai perusahaan, menghasilkan solusi dan informasi yang berkaitan dengan retensi pelanggan, pemasaran, produk baru, atau solusi bisnis umum. Ini berarti Anda dapat terlibat dalam topik dan subjek unik dan menarik yang memberi Anda perspektif luas tentang ekonomi dan dunia pada umumnya.


Sama seperti karir apa pun, ada beberapa kelemahan yang jelas. Meskipun variasi mata pelajaran yang ekstrem memberi Anda tantangan baru, itu juga bisa berarti bahwa Anda tidak pernah bisa sepenuhnya menyelami topik tertentu. Teknologi yang Anda gunakan akan terus berkembang, sehingga Anda mungkin menemukan bahwa sistem dan perangkat lunak yang baru Anda kuasai tiba-tiba menjadi usang. Sebelum Anda menyadarinya, Anda perlu mempelajari sistem yang sama sekali baru. Hal ini juga dapat menyebabkan banyak kebingungan, karena sangat sulit menentukan sistem mana yang terbaik untuk pekerjaan tertentu.


Gaji Data Scientist


Tidak peduli sumber apa yang Anda lihat, satu hal yang pasti: para profesional ini akan mendapatkan penghasilan yang besar. Sumber terbaik untuk gaji karir adalah Biro Statistik Tenaga Kerja, tetapi sayangnya mereka tidak mengumpulkan informasi untuk ilmuwan data secara khusus. Namun, mereka memiliki informasi tentang "Ilmuwan Riset Komputer dan Informasi", yang mencakup apa yang mereka sebut "penggalian data," suatu keterampilan yang mencerminkan ilmu data dalam banyak cara. Menurut BLS, orang yang bekerja sebagai ilmuwan riset komputer dan informasi memperoleh pendapatan rata-rata $ 108,360 per tahun, dan semua pekerjaan yang berhubungan dengan komputer menghasilkan rata-rata $ 79,390. Lihat laporan BLS tentang data besar di sini.





Angka-angka ini tampaknya berkorelasi dengan angka upah dari sumber lain juga. Glassdoor melaporkan gaji rata-rata $ 113,436 sementara PayScale memiliki penghasilan mereka di $ 93.146. Seorang ilmuwan data dengan pengalaman 9 tahun atau lebih dapat mengharapkan gaji sekitar $ 150.000 dan tim pengelola yang terdiri dari sepuluh orang atau lebih dapat mengharapkan penghasilan mendekati $ 232.000.


Dari sumber mana pun yang Anda lihat, Anda dapat melihat keterampilan tingkat lanjut ini sangat diminati. Jika Anda memiliki keterampilan, pelatihan, dan pengetahuan yang diperlukan untuk menjadi seorang data scientist, kemungkinan besar Anda akan memperoleh penghasilan yang cukup besar selama karier Anda. Ada lebih banyak kabar baik juga, karena para profesional ini akan sangat diminati di masa mendatang.


sumber: dari berbagai artikel

Share:

Kamis, 22 April 2021

[ Node-RED ] Mengenal Function Node - Tools Ampuh Berbasis Java

 


Bagi penggiat IT yang mungkin kebingungan akan logika dari flow dan beragam node yang ada pada platform IOT Node-RED, mungkin pada saat belajar awal perlu berkenalan dengan node yang bernama  : "FUNCTION". Ya gak jauh berbeda dengan function atau sub-routine pada bahasa pemrograman apapun, function akan menyediakan editor script berbasis java yang akan memudahkan mengubah dan mengolah pesan Input Output pada flow yang anda buat.

Namun perlu diperhatikan komunikasi antar node bukan hanya kirim-terima String biasa, namun keseluruhan berpola JSON seperti contoh berikut:



atau kalau saya copy salah satu pesan raw dari salah satu output debug sebuah pesan yg diterima dari response perangkat modbus seperti berikut ini :


{"topic":"polling","payload":[30,0,71],"responseBuffer":{"data":[30,0,71],"buffer":[0,30,0,0,0,71]},"input":{"topic":"polling","from":"Modbus-DHT22","payload":{"unitid":"6","fc":4,"address":"0","quantity":"3","messageId":"6080af997665b3af28e2168f"},"queueLengthByUnitId":{"unitId":6,"queueLength":0},"queueUnitId":6,"unitId":6},"sendingNodeId":"1c4bea20.9b9666","_msgid":"b2c9254b.4553e8"}



Sepanjang itu pesan yg dikirimkan oleh node MODBUS READ ke node Debug yg saya buat. Jadi secara praktisnya saya hanya butuh data pada object bernama "payload" yang berisikan data array :[30,0,71]  . Jadi yg nantinya saya olah adalah data dari 3 isi array itu saja.

Kemudian saya ingin merubah data payload tadi menjadi NUMBER yang akan saya tampilkan pada web UI berupa GAUGE / Meter. Karena memang yang diminta oleh gauge adalah input data berupa  angka maka saya butuh sebuah Function untuk merubahnya.



Penjelasan dari function diatas adalah sebagai berikut :


  • Variabel temp mengambil data msg.payload yg dikirimkan oleh node modbus read
  • Data array 0 dan 1 dimasukkan ke dalam variabel
  • Karena data 0 berupa puluhan dan 1 berupa angka dibelakang koma, butuh melakukan penggabungan dengan jalan mengalikan data 0 / puluhan dengan 100, menambahkan dengan data 1 lalu membagi hasilnya dengan 100
  • Hasil suhu yg didapat berupa integer kemudian diubah ke float melalui parseFloat
  • Selanjutnya suhu yg sudah berupa desimal float dibungkus kembali menjadi Json  : {payload:suhu} dan dikembalikan ke flow dengan perintah return .


Dengan function yang tepat maka hasil yg diinginkan pun tercapai. Jadi kunci disini adalah kemampuan javascript / programming yang harus cukup dimiliki oleh pengguna Node-RED.




Yang menjadi perhatian dalam function adalah bagaimana menyimpan variabel yang nantinya akan diambil saat flow berikutnya, semisal saya ingin mengubah 7 segmen secara increment. Jika ketemu masalah seperti ini maka yang perlu dipahami adalah perintah java berupa context atau flow. Perhatikan node berikut :



Output Function 7 segmen yg ingin kita dapatkan adalah membaca node inject dan  tombol pada dashboard /web UI yang akan merubah angka 7 segmen naik turun. Singkat saja scriptnya, dimana payload dari inject atau tombol berupa msg.payload = 1 untuk tambah dan msg.payload = 2 untuk pengurangan. Sedangkan variabel 7 segmen yang harus disimpan dan dipanggil lagi pada flow berikutnya disimpan melalui flow.get dan flow.set . Selengkapnya seperti berikut :


var count=flow.get('count') || 0;

var temp = msg.payload


if(temp == 1) count+=1;

else if(temp == 2) count-=1;


if(count > 9) count =0;

if(count < 0) count =9;


flow.set('count',count);


var result = {payload:count};

return[result];



Garis besar dari script diatas seperti ini : 


  • Ambil nilai variabel 'count' yg disimpan pada flow (global) ke dalam variabel count lokal , jika belum ada kasikan nilai 0,   var count=flow.get('count') || 0; 
  • Ambil nilai payload yang diberikan oleh inject atau tombol ui, kemudian cek apakah 1 atau 2 dan lakukan penambahan atau pengurangan variabel count
  • Set kondisi maksimum dan minimum dari count
  • Simpan kembali nilai variabel count lokal ke variabel count global dengan perintah : flow.set('count',count);
  • Kembalikan data ke flow dan lanjut dikirim ke node Modbus Write

Dengan susunan script function yang tepat maka flows node-RED yang diingikan tercapai. Function node yang simple juga sudah disediakan, tinggal drag drop dan siap pakai, namun dengan beberapa keterbatasan. Jadi kalau mau berkreasi lebih manfaatkan script Function saja sesuai keinginan. 

Penjelasan function yang saya buat ini adalah kelanjutan dari praktek Modbus-RTU-Serial sebelumnya yg dapat dibaca disini.







Share:

Rabu, 21 April 2021

[ Node-RED ] Komunikasi Dengan Perangkat MODBUS-RTU Serial - Praktek Sensor Suhu + 7 Segmen


 

Modbus dan PLC  baik dalam komunikasi jadulnya yg berbasis serial RS 485/ RS 232 maupun kini sudah merambah ke komunikasi TCP/IP, menjadi pilihan yang menurut penulis sudah "Final" dikalangan dunia kontrol industrial. Pengalaman penulis ketika menawarkan otomasi berbasis mikrokontroller 8 bit yg saya rancang dengan fungsi yang hampir sama, tetap mendapatkan tantangan dan pertanyaan seputar kehandalannya. Jadi saya yang pecinta hardware dasar pun di sangsikan apalagi mereka yg ingin menawarkan kemudahan dari sisi dunia IT. Sehingga menurut rekan dosen otomasi di UK-Petra Surabaya, Node-Red menjadi jembatan yang ampuh untuk menyatukan perangkat jadul dengan sistem IOT-Industri 4.0

Seperti yang pernah saya bahas di tahun sebelumnya, saat saya belajar dan berhasil merancang Modbus-RTU bridging ke MQTT (silahkan mulai disini , dibaca dan dipahami terlebih dahulu), mutlak diperlukan pemahaman sistem pengiriman data, register I/O , error checking dan sebagainya. Untuk itu perlu diulang kembali praktek awal belajar modbus yaitu menjadikan arduino sebagai perangkat Modbus-slave, dengan penyesuaian rangkaian yg sudah saya buat di praktek node-red sebelumnya,  sebagai berikut :




Dengan Input berupa pembacaan suhu dan kelembaban, maka saya menempatkan data pada Input / Analog Register berupa :


  • 30001 : Angka didepan koma / Puluhan suhu
  • 30002 : Angka desimal / di belekang koma suhu
  • 30003 : Angka pengukukuran kelembaban


Sedangkan untuk Output berupa 7 segmen, register yg digunakan adalah Holding Register dengan alamat 40001. Register ini juga dapat diubah mengunakan Function 0x06. Jadi script untuk merubah rangkaian arduino diatas menjadi berbasis MODBUS-RTU sebagai berikut :



//Silahkan unduh Library modbus slave: 
//https://code.google.com/archive/p/arduino-modbus-slave/downloads

#include <modbus.h>
#include <modbusDevice.h>
#include <modbusRegBank.h>
#include <modbusSlave.h>
#include "DHT.h"

//7seg

#define SEGA 5
#define SEGB 6
#define SEGC 7
#define SEGD 8
#define SEGE 9
#define SEGF 10
#define SEGG 11

#define dhtPin 4
#define DHTTYPE DHT22
DHT dht(dhtPin, DHTTYPE);

unsigned long previousMillis = 0;
const long interval = 5000; 


modbusDevice regBank;
modbusSlave slave;

void setup()
{   //7 seg
    pinMode(SEGA, OUTPUT);
    pinMode(SEGB, OUTPUT);
    pinMode(SEGC, OUTPUT);
    pinMode(SEGD, OUTPUT);
    pinMode(SEGE, OUTPUT);
    pinMode(SEGF, OUTPUT);
    pinMode(SEGG, OUTPUT);

 //Ubah modbus device ID.  
  regBank.setId(6);
  dht.begin();
/*
register modbus mengikuti format berikut
00001-09999 Output Digital, Perangkat master dapat membaca dan menulis ke register ini
10001-19999 Input Digital, Perangkat master hanya dapat membaca nilai dari register ini
30001-39999 Input Analog, Perangkat master hanya dapat membaca nilai dari register ini
40001-49999 Output Analog/ Holding register, 
            Perangkat master dapat membaca dan menulis ke register ini

Nilai analog adalah kata unsigned 16 bit yang disimpan dengan kisaran 0-32767
Nilai digital disimpan sebagai byte, nilai nol OFF dan nilai nonzer ON

Cara terbaik adalah mengkonfigurasi register tipe serupa ke dalam blok yang bersebelahan. ini
memungkinkan pencarian register yang lebih efisien dan dan mengurangi jumlah pesan
dibutuhkan oleh master untuk mengambil data
*/

 
//Pesan alamat Register Analog input di register bank 30001-10010 
  regBank.add(30001);  //DHT11 - suhu puluhan
  regBank.add(30002);  //DHT11 - suhu desimal
  regBank.add(30003);  //DHT11 - kelembaban
  
//Pesan alamat Holding Register 40001
  regBank.add(40001);  // 7 SEGMEN
//Isi nilai awal dari 7 segmen
  regBank.set(40001,8);
    

  slave._device = &regBank;  

// Serial 9600 baud  
  slave.setBaud(9600);   

}

void segmen(int angka)
{
 
   switch(angka) {
                  case 0 : { digitalWrite(SEGA, HIGH);
                             digitalWrite(SEGB, HIGH);
                             digitalWrite(SEGC, HIGH);
                             digitalWrite(SEGD, HIGH);                             
                             digitalWrite(SEGE, HIGH);
                             digitalWrite(SEGF, HIGH);
                             digitalWrite(SEGG, LOW);
                             break;
                  }
                  case 1 : { digitalWrite(SEGA, LOW);
                             digitalWrite(SEGB, HIGH);
                             digitalWrite(SEGC, HIGH);
                             digitalWrite(SEGD, LOW);                             
                             digitalWrite(SEGE, LOW);
                             digitalWrite(SEGF, LOW);
                             digitalWrite(SEGG, LOW);
                             break;
                  }
                  case 2 : { digitalWrite(SEGA, HIGH);
                             digitalWrite(SEGB, HIGH);
                             digitalWrite(SEGC, LOW);
                             digitalWrite(SEGD, HIGH);                             
                             digitalWrite(SEGE, HIGH);
                             digitalWrite(SEGF, LOW);
                             digitalWrite(SEGG, HIGH);
                             break;
                  }
                  case 3 : { digitalWrite(SEGA, HIGH);
                             digitalWrite(SEGB, HIGH);
                             digitalWrite(SEGC, HIGH);
                             digitalWrite(SEGD, HIGH);                             
                             digitalWrite(SEGE, LOW);
                             digitalWrite(SEGF, LOW);
                             digitalWrite(SEGG, HIGH);
                             break;
                  }
                  case 4 : { digitalWrite(SEGA, LOW);
                             digitalWrite(SEGB, HIGH);
                             digitalWrite(SEGC, HIGH);
                             digitalWrite(SEGD, LOW);                             
                             digitalWrite(SEGE, LOW);
                             digitalWrite(SEGF, HIGH);
                             digitalWrite(SEGG, HIGH);
                             break;
                  }

                  case 5 : { digitalWrite(SEGA, HIGH);
                             digitalWrite(SEGB, LOW);
                             digitalWrite(SEGC, HIGH);
                             digitalWrite(SEGD, HIGH);                             
                             digitalWrite(SEGE, LOW);
                             digitalWrite(SEGF, HIGH);
                             digitalWrite(SEGG, HIGH);
                             break;
                  }                                                          
                  case 6 : { digitalWrite(SEGA, HIGH);
                             digitalWrite(SEGB, LOW);
                             digitalWrite(SEGC, HIGH);
                             digitalWrite(SEGD, HIGH);                             
                             digitalWrite(SEGE, HIGH);
                             digitalWrite(SEGF, HIGH);
                             digitalWrite(SEGG, HIGH);
                             break;
                  }
                  case 7 : { digitalWrite(SEGA, HIGH);
                             digitalWrite(SEGB, HIGH);
                             digitalWrite(SEGC, HIGH);
                             digitalWrite(SEGD, LOW);                             
                             digitalWrite(SEGE, LOW);
                             digitalWrite(SEGF, LOW);
                             digitalWrite(SEGG, LOW);
                             break;
                  }
                  case 8 : { digitalWrite(SEGA, HIGH);
                             digitalWrite(SEGB, HIGH);
                             digitalWrite(SEGC, HIGH);
                             digitalWrite(SEGD, HIGH);                             
                             digitalWrite(SEGE, HIGH);
                             digitalWrite(SEGF, HIGH);
                             digitalWrite(SEGG, HIGH);
                             break;
                  }
                  case 9 : { digitalWrite(SEGA, HIGH);
                             digitalWrite(SEGB, HIGH);
                             digitalWrite(SEGC, HIGH);
                             digitalWrite(SEGD, HIGH);                             
                             digitalWrite(SEGE, LOW);
                             digitalWrite(SEGF, HIGH);
                             digitalWrite(SEGG, HIGH);
                             break;
                  }
   }
}

// mengubah koma 
int ExtractDecimalPart(float Value, int numberOfDecimals)
{
  float temp = Value - (long)(Value); 
  long p = 1;
  for (int i=0; i< numberOfDecimals; i++) p*=10;
  long DecimalPart = p * temp;
  return DecimalPart;
}

void loop()
{
//Tulis 7 segmen sesuai nilai pada register
  segmen(regBank.get(40001));  


//Baca suhu 5 detikan
  unsigned long currentMillis = millis();
 
  if(currentMillis - previousMillis >= interval) {
   
    previousMillis = currentMillis;   
 
    int h = dht.readHumidity();
    float t= dht.readTemperature();
    int t1 = t;
    int t2 = ExtractDecimalPart(t,2);

//tulis ke register 30001 -30003
    if (isnan(h) || isnan(t)) {
    regBank.set(30001,1000);
    regBank.set(30002,1000);
    regBank.set(30003,1000); 
    }

    
    regBank.set(30001,t1);
    regBank.set(30002,t2);
    regBank.set(30003,h);
   } 

  //jalan terus berulang sebagai slave  
  slave.run();  

}


Jadi jika selesai programming, dapat dilakukan test dengan software simulator modbus RADZIO : 




7 segmen kemudian bisa juga diubah dengan klik 2x pada kolom register  yang sesuai .




Selanjutnya di sisi Node-RED kita akan melakukan instalasi node yg bernama node-red-contrib-modbus. Instalasinya bisa juga dilakukan melalui editor Node-RED dengan memilih pilihan "manage pallete" di menu kanan atas.



Dengan demikian kita bisa menggunakan NODE modbus paling dasar yaitu MODBUS READ untuk membaca sensor suhu kelembaban DHT22 yg saya pakai. Settingnya cukup menyesuaikan dengan praktek sebelumnya yaitu penyesuaian com port, ID slave, dan debug sebagai output.



Hasilnya mencengangkan !



Sehari-semalam saya bingung dibuatnya, kenapa response dari Modbus Slave menampilkan array [0,0,0] ? Sampai kemudian saya ingat ada tools untuk melakukan debug / spy serial port bernama " SerialMon".



Dari hasil penelusuran, saya bandingkan serial yg dikirim terima oleh Radzio dengan Node-RED dan hasilnya saya salah di penomeran register.



Kejadian lagi deh kesalahan saat awal belajar modbus dulu ...jadi alamat register bukan dimulai dari 30001 melainkan cukup ditulis 0 (karena aturan offset jadi 1), ingat deh dulu seperti ini nih seharusnya :


06 04 00 00 00 03 B1 BC

06     =  Alamat device id slave
04     =  Perintah baca input analog/ function 04
00 00  = 2 byte alamat address memori (mulai 0 , logic 1)
00 03  = 2 byte panjang data yg diharapkan (3 buah data)
B1 BC  = Checksum / CRC 16 modbus


Dan yang benar seperti ini nih...langsung muncul angka suhu dan kelembabanya ...


 

Selanjutnya praktek sangat lancar dan cukup mengikuti praktek Node-RED web UI sebelumnya dan berhasil membuat hasil seperti video berikut ini :




Untuk Script Node-Red dalam JSON, saya tempel aja disini, kemudian bisa di import dan copy paste pada editor Node-RED kamu :



[{"id":"a8d0e1d9.32142","type":"tab","label":"Flow 5","disabled":false,"info":""},{"id":"d299086b.f08a88","type":"modbus-read","z":"a8d0e1d9.32142","name":"","topic":"","showStatusActivities":false,"logIOActivities":false,"showErrors":false,"unitid":"6","dataType":"InputRegister","adr":"0","quantity":"3","rate":"5","rateUnit":"s","delayOnStart":false,"startDelayTime":"","server":"824b1538.161228","useIOFile":false,"ioFile":"","useIOForPayload":false,"emptyMsgOnFail":false,"x":279.32994079589844,"y":205.96183681488037,"wires":[["7967f3c9.3415bc","5cfa62af.b1f89c","e0c9cab0.13e948"],[]]},{"id":"7967f3c9.3415bc","type":"debug","z":"a8d0e1d9.32142","name":"read_modbus","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":526.3299407958984,"y":55.16672134399414,"wires":[]},{"id":"341bb8e1.0d3b38","type":"modbus-write","z":"a8d0e1d9.32142","name":"","showStatusActivities":false,"showErrors":false,"unitid":"6","dataType":"HoldingRegister","adr":"0","quantity":"1","server":"824b1538.161228","emptyMsgOnFail":false,"keepMsgProperties":false,"x":685.3369064331055,"y":450.8092050552368,"wires":[[],[]]},{"id":"b0f6eeca.9fc8f","type":"debug","z":"a8d0e1d9.32142","name":"out_modbus","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":681.3334045410156,"y":365.1701936721802,"wires":[]},{"id":"36302ceb.d3b7b4","type":"inject","z":"a8d0e1d9.32142","name":"decrement","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":"","topic":"","payload":"2","payloadType":"num","x":272.8958435058594,"y":403.8888854980469,"wires":[["44bf1fc9.8d7fd"]]},{"id":"96e67c14.b9386","type":"inject","z":"a8d0e1d9.32142","name":"increment","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":"","topic":"","payload":"1","payloadType":"num","x":272.8958435058594,"y":363.8888854980469,"wires":[["44bf1fc9.8d7fd"]]},{"id":"44bf1fc9.8d7fd","type":"function","z":"a8d0e1d9.32142","name":"7 segmen","func":"var count=flow.get('count') || 0;\n\nvar temp = msg.payload\n\nif(temp == 1) count+=1;\nelse if(temp == 2) count-=1;\n\nif(count > 9) count =0;\nif(count < 0) count =9;\n\nflow.set('count',count);\n\nvar result = {payload:count};\nreturn[result];","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":473.89587783813477,"y":379.8889045715332,"wires":[["b0f6eeca.9fc8f","341bb8e1.0d3b38","8ca591c3.507c8"]]},{"id":"39680ef0.a0ec02","type":"ui_gauge","z":"a8d0e1d9.32142","name":"SUHU DHT 11","group":"fc14d827.fe2ea8","order":1,"width":0,"height":0,"gtype":"gage","title":"Suhu Celcius","label":"Celcius","format":"{{value}}","min":0,"max":"50","colors":["#00b500","#e6e600","#ca3838"],"seg1":"","seg2":"","x":746.8958358764648,"y":147.88887405395508,"wires":[]},{"id":"fc85d4ce.fbaa78","type":"ui_chart","z":"a8d0e1d9.32142","name":"","group":"fc14d827.fe2ea8","order":2,"width":0,"height":0,"label":"Kelembaban %Rh","chartType":"line","legend":"false","xformat":"HH:mm:ss","interpolate":"linear","nodata":"","dot":false,"ymin":"40","ymax":"100","removeOlder":1,"removeOlderPoints":"","removeOlderUnit":"60","cutout":0,"useOneColor":false,"useUTC":false,"colors":["#1f77b4","#aec7e8","#ff7f0e","#2ca02c","#98df8a","#d62728","#ff9896","#9467bd","#c5b0d5"],"outputs":1,"useDifferentColor":false,"x":756.8958511352539,"y":260.88890075683594,"wires":[[]]},{"id":"5cfa62af.b1f89c","type":"function","z":"a8d0e1d9.32142","name":"ubah suhu","func":"var temp = msg.payload;\nvar puluhan = temp[0]\nvar desimal = temp[1]\n\nvar ongko = (parseInt(puluhan) * 100) + desimal;\nvar suhu = parseFloat(ongko /100);\nvar result = {payload:suhu};\nreturn[result];\n","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":532.3402481079102,"y":154.70834350585938,"wires":[["39680ef0.a0ec02"]]},{"id":"e0c9cab0.13e948","type":"function","z":"a8d0e1d9.32142","name":"ubah humi","func":"var temp = msg.payload\nvar humi = parseInt( temp[2] )\n\nvar result = {payload:humi};\nreturn[result];\n","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":527.8958129882812,"y":237.88888549804688,"wires":[["fc85d4ce.fbaa78","f739dfd5.58126"]]},{"id":"f739dfd5.58126","type":"debug","z":"a8d0e1d9.32142","name":"ubah suhu","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":755.3402862548828,"y":202.18057250976562,"wires":[]},{"id":"8ca591c3.507c8","type":"ui_text","z":"a8d0e1d9.32142","group":"fc14d827.fe2ea8","order":4,"width":0,"height":0,"name":"","label":"7 Segmen","format":"{{msg.payload}}","layout":"row-spread","x":681.3299102783203,"y":407.0590515136719,"wires":[]},{"id":"5b185e1a.af2f7","type":"ui_button","z":"a8d0e1d9.32142","name":"Tambah","group":"fc14d827.fe2ea8","order":8,"width":"3","height":"2","passthru":false,"label":"Tambah ","tooltip":"","color":"","bgcolor":"","icon":"","payload":"1","payloadType":"num","topic":"payload","topicType":"msg","x":269.32643127441406,"y":313.2986240386963,"wires":[["44bf1fc9.8d7fd"]]},{"id":"a4c4a5d.a88cc58","type":"ui_button","z":"a8d0e1d9.32142","name":"Kurang","group":"fc14d827.fe2ea8","order":8,"width":"3","height":"2","passthru":false,"label":"Kurang","tooltip":"","color":"","bgcolor":"","icon":"","payload":"2","payloadType":"num","topic":"payload","topicType":"msg","x":273.8958435058594,"y":454.8888854980469,"wires":[["44bf1fc9.8d7fd"]]},{"id":"824b1538.161228","type":"modbus-client","name":"","clienttype":"simpleser","bufferCommands":true,"stateLogEnabled":false,"queueLogEnabled":false,"tcpHost":"127.0.0.1","tcpPort":"502","tcpType":"DEFAULT","serialPort":"COM7","serialType":"RTU-BUFFERD","serialBaudrate":"9600","serialDatabits":"8","serialStopbits":"1","serialParity":"none","serialConnectionDelay":"100","unit_id":"1","commandDelay":"1","clientTimeout":"1000","reconnectOnTimeout":true,"reconnectTimeout":"2000","parallelUnitIdsAllowed":true},{"id":"fc14d827.fe2ea8","type":"ui_group","name":"modbus RTU ui testing","tab":"53c1826d.1539dc","order":2,"disp":true,"width":"6","collapse":false},{"id":"53c1826d.1539dc","type":"ui_tab","name":"HumiTemp Node Red","icon":"dashboard","order":1,"disabled":false,"hidden":false}]






SELAMAT MENCOBA ....

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 (8) arduino (26) 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 (25) euro2020 (13) gcc (1) iklan (1) infrared (2) Input Output (3) iot (58) 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 (7) 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 (7) radio (26) raspberry pi (4) 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) 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)

Arsip Blog

Diskusi


kaskus
Forum Hobby Elektronika