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 tutorial. Tampilkan semua postingan
Tampilkan postingan dengan label tutorial. Tampilkan semua postingan

Senin, 13 Januari 2020

[Elektronika mudah] Berkenalan Dengan MakeBlock vs Arduino - Praktek Dasar Led Blink & Sensor LM35



" Mengajarkan ilmu ke anak-anak yg lahir setelah generasi milenial haruslah berbasis VISUAL .." 

Apaan lagi nih bikin pusing aja ? Quote tadi saya kutip dari pembicaraan bersama teman sesama penjaga stand pada pameran ARTPRENEUR pada akhir desember 2019. Kegalauannya pecah ketika melihat kenyataan  siswanya (anak smk) dimana hanya segelintir saja yg bisa menyerap ilmu coding web php yg dan berujung banyak siswa yg bolos. Kenapa sepeti itu ya ? Kenapa coding menjadi tidak menarik ? Padahal penulis sangat mencintai coding (yang gampang tentunya). Saya merasakan masuk kedalam koding sangat mengasyikkan layaknya memecahkan sebuah role play game, mungkin dapat dibandingkan seperti keasikan anak sekarang bermain Mobile Legend. 


Pada dasarnya pemrograman DRAG & DROP bukan barang baru terutama era 90-an dengan  platform pemrograman desktop yaitu Visual Basic, C# dan Delphi dimana membuat tombol dan input teks hanya dari ujung mouse. Apalagi setelah era macromedia / adobe flash malahan semakin dimanja pemrograman nya dengan penggabungan animasi dan actionscript (penulis jagonya di flash sih). Lalu kita tengok pemrograman visual drag-drop lainnya, Scratch menjadi Visual IDE (berbasis flash) pilihan untuk tujuan edukasi koding ke anak-anak yg dikembangkan oleh MIT. Semakin dimanjanya anak-anak dengan gadget dan pilihan aplikasi yg langsung tampil "VISUAL" nya menyebabkan proses koding berbasis teks menjadi kurang menarik lagi. Bagaimana dengan pemrograman microcontroller  yg selama ini selalu dilakukan pada mode teks?


Mudah bukan gambaran program scratch diatas ? Bagaimana dengan pemrograman arduino pada scratch? Sama gampangnya kok...liat nihh...


