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/

Uji sensor ultrasonic waterproof A01NYUB dengan ESP32

  apa itu sensor ultrasonic ?? Sensor jarak ultrasonik menentukan jarak ke target dengan mengukur selang waktu antara pengiriman dan penerim...