Rabu, 18 Desember 2019

CARA MENAMPILKAN GAMBAR DI APLIKASI BLYNK


Assalamu'alaikum

Berikut cara menampilkan gambar di aplikasi blynk dengan cepat dan mudah

1. buka aplikasi blynk
2. add widget
3. pilih image gallery
4. klik image galery
5. masukkan url dengan cara ambil dari internet
6. contoh saya ambil dari blog saya
7. klik kanan gambarnya- pilih copy link addres

berikut videonya:

sekian dulu share sedikit ilmu pagi ini  dari pulau seberang NTT - Kupang City

Wassalam
Fuad Hasan
ceo SIMOR

Kamis, 12 Desember 2019

Modbus Challenge

ikuti aturan main modbus challenge
sebelumnya apakah?
1. sudah share status saya tetang modbus challenge. di halaman pribadi, dan tag salah satu teman kamu, dan jangan lupa untuk kasih hastag di postingan kamu
#sayainginbelajarMODBUSARDUINO
#bersamaSIMOR

2. Setelah share lanjutkan petunjuk dibawah ini
- baca dengan teliti
- ikuti langkahnya


langkah 1
temukan kata Modbus TCP warna merah
klik
pada link ini



















jika sudah selesai menjawab pertanyaan

wa.me/6281555305255

"saya sudah selesai menjawab pertanyaan Modbus challenge"

Kamis, 05 Desember 2019

cara mengecek port internet terbuka apa tertutup


assalamu'alaikum

banyak kasus ditemukan mikrokontroller seprti arduino, nodemcu, wemos dll. tidak bisa koneksi ke server blynk. ternyata itu d sebabkan port ke arah server blynk itu d tutup oleh pihak penyedia internet.
ingin tahu bagaimana cek port tsb di buka apa di tutup????


berikut tutorial bagaimana cek port internet dari website itu terbuka apa tertutup.

adapun langkah-langkahnya :
1. buka web browser (mozilla, opera, chrome, IE)
2. masukin web :

3. masukin nama web addresnya di kolom remote addres, portnya d kolom Port Number

4. klik check. jika open akan muncul seperti ini
5. jika close akan muncul sperti ini


sekian share ilmu kali ini, semoga bermanfaat.


Wassalam
SIMOR

Selasa, 03 Desember 2019

bilangan integer

  1. char. Sebenarnya tipe data ini digunakan untuk menyimpan karakter dalam kode ASCII, tapi dapat juga digunakan untuk menyimpan integer dari 0 sampai 255 
  2. short int, ukuran 2 byte, jangkauan -32,768 sampai 32,767
  3. long int, ukuran 4 byte, jangkauan -2,147,483,648 hingga 2,147,483,647
Tipe-tipe data di atas dapat menyimpan integer negatif dan positif. Untuk menyimpan bilangan positif dan nol saja, dapat digunakan kata kunci unsigned sebelum tipe data. Sebagai contoh:
  • unsigned short int, ukuran 2 byte, jangkauan 0 sampai 65,535 
  • unsigned long int, ukuran 4 byte, jangkauan 0 sampai 4,294,967,295

Senin, 02 Desember 2019

perbedaan timer kw dan original

hati-hati jika melakukan pembelian TIMER, karena banyak beredar TIMER dengan kwalitas rendah. seprti pada gambar di atas.
terlihat perbedaannya.
Timer kanan merk POWELL :
- PCB lebih tebal
- kapasitor 100uF
- relaynya lebih bagus kwalitasnya

timer kiri merk OMRON:
- PCB lebih kecil
- kapasitornya cuma 47uF
- relaynya kurang bagus seperti merk POWELL


Rabu, 20 November 2019

membuat dashboard thinger.io

langkah-langkah membuat dashboard:
1. klik dashboard- pilih add dashboard

2. kemudian isi dashboardnya lalu klik add dashboard:


3. klik nama dashboard


4. klik pojok kanan atas buat edit dashboardnya

5.  add widget

6. isi widget pilih  typenya...

7. edit data dari type yg dipilih tadi kemudian save