Mulai tertarik dengan bahasa pemrograman drag and drop diatas ? Jika iya mari saya ajak menyelam membuat Hello Word dengan praktek Led Kedip dan Pembacaan Sensor Suhu LM35. Untuk itu anda perlu menuju ke  IDE online web ( http://ide.mblock.cc ) atau download saja programmer offline nya yg tersedia di websitenya (googling aja).  Perlu diketahui makeblock atau mblock merupakan platform programming robotik dari senzhen china yg demi menarik pasar anak-anak pencinta robotik maka dimanfaatkanlah scratch sebagai programming IDE nya. Tentunya jika ingin lebih menarik minat anak-anak anda harus membeli Mbot atau modul robotik yg memang dibuat semenarik mungkin dan sesuai tujuan mblock. Namun bagi anda yg hanya mempunyai board clone arduino seperti UNO jangan khawatir masih bisa kok. Mau saya bagi langkah-langkahnya berkenalan ? Ikuti tulisan dibawah.




  1. Device & Connection : Untuk arduino UNO butuh melakukan download modul librarinya. Menu awal ketika membuat project baru akan muncul  device Codey dan sprite panda. Hapus saja karena tidak diperlukan.
  2. Component : Berisikan semua block komponen pemrograman yang diperlukan. Penggunaannya sangat simple hanya klik drag dan drop.
  3. Block Canvas : Yaitu tempat menyusun komponen menjadi blok saling berkaitan yang kemudian akan diterjemahkan menjadi suatu software arduino
  4. Code : Tempat kode yang equivalen dengan block pada canvas. Jadi bagi anda yg sudah menguasai sketch arduino akan mudah memahami walau akan ada batasan yg akan dihadapi.



HELLO WORD LED BLINK


PIN 13 sebenarnya sudah memiliki LED internal pada PCB tapi kalau mau lebih terang ya bisa mengikuti gambar diatas. Langkahnya dari awal seperti ini nih..



Jangan lupa ya gambar diatas dimana harus ditambahkan device Arduino UNO pada kolom devices. Pastikan driver USB to Serial ch340 sudah terinstal juga di komputer kamu.




Gambar diatas menunjukkan cara melakukan koneksi ke board arduino uno kamu dan akan muncul gambar dikanan apabila sudah terkoneksi dengan baik. Lanjut yuk kita berkenalan dengan Component beserta proses drag-dropnya ke dalam canvas.


Komponen block events yg mungkin satu-satunya dipakai dalam pemrograman arduino Uno adalah "when Arduino Uno Starts up "



Komponen PIN berisikan blocks yg berhubungan dengan PIN IO baik untuk mengatur fungsinya maupun pembacaan datanya, jadi super lengkap dari PWM sampai ADC. Contoh diatas kita akan menyusun blocks sehingga PIN 13 (LED) merupakan pin OUT dan kemudian kita bisa tentukan statenya apakah HIGH (nyala) atau LOW (mati).


Komponen control berisikan block perintah pengulangan, delay serta conditional statement. Tidak begitu susah kalau hanya buat menyalakan dan mematikan LED tiap 1/2 detik seperti gambar diatas. Tinggal menentukan blocks yg sesuai urutannya dan selanjutnya dapat dievaluasi melalui script yang berada dikanannya. Memang akan terjadi kesalahpahaman mengenai fungsi LOOP yg digantikan oleh perintah WHILE(1) pada fungsi void setup. Tapi secara fungsi itu PODO WAE MUNYER SAMPEK KIAMAT.


Komponen blocks Variables seperti namanya kita akan mendaftarkan sebuah variabel atau list(array) dan kemudian dapat kita tentukan nilai nya melaui block "set" atau perubahannya melalui  block "change". Pada gambar diatas kita buat variabel coba bernilai awal 0, kemudian pada awal setup dirubah menjadi 2 dan melalui LOOP FOREVER akan berubah nilainya bertambah 1 tiap 1 detik.



Komponen operators berisikan operator aritmatika, binary serta operasi string. Tidak jauh berbeda dengan pemrograman teks lainnya yg menjadi spesial adalah drag drop antar blocks yg harus sesuai bulat atau persegi sesuai operasi yang diinginkan. Contoh penggabungan blocks control dengan blocks operators ada pada pembahasan dibawah.



Tujuan dari blocks diatas adalah menghidupkan dan kemudian mematikan LED dengan memperhatikan nilai dari variabel angka. Jadi saat angka <50 maka LED akan menyala lalu saat angka >50 maka LED akan mati. Untuk mengembalikan variabel angka ke 0 maka dibuat satu blocks IF statement lagi yg akan meReset varibel angka menjadi NOL. Sudah siap mencoba di Arduino UNO kamu ? Langsung tancapkan saja dan tekan UPLOAD !



MEMBACA SUHU LM35





Jika berbicara tentang pembacaan sensor LM35 pasti semua paham sangat gampang scriptnya bertebaran dibahas di google..jadi jika dikembangkan melalui scratch Mblocks menjadi satu baris yg sangat indah seperti gambar dibawah ini.


Mau tahu hasilnya seperti bagaimana di terminal serial putty ?



Tentunya MakeBlock memiliki keterbatasan untuk penggunaan arduino uno tapi saya rasa cukup menarik untuk dipelajari. Jika ada uang lebih bisa tuh membeli modul robot mBot yang sangat memungkinkan diajarkan ke anak-anak generasi Z . Semoga tulisan saya dapat mengispirasi kalian untuk tetap semangat belajar.
Share:

Kamis, 03 Oktober 2019

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



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

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



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

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

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

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

WiFiClient klien;  // nama klien 

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

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

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

}

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

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

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

Serial.println(datae);

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

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

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

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

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

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


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

void segmen(int angka)
{

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

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


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

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

#define SEGTOPIC "SEG"

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

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

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

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

  Serial.print("Pesan:");

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


}


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


Share:

Senin, 30 September 2019

Cara Belajar IOT : Praktek komunikasi SIM7000 NBIOT dengan protokol MQTT



Setelah beberapa waktu meluangkan masa belajar dan tuning frekuensi otak kembali ke mode "tukang solder" akhirnya kali ini akan dibagi hasil pembelajaran IOT saya bersama anak magang dari D3Elektro ITS. Bahan-bahan yg diperlukan sebagai berikut:

- Arduino Uno
- Sim7000E (atau bisa juga SIM 800 /900)
- Breadboard + Kabel Jumper
- LCD Matrix
- LED
- LM 35 (tambahan)

Standar yg perlu dipahami dan bisa di baca-baca di artikel di internet adalah protokol IOT paling sederhana dan ampuh yaitu MQTT (message queueing telemetry transport)




Untuk itu perlu diperhatikan beberapa istilah dalam protokol MQTT

- MQTT BROKER , sebagai relay message dan bisa di instal mandiri di PC atau ada beberapa layanan broker gratis di internet seperti : cloudmqtt dot com atau hivemq.com 
- CLIENT : Alat yg akan berkomunikasi menggunakan protokol mqtt

- TOPIC :  Suatu istilah layaknya topik pembicaraan dalam suaut grup chat

- Publish : Menulis pesan ke suatu topik

- Subscribe : Berlangganan pesan pada suatu topik tertentu 

Secara gampang dapat dikatakan MQTT layaknya standar chatting jaman dulu, dan karena memang MQTT didasarkan pada prinsip XMPP yg digunakan facebook messenger jaman dulu. Sebaiknya kita mendaftarkan akun MQTT gratisan pada cloudmqtt dotcom




Kita buat akun pada cloudmqtt.com atau bisa juga langsung log in menggunakan akun google kita. Setelah kita log in, kita buat server yg akan dituju dengan menekan “Create New Instance”. Lalu kita isikan name, plan, dan tags nya. Untuk plan, telah ada pilihan “cute cat” dan ini gratis. Setelahnya klik “Select Region”, disini kita default saja jadi kita langsung next.

Setelah kita buat instance nya, kita kembali ke home cloudmqtt. Lalu kita pilih instance yang telah kita buat. Disitu akan terdapat details mengenai instance yang kita buat, kita akan mendapatkan alamat server, user, password, dan port. Disini ada beberapa port yang disediakan, namun untuk mudahnya cukup hanya gunakan port TCP saja. Karena ini gretongan jadi terdapat connection limit hanya bisa tersambung dengan 5 device/client saja.

Wiring yg diperlukan ke arduino uno :
- 2 port serial ( software serial)
- 6 port LCD matrix
- 1 port LED
- 1 port Analog ( LM35) 

Untuk mendukung pemrograman pada arduino sketch dibutuhkan library pendukung yaitu:

-  liquidcrystal   ==> untuk LCD
-  pubsubclient  ==> untuk publish dan subscribe topic pada broker
-  TinyGsmClient  ==> library SIM COM
-  SoftwareSerial  ==> komunikasi serial

Untuk programnya pertama-tama kita install library yang akan kita pakai pada sketch. Disini kita menggunakan beberapa library diantaranya ada SoftwareSerial, dengan library software serial kita bisa melakukan lebih dari satu komunikasi serial dengan menggunakan port digital lainnya selain port serial built in yang telah disediakan. 

Lalu ada PubSubClient, library ini digunakan untuk support MQTT yang mana digunakan untuk publish dan subscribe topic MQTT. Dengan menggunakan MQTT kita akan mengenal topic, publish, dan subscribe. Publish sama saja dengan mengupload pesan ke broker/serve MQTT dengan topic tertentu, sementara subscribe berarti kita sedang mengikuti topic tertentu. Jika misal kita men-subscribe suatu topic, kita akan secara otomatis memperoleh pesan seperti apa yang diupload ke topic yang telah kita subscribe. 

Berikutnya ada library TinyGsmClient, library ini digunakan untuk support penggunaan GSM pada project yang kita buat kali ini. Disini kita menggunakan SIM7000E. Agar program dapat berjalan dengan baik dan benar kita harus mempelajari library-nya terlebih dahulu, seperti command/fungsi apa yang harus dipanggil. Dan ada juga library LiquidCrystal sebagai support untuk penggunaan LCD pada project kali ini.