8. agar tampilan bisa d share, klik setting

9. klik sharenya menjadi hijau, copy urlnya



10. klik acces token, pastikan sudah enable


11. klik nama dashboard yang bawahnya token, dan akan muncul seperti ini


sekian share pengalaman saya menggunakan thinger dengan SIMOR


bila ada yang kurang jelas ?? tanya SIMOR



koding IoT modbus Thinger.io


berikut kodingnya untuk modbus IoT thinger

#include <ThingerEthernet.h>
#define USERNAME "*****"
#define DEVICE_ID "*****"
#define DEVICE_CREDENTIAL "********"
ThingerEthernet thing(USERNAME, DEVICE_ID, DEVICE_CREDENTIAL);
#include <SimpleModbusMaster.h>
#include <avr/wdt.h>
#define baud 9600
#define timeout 3000
#define polling 300 // the scan rate ms
#define retry_count 100
// used to toggle the receive/transmit pin on the driver
#define TxEnablePin 2 
// The total amount of available memory on the master to store data
#define TOTAL_NO_OF_REGISTERS 1
enum
{
  PACKET1,//
   TOTAL_NO_OF_PACKETS // leave this last entry
};

// Create an array of Packets to be configured
Packet packets[TOTAL_NO_OF_PACKETS];

// Masters register array
unsigned int regs[TOTAL_NO_OF_REGISTERS];
void setup() {
    uint8_t mac[6] = {0x00, 0x01, 0x02, 0x03, 0x04, 0x05};
  Ethernet.begin(mac, IPAddress(192, 168, 201, 10));
   modbus_construct(&packets[PACKET1], 1, READ_INPUT_REGISTERS, 0, 1, 0);// 
  modbus_configure(&Serial2, baud, SERIAL_8N1, timeout, polling, retry_count, TxEnablePin, packets, TOTAL_NO_OF_PACKETS, regs);
  

  thing["freq"] >> [](pson& out){
      out =(float) regs [1]/100;
};
  
}

void loop() {
  thing.handle();
   modbus_update();

}

kemudian upload ke arduino.
lalu cek di web thinger.io apakah sudah connect

jika belum connect. cek koneksi internetnya..

jika sudah connect, lanjut membuat dashboard thinger.io



bila ada yang kurang jelas silahkan tanya ke SIMOR



cara membuat IoT modbus menggunakan platform thinger.io



langkah-langkah membuat IoT Modbus menggunakan thinger.io:
1. bikin akun dulu  --> SIGNUP
2. setelah selesai. login dan tampil sperti ini

3. pilih device kemudian add device 

4. isi data device meliputi Device Id, Device Description, Device credensial dengan klik generate random kemudian klik add device.
catat : username, device id, dan device credential. karena nanti dimasukkan ke koding





Rabu, 13 November 2019

IoT Thinger.io Modbus

Apa itu Thinger.io?

Thinger.io adalah Platform IoT cloud yang menyediakan setiap alat yang diperlukan untuk membuat prototipe, skala, dan mengelola produk yang terhubung dengan cara yang sangat sederhana. Tujuan kami adalah mendemokratisasikan penggunaan IoT sehingga dapat diakses oleh dunia, dan merampingkan pengembangan proyek-proyek IoT besar.
Platform IoT gratis: Thinger.io menyediakan akun freemium seumur hidup dengan hanya beberapa batasan untuk mulai belajar dan membuat prototipe, ketika produk Anda siap untuk ditingkatkan skalanya, Anda dapat menggunakan Server Premium dengan kapasitas penuh dalam beberapa menit.
Sederhana tapi Kuat: Hanya beberapa baris kode untuk menghubungkan perangkat dan mulai mengambil data atau mengendalikan fungsi-fungsi itu dengan Konsol berbasis web kami, dapat menghubungkan dan mengelola ribuan perangkat dengan cara yang sederhana.
Agnostik perangkat keras: Perangkat apa pun dari produsen mana pun dapat dengan mudah diintegrasikan dengan infrastruktur Thinger.io.
Open-Source: sebagian besar modul platform, perpustakaan, dan kode sumber APP tersedia di gudang github kami untuk diunduh dan dimodifikasi dengan lisensi MIT.
Dapat dikustomisasi: Frontend yang sepenuhnya berlabel putih memungkinkan menyesuaikan Platform Thinger.io dengan warna merek, logo, dan domain web Anda.