Kali ini kita menggunakan simcard NBIoT dari Telkomsel. Pertama-tama kita harus mengkoneksikannya terlebih dahulu jaringannya ke jaringan Telkomsel NBIoT yang ada. Untuk itu ada beberapa hal yang harus kita atur terlebih dahulu diantaranya APN(Access Point Name), username, dan password. Kali ini APN yang digunakan adalah “NB1INTERNET”, biasanya APN sudah bawaan dari simcard yang kita pakai. Lalu untuk username dan password bisa kita kosongkan  saja jika tidak ada. Penjelasan mengenai hal ini bisa dibaca pada : http://www.aisi555.com/2019/08/iot-hello-world-mencoba-komunikas-nb.html

Setelah dikoneksikan dengan jaringan, maka berikutnya kita koneksikan dengan broker MQTTnya. Untuk mengkoneksikan ke broker kita perlu mengatur beberapa hal pada program, diantaranya kita inisialisasikan link broker yang digunakan, port MQTT yang digunakan, ClientID (untuk ClientID bisa kita isikan sembarang), username dan password. Untuk link, port, username, dan password dapat kita lihat pada details yang ada di cloudmqtt yang telah kita buat. Tak lupa juga kita inisialisasikan topic yang akan kita gunakan untuk publish dan subscribe. Untuk topic publish dan subscribenya lebih baik dibedakan agar pesan yang dikirim dan diterima tidak tabrakan.

Berikut listing program yang telah kami  buat:



Setelahnya kita upload program. Kemudian dapat kita lihat pada serial monitor untuk melihat jalannya program. Dan dapat kita lihat juga pada websocket cloudmqtt, disini dapat kita lihat pesan dari topic yang dipublish dan disubscribe.



Selain itu kita juga dapat memonitoring dan mengkontrolnya melalui aplikasi di handphone kita. Disini kita gunakan IoT MQTT Panel yang gratis, kita dapat mendownloadnya di playstore kemudian kita install. Pada halaman utama dapat kita lihat ada tanda + , kita klik untuk menambahkan koneksi MQTT. Setelahnya kita isikan konfigurasi yang diperlukan dan juga device nya. Setelahnya kita klik create. Berikutnya kita akan masuk ke panel dari koneksi yang telah kita buat. Disitu kita bisa menambahkan panel lagi untuk memonitor ataupun mengkontrol, kita disediakan beberapa tipe panel dari button, switch, led indicator, grafik dan ada beberapa jenis lainnya yang dapat kita gunakan. 
      


Untuk membaca data sensor suhu LM 35 kita bisa hubungkan seperti gambar diatas , dan script tambahan pada berikut ini.



Jika digabung dengan software android IOT MQTT PANEL bisa jadi keren seperti berikut :



Disusun oleh Anak Magang d3lektro ITS ( josia & fitri )


Share:

Jumat, 16 Agustus 2019

Cara Belajar IOT : Hello World ! Mencoba komunikasi NB Iot dengan SIM7000E breakout board


"Tidak ada kata TERLAMBAT untuk memulai sesuatu..." sesudah tertunda begitu lamanya saya kembali menyentuh kotak hijau dengan kawat tembaga menonjol yang dulunya sering ada disebelah laptop. Kini saya mendapatkan sebuah Breakout Board SIM7000E yang merupakan modul development kit untuk mencoba komunikasi jaman now bernama Internet Of Things - IOT dengan standard yg dipakai NB-Iot yang yaaaa...sangat menakutkan jika dilihat secara sepintas. Kalau pembaca mengikuti perkembangan blog ini sejak awal maka sudah sering dibahas komunikasi antara "benda" dengan "internet" . Tapi sebaiknya jangan meniscayakan perkembangan jaman , karena di era industri 4.0 semua akan menuju ke Internet Of Things.

NB IOT