Awal mulai saya mengoprek thinger ini dari sebuah chat di grup WA. ada salah satu temen di grup tersebut mengoprek thinger ini. saya pun dibuat penasaran. apakah SIMOR bisa melakukan??

kutanya dia? apakah bisa buat arduino + ethernet shield?

akhirnya saya minta librarynya, dan diapun mengirim di grup. 

nunggu waktu luang.. akhirnya saya oprek.

berikut librarynya

library d atas sudah saya modif dikit. agar bisa konek ke SIMOR.






Jumat, 08 November 2019

Bahasa Pemograman Arduino



Arduino menggunakan pemrograman dengan bahasa C. Berikut ini adalah sedikit penjelasan yang ditujukan kepada anda yang hanya mempunyai sedikit pengalaman pemrograman dan membutuhkan penjelasan singkat mengenai karakter bahasa C dan software Arduino. Untuk penjelasan yang lebih mendalam, web Arduino.cc adalah sumber yang lengkap.
Struktur

Setiap program Arduino (biasa disebut sketch) mempunyai dua buah fungsi yang harus ada.
void setup( ) {   }
Semua kode didalam kurung kurawal akan dijalankan hanya satu kali ketika program Arduino dijalankan untuk pertama kalinya.
void loop( ) {   }
Fungsi ini akan dijalankan setelah setup (fungsi void setup) selesai. Setelah dijalankan satu kali fungsi ini akan dijalankan lagi, dan lagi secara terus menerus sampai catu daya (power) dilepaskan.
Syntax

Berikut ini adalah elemen bahasa C yang dibutuhkan untuk format penulisan.
//(komentar satu baris)
Kadang diperlukan untuk memberi catatan pada diri sendiri apa arti dari kode-kode yang dituliskan. Cukup menuliskan dua buah garis miring dan apapun yang kita ketikkan dibelakangnya akan diabaikan oleh program.
/*   */(komentar banyak baris)
Jika anda punya banyak catatan, maka hal itu dapat dituliskan pada beberapa baris sebagai komentar. Semua hal yang terletak di antara dua simbol tersebut akan diabaikan oleh program.
{   }(kurung kurawal)
Digunakan untuk mendefinisikan kapan blok program mulai dan berakhir (digunakan juga pada fungsi dan pengulangan).
;(titk koma)
Setiap baris kode harus diakhiri dengan tanda titik koma (jika ada titik koma yang hilang maka program tidak akan bisa dijalankan).

Variabel
Sebuah program secara garis besar dapat didefinisikan sebagai instruksi untuk memindahkan angka dengan cara yang cerdas. Variabel inilah yang digunakan untuk memindahkannya.
int (integer)
Digunakan untuk menyimpan angka dalam 2 byte (16 bit). Tidak mempunyai angka desimal dan menyimpan nilai dari -32,768 dan 32,767.
long (long)
Digunakan ketika integer tidak mencukupi lagi. Memakai 4 byte (32 bit) dari memori (RAM) dan mempunyai rentang dari -2,147,483,648 dan 2,147,483,647.
boolean (boolean)
Variabel sederhana yang digunakan untuk menyimpan nilai TRUE (benar) atau FALSE (salah). Sangat berguna karena hanya menggunakan 1 bit  dari RAM.
float (float)
Digunakan untuk angka desimal (floating point). Memakai 4 byte (32 bit) dari RAM dan mempunyai rentang dari -3.4028235E+38 dan 3.4028235E+38.
char (character)
Menyimpan 1 karakter menggunakan kode ASCII (misalnya ‘A’ = 65). Hanya memakai 1 byte (8 bit) dari RAM.