Standar IOT itu ada banyak dan tidak akan saya bahas semuanya. Pada dasarnya Nb (Narrow Bandwith = Pita Sempit) ini merupakan jawaban dari dunia telekomunikasi selular terhadap IOT. Kita paham bahwa operator seluler yang sudah sangat advance dalam masalah bandwith dan kecepatan komunikasi datanya. Sedangkan disisi lain, komunikasi data mesin industri dan sensor hanya membutuhkan beberapa bit data saja sehingga dirasakan kecepatan dan bandwith LTE yg mencapai 100 mbps menjadi mubazir. Begitu juga dengan penggunaan power dimana IOT mensyaratkan GREEN ENERGY. Bayangkan saya ingin mengirim data pembacaan sensor suhu dengan kecepatan LTE menjadi sangat "njomplang" karena hanya kalau dihitung kasar data suhu yg saya kirim menggunakan resource kurang dari 1% saja. Dengan Nb IOT ini maka semua standar yg disyaratkan oleh industri 4.0 terjawab sudah.


Untuk di Indonesia Telkomsel sebagai operator seluler  terbesar telah melirik teknologi ini sejak lama tapi sepertinya masih gagap dalam memasang "kotak duit" nya sehingga hanya seperti pengisi pameran saja teknologi NbIot nya. Untuk itu telkomsel di 2019 kembali gencar mengadakan seminar dan membagi perangkat NbIot dan kebetulan penulis mendapat limpahan dari teman yg kebingungan meng-Oprek breakout board SIM7000E. Dan jika dilihat kembali penulis sudah sangat familiar dengan SIM900 dan peralatan modem serial sejenis dan AT COMMAND sudah menjadi bahasa sehari-hari. Kita persingkat saja dengan mencoba membuat "Hello World" sebagaimana halnya langkah awal berkenalan dengan alat baru yg biasa saya lakukan. 

SIM7000E BREAKOUT


Dan sangat gembiranya saya karena barangnya yg saya kira menakutkan ini ternyata tidak jauh berbeda seperti moyangnya SIM900 jaman dahulu. Dalam perangkat SIM7000E ini terdapat juga Patch antenna LTE dan GPS Receiver. Spesifikasinya seperti berikut :


  Raspberry Pi connectivity, compatible with Raspberry Pi Zero/Zero W/Zero WH/2B/3B/3B+
 Supports TCP, UDP, PPP, HTTP, FTP, MQTT, SMS, Mail, etc.
 Supports GNSS positioning (GPS,GLONASS,BeiDou and Galileo)
 Onboard USB interface, to test AT Commands, get GPS positioning data, and so on
 Breakout UART control pins, to connect with host boards like Arduino/STM32
 Onboard voltage translator, 3.3V by default, allows to be switched to 5V via 0Ω resistor
 SIM card slot, compatible with both normal SIM card and NB-IoT specific card
 2x LED indicators, easy to monitor the working status
 Baudrate: 300bps~3686400bps
 Control via AT commands (3GPP TS 27.007, 27.005, and SIMCOM enhanced AT Commands)
 Supports SIM application toolkit: SAT Class 3, GSM 11.14 Release 98, USAT
 Comes with development resources and manual (examples for Raspberry /Arduino/STM32)


Dan yg paling penting adalah support NBIOT dan SIM CARD yg digunakan support NB Iot diberikan dari telkomselnya langsung. Lalu saya ngetest dimana nih? Kan NBIot tidak semua BTS yg aktif. Bersyukurlah karena dalam jarak 2 Km ada BTS Telkomsel yg sudah nyala NB Iot Nya





Lhoo kok digambar diatas sinyalnya sudah bisa keluar? Gampang aja kita colokkan breakout board ke PC melalui kabel USB dan jangan lupa install drivernya disini : www.waveshare.com/wiki/File:SIM7X00-Driver.7z . Akan terdapat sekitar 6 devices yg terdetek dan cari COMPORT untuk devices yg bernama :  SIM TECH  HS-USB AT PORT 9001 (COM xx ) . Karena sudah terhubung dengan PC maka buka terminal putty anda dengan port 25 dan baudrate 115200. Lanjut kita bahas satu persatu AT Command yg digunakan untuk koneksi NBIot


AT+COPS?




Fungsinya untuk mengetahui apakah jaringan sudah terhubung benar dan registrasi sukses. Dari jawaban nya digambar saya pastikan sudah konek ke MCC ID 510 = Indonesia MNC 10 = Telkomsel dan level sinyal 9 (max 31)  walau level kecil tapi lumayan sudah konek.

AT+CPSI?




Perintah spesifik untuk mengecek apakah SIM CARD dan NETWORK sudah berada pada kondisi yg diinginkan yaitu NBIoT. Syukurlah saya berada pada jalur yg benar.

AT+CGNAPN



Untuk menghubungkan SIM7000 ke internet maka SIMCARD harus berisikan APN yg sesuai untuk NBIot. Kali ini telkomsel memberikan nama APN berupa "NB1INTERNET"

AT+CSTT




Perintah ini untuk melakukan seting APN yg digunakan sesuai dengan yg tersedia

AT+CIICR dan AT+CIFSR



Berikan command ini ke modem untuk melakukan koneksi NBIot ke jaringan. Seperti contoh diatas saya mendapatkan IP 10.0.2.8. Lalu bagaimana melakukan hello world sehingga terbuksi koneksinya sudah benar?  Mari kita lakukan langkah berikut :

1. Install aplikasi TCP listener pada pc atau smartphone. Kali ini saya menggunakan smartphone android dengan aplikasi TCP SERVER yg dapat diunduh di playstore.




2. Gunakan Internet lewat wifi agar lebih mudah pengaturan port forwarding nya. Catat IP WAN yg didapat dan gunakan IP STATIC pada smartphone dengan tujuan agar tidak berubah-ubah Port Forwardingnya pada router internet yg digunakan. Jika menggunakan modem telkom indihome cukup mudah hanya dengan melihat setting berikut pada console routernya :


Anda juga bisa menggunakan whatismyipaddress dot com untuk melihat IP WAN internet anda.

3. Lakukan PORT FORWARDING di router dan memforwardnya langsung ke IP Smartphone. Pada contoh berikut saya menggunakan HP dengan IP static 192.168.1.12 dan port forwarding di 1822




4. Masuk ke aplikasi smartphone TCP SERVER dan buat server dengan menggunakan IP dan Port seperti gambar diatas. Jangan lupa koneksikan smartphone ke SSID wifi yg sesuai dengan router tadi.





HELLO WORLD !

Kini saatnya pembuktian apakah SIM7000E dapat mengirimkan data teks sederhana ke smartphone saya. Data teks ini bisa saja dikirimkan melalui port serial yg terdapat dari breakout board, sehingga semisalnya data suhu dari alat pengukur suhu dan kelembaban yg dulu saya kerjakan atau alat-alat lain di blog ini mugkin saja dilakukan. Kali ini saya akan berkomunikasi melalui terminal putty saja.
AT COMMAND yg dibutuhkan adalah :

AT+CIPSTART



Jika muncul jawaban CONNECT OK maka berarti kita siap menerima dan mengirim data antara putty serial (terhubung NB Iot) dan smartphone.


AT+CIPSEND




Gunakan command AT+CIPSEND untuk mengirim data ke lawan TCP yg sudah terkonek sebelumnya. Ketikkan kata yg ingin di kirim contoh diatas : HELLO WORLD ! kemudian diakhiri dengan kode hexa 0x1A atau kombinasi keyboard CTRL^Z  (kalau sering kirim sms via at command pasti paham) ...dan kita tunggu konfirmasi SEND OK. Jawabannya di smartphone seperti berikut :



Wahhh akhirnya sampai juga pesannya dari Terminal => Serial COM => SIM7000E => NBIot =>Smartphone. Gembiranya bukan main kawan, berarti berbagai kemungkinan aplikasi IOT sudah terbayang didepan mata.  Bagaimana kalau smartphone membalas kirim data ke Terminal / Putty ? 




Dan bagaimana response dari terminal /Putty ?




Dan lengkap sudah komunikasi dua arah dapat dilakukan oleh Terminal dan Smartphone melalui NB Iot. Jangan lupa untuk menutup koneksi menggunakan perintah AT+CIPCLOSE dan AT+CIPSHUT.






Cakrawala baru telah terbuka bagi penulis untuk menggabungkan perangkat yg sudah pernah dirancang ke dunia IOT dan semoga tetap dapat berbagi ilmunya dengan pembaca setia AISI555 dot com. Tentunya penulis merasa IOT bukan hal susah, tetapi yg susah adalah merancang desain awalnya dan terbayangkan keruwetan yg dihadapi para engineer pelopor IOT diluar sana, dan saya tak kan lupa  berucap TERIMA KASIH !




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 (24) 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