Operator Matematika
Operator yang digunakan untuk memanipulasi angka (bekerja seperti matematika yang sederhana).
=
Membuat sesuatu menjadi sama dengan nilai yang lain (misalnya: x = 10 * 2, x sekarang sama dengan 20).
%
Menghasilkan sisa dari hasil pembagian suatu angka dengan angka yang lain (misalnya: 12 % 10, ini akan menghasilkan angka 2).
+
Penjumlahan
Pengurangan
*
Perkalian
/
Pembagian

Operator Pembanding
Digunakan untuk membandingkan nilai logika.
==
Sama dengan (misalnya: 12 == 10 adalah FALSE (salah) atau 12 == 12 adalah TRUE (benar))
!=
Tidak sama dengan (misalnya: 12 != 10 adalah TRUE (benar) atau 12 != 12 adalah FALSE (salah))
<
Lebih kecil dari (misalnya: 12 < 10 adalah FALSE (salah) atau 12 < 12 adalah FALSE (salah) atau 12 < 14 adalah TRUE (benar))
>
Lebih besar dari (misalnya: 12 > 10 adalah TRUE (benar) atau 12 > 12 adalah FALSE (salah) atau 12 > 14 adalah FALSE (salah))


Struktur Pengaturan
Program sangat tergantung pada pengaturan apa yang akan dijalankan berikutnya, berikut ini adalah elemen dasar pengaturan (banyak lagi yang lain dan bisa dicari di internet).
1. if..else, dengan format seperti berikut ini:
if (kondisi) { }
else if (kondisi) { }
else { }
Dengan struktur seperti diatas program akan menjalankan kode yang ada di dalam kurung kurawal jika kondisinya TRUE, dan jika tidak (FALSE) maka akan diperiksa apakah kondisi pada else if dan jika kondisinya FALSE maka kode pada else yang akan dijalankan.
2. for, dengan format seperti berikut ini:
for (int i = 0; i < #pengulangan; i++) { }
Digunakan bila anda ingin melakukan pengulangan kode di dalam kurung kurawal beberapa kali, ganti #pengulangan dengan jumlah pengulangan yang diinginkan. Melakukan penghitungan ke atas dengan i++ atau ke bawah dengan i–.
Digital
1. pinMode(pin, mode)
Digunakan untuk menetapkan mode dari suatu pin, pin adalah nomor pin yang akan digunakan dari 0-19 (pin analog 0-5 adalah 14-19). Mode yang bisa digunakan adalah INPUT atau OUTPUT.
2. digitalWrite(pin, value)
Ketika sebuah pin ditetapkan sebagai OUTPUT, pin tersebut dapat dijadikan HIGH (ditarik menjadi 5 volts) atau LOW (diturunkan menjadi ground).
3. digitalRead(pin)
Ketika sebuah pin ditetapkan sebagai INPUT maka anda dapat menggunakan kode ini untuk mendapatkan nilai pin tersebut apakah HIGH (ditarik menjadi 5 volts) atau LOW (diturunkan menjadi ground).
Analog
Arduino adalah mesin digital tetapi mempunyai kemampuan untuk beroperasi di dalam alam analog (menggunakan trik). Berikut ini cara untuk menghadapi hal yang bukan digital.
1. analogWrite(pin, value)
Beberapa pin pada Arduino mendukung PWM (pulse width modulation) yaitu pin 3, 5, 6, 9, 10, 11. Ini dapat merubah pin hidup (on)atau mati (off) dengan sangat cepat sehingga membuatnya dapat berfungsi layaknya keluaran analog. Value (nilai) pada format kode tersebut adalah angka antara 0 ( 0% duty cycle ~ 0V) dan 255 (100% duty cycle ~ 5V).
2. analogRead(pin)
Ketika pin analog ditetapkan sebagai INPUT anda dapat membaca keluaran voltase-nya. Keluarannya berupa angka antara 0 (untuk 0 volts) dan 1024 (untuk 5 volts).
Demikianlah tutorial singkat mengenai bahasa pemrograman pada Arduino. Selamat mencoba!

sumber : http://blog.famosastudio.com/2011/06/tutorial/tutorial-singkat-bahasa-pemrograman-arduino/82

Senin, 04 November 2019

Modul Adam 4055 Protocol Modbus RS485

modul adam 4055 adalah modul IO  yang mempunyai protocol modbus RTU

berikut cara wiring adam 4055 :


dan register addres untuk melakukan read and write sbb:

Minggu, 03 November 2019

cara mengatasi ethernet shield tidak bisa terhubung dengan pc/laptop/router

ethernet shield adalah salah satu media komunikasi arduino dengan perangkat jaringan  yang berbasis ethernet. contoh komunikasi dengan laptop/pc/router. dengan menambah ethernet shield kita bisa mengendalikan atau memonitoring arduino dari mana saja dan kapan saja.

harganya yang original sangat mahal sekali sekitar 400rb an
tapi ternyata banyak sekali versi clonenya sudah mulai banyak sekali berkambang d pasaran.
dan ternyata versi clone ini ada yang gk sesuai komponennya dengan yang original. dan ini menyebabkan ethernet shield tidak bisa konek ke pc/laptop/router.


adapun komponen yang tidak sesuai yaitu resistor. seharusnya di shield yang original itu 49,9 ohm.
tapi yang terpasang di clone 510 ohm.
bisa kita lihat di ethernet shield di bawah ini:

jika itu tertulis 511 maka ukurannya itu 510 ohm. jika tertulis 510 maka itu 51 ohm.

adapun cara mengatasi permasalahan tersebut.
1. sediakan solder + timah, resistor 100 ohm sebanyak 2 biji
2. kopi + cemilan ( buat nungu solder panas)
3. solder ressistor pada bagian bawah port rj45.



4. minum kopinya selagi masih hangat


5. test ethernet shield  dengan upload koding example dari library ethernet.


sekian dulu sharing dari saya....
apabila ada pertanyaan  silahkan hubungi saya di SIMOR



sumber info dan dipraktekkan :
http://www.arduinotehniq.com/index.php/2017/12/06/solve-problem-with-511-at-w5100-ethernet-shield/

Selasa, 29 Oktober 2019

MODUL ADRINI DI Modusin?? eh Modbusin. Why Not????


Assalamu'alaikum,
modul Adrini adalah modul yang sangat simpel sekali dan power full. sudah include wifi. dan mempunyai IO banyak antara lain :
- 4 Digital input
- 5 Digital Output
- 1 analog input range tegangan 0-3,3v

modul ini menggunakan mikrokontroller sangat familier dikalangan anak jaman now.
yaitu Nodemcu versi AMICA.

kali ini saya diberi kesempatan untuk mengoprek dengan memberi protocol modbus.
dengan memberi protocol modbus. saya bisa komunikasikan modul adrini ini dengan software scada maupun aplikasi di HP yang mempunyai protocol modbus.

sebelum menggunakan ini ada satu syarat yg dipenuhi agar bisa beroperasi yaitu power supply 12V


langsung saja. saya mengoprek dengan via hp dan pc.

untuk yang via HP saya menggunakan apk Virtuino Modbus yang bisa di download di playstore

untuk yang via PC saya menggunakan software analiser protocol modbus yaitu modscan32

download dulu library buat modbusin adrini

permisi download library

adapun kodingnya:

#include <ESP8266WiFi.h>
#include <ModbusTCPSlave.h>
#include <Ticker.h>

//Settings IP Nodemcu
byte ip[]      = { 172, 22, 0, 113 };
byte gateway[] = { 172, 22, 0, 1 };
byte subnet[]  = { 255, 255, 255, 0 };

ModbusTCPSlave Mb;
Ticker Stop;
const int DO1 =  16; //D0 
const int DO2 =  5; //D1
const int DO3 =  4; //D3 
const int DO4 =  0; //D4 
const int DO5 =  2; //D4 
  
const int push1 = 14;// D5
const int push2 = 12;// D6
const int push3 = 13;//D7
const int push4 = 15;//D8

const int analogInPin = A0; 


void monitoring() {



///Digital Inputs
Mb.MBHoldingRegister[0]=digitalRead(push1);//
Mb.MBHoldingRegister[1]=digitalRead(push2);//
Mb.MBHoldingRegister[2]=digitalRead(push3);//
int DI4 = digitalRead(push4);
if (DI4 == 1){
  Mb.MBHoldingRegister[3]=0;//
}
else {
  Mb.MBHoldingRegister[3]=1;
}



///Digital Outputs 
digitalWrite(DO1,Mb.MBHoldingRegister[4] );
digitalWrite(DO2,Mb.MBHoldingRegister[5] );
digitalWrite(DO3,Mb.MBHoldingRegister[6] );
digitalWrite(DO4,Mb.MBHoldingRegister[7] );
digitalWrite(DO5,Mb.MBHoldingRegister[8] );

////Analog Input
Mb.MBHoldingRegister[9] = analogRead(analogInPin);
   
  }


void setup()
{
 pinMode(DO1, OUTPUT);
 pinMode(DO2, OUTPUT);
 pinMode(DO3, OUTPUT);
 pinMode(DO4, OUTPUT);
 pinMode(DO5, OUTPUT);

 pinMode(push1, INPUT_PULLUP);
 pinMode(push2, INPUT_PULLUP);
 pinMode(push3, INPUT_PULLUP);
 pinMode(push4, INPUT_PULLUP);
 Serial.begin(115200); 
 Mb.begin("namawifi", "password e wifi", ip, gateway, subnet);
 delay(100);


digitalWrite(DO1, LOW);
digitalWrite(DO2, LOW);
digitalWrite(DO3, LOW);
digitalWrite(DO4, LOW);
digitalWrite(DO5, LOW);

}

void loop()
{
  
  Mb.Run();
 Stop.attach_ms(35,monitoring);
  
}

setelah selesai di upload. led bulitin di nodemcu nyala kedip cepat itu menandakan belum konek ke wifi.
jika sudah konek ke wifi maka led tidak nyala.

namun ketika nodemcu sudah konek ke modbus. maka nyalanya akan lambat.

berikut hasil dari via virtuino dan modscan




NB: untuk DO5 tidak bisa digunakan karena pin dari nodemcu digunakan untuk led indikasi wifi


sekian dulu oprek dari CEO SIMOR. semoga bermanfaat.

bila ada pertanyaan silahkan kontak SIMOR

wassalamu'alaikum

Fuad Hasan

ADAM3600 for SCADA Remote Station

adam3600 adalah sebuah RTU yang memiliki IO (8DI, 4DO, 8AI) selain itu juga memiliki port 2x ethernet dan juga port serial 2x RS485 dan 1x RS232/RS485

modul ini IOnya bisa di expand. sampai 4 slot.

protocolnya untuk sisi uplink :
1. dnp tcp
2. modbus tcp
3. iec 104
4. opc

sedangkan untuk downlink bisa protocol modbus, dnp tcp

RTU ini berbasis webbase. jika ingin melakukan monitoring maupun kontrol.


software konfigurasiya pakai EDGELINKS



kali ini saya mau trial:




percobaan mapping pertama saya menggunakan adam 4055 sebagai slave .

alhamdulillah berhasil











Rabu, 16 Oktober 2019

modul trainer modbus arduino

modul trainer modbus arduino
modul ini digunakan untuk pembelajaran modbus arduino yang sangat simpel dan praktis.
termasuk modbus rtu, tcp ip, maupun sbg modbus master yang mana bisa komunikasi dengan perangkat modbus lainnya. seperti: plc, power meter, relay proteksi, temperatur kontroller, dll...
modul ini juga bisa sebagai pembelajaran modbus berbasis IoT menggunakan server Blynk.

salam
SIMOR




untuk beli modul ini klik link bawah ini
Beli

Cara membuat datalogger blynk di spreadsheet / googlesheet menggunakan akun versi Free

  silahkan video di atas. semoga bermanfaat. jika masih kurang jelas bisa kontak saya