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

Kamis, 31 Oktober 2019

Cara Belajar IOT : Menyimpan Data Sensor lewat NBIOT untuk Ditampilkan Ke Chart dan Peta



Bahasan kali ini sempat tertunda akibat gejolak politik Indonesia sebelum pelantikan presiden. "Sombong Amat" hehehe...ya tertundanya secara tidak langsung sih karena coba deh perhatikan penampakan alat saya dibawah ini yg saya bawa keliling-keliling surabaya di awal oktober 2019.


Ngeri kali bukan? apalagi saat kasus penusukan pak wiranto saya jadi was-was membawa keliling alatnya ntar dikira mau sabotase kali...hehehe...ngelanturnya kejauhan kali ya ? Balik yuk ke topik utama dan kali ini IOT nya semakin lebih jauh dimana sensor akan dibawa berkeliling dan tiap pembacaan akan disimpan pembacaan  GPS nya. Seperti ini loo pesan mqtt berformat JSON yg dikirim oleh arduino...



Dari pesan MQTT diatas maka jika ingin mengolah data ber "GEO" atau memiliki data koordinat GPS maka tiap pembacaan sensor perlu disimpan ke dalam database. Arduino secara kemampuan nya yg 8 bit tentunya megap-megap kalau dihubungkan ke SQL, lalu berpikir apasih yg digunakan orang-orang diluar sana untuk database IOT ? Jawabanya adalah PYTHON + MONGODB






Jadilah saya belajar bahasa asing lagi nih...ya untung saja sukses dan langkah belajarnya seperti ini untuk membantu pembaca memahami lebih mudah.


PYTHON + MQTT

Masih ingat tulisan terdahulu tentang ESP dan MQTT ? Sekarang dengan python ada library khusus menangani pesan PUBLISH dan SUBSCRIBE dengan nama pahomqtt. Jadi setelah berhasil mempelajari dasar-dasar python tidak lama kemudian saya berhasil menguasai pahomqtt seperti script berikut ini :

import paho.mqtt.client as mqtt #import lib mqtt

led = 0
segmen = 0

############jika ada mqtt yg di sub masuk#########
def on_message(client, userdata, message): 
    print("message received " ,str(message.payload.decode("utf-8")))
    print("message topic=",message.topic)
    print("message qos=",message.qos)
    print("message retain flag=",message.retain)
    global led
    global segmen
    client.publish("/test/seg","SEG"+ str(segmen)) 
    print("Publishing message to topic LED & 7 SEG")    
    print("7 SEGMEN : " + str(segmen))
    segmen+=1
    if segmen == 10:
       segmen = 0
    if led == 0:    
       print("LED ON")
       client.publish("/test/led","ON")
       led = 1
    else :    
       print("LED OFF")   
       client.publish("/test/led","OFF")
       led = 0
    print('')
    print('')
########################################
broker_address="soldier.cloudmqtt.com"
broker_port=146xx
broker_user="xxxxxx"
broker_pass="xxxxxx"
print("creating new instance")
client = mqtt.Client("P1") #create new instance
client.on_message=on_message #attach function to callback
client.username_pw_set(broker_user,broker_pass)
print("connecting to broker")
client.connect(broker_address,broker_port) #connect to broker
#start the loop
print("Subscribing to topic","/test/DHT")
client.subscribe("/test/DHT")
client.loop_forever()




Script diatas merupakan koding python yg akan men SUB topik /test/DHT dan kemudian akan melakukan PUB terhadap LED dan 7 Segmen. oo iya jangan salah paham ya script python nya saya jalankan di PC yg terhubung ke internet bukan di ARDUINO.


PYTHON + MONGODB


Database umum yg digunakan saat ini pasti gak jauh dari SQL deh...tapi saya menemukan yg lebih simple dan ada GRATISAN nya yaitu MONGODB . Benar saja mongodb mungkin masih awam ditelinga orang tapi diluar sana bisa dilihat penggunaan mongobd cukup intensif mungkin dikarenakan karena data IOT yg bersifat tidak atau cenderung kurang relational dan tentunya datanya sederhana. Untuk itu kita bisa menggunakan mongodb gratis dengan nama MONGODB ATLAS dan bersifat cloud based.





Jika anda pengguna SQL maka record dan field pada mongodb diistilahkan sebagai collection . Python sendiri tidak mempunyai fasilitas khusus untuk mongodb sehingga dibutuhkan library PYMONGO sebagai bahasa dasar untuk simpan-hapus-filter-update database. Secara singkat hasil pembelajaran saya membaca suhu dan kemudian menyimpannya pada MONGODB seperti script berikut ini :


import paho.mqtt.client as mqtt #import the client1
import pymongo
import json
from datetime import datetime


myclient = pymongo.MongoClient("mongodb+srv://user:pwd@cluster0-jb06l.mongodb.net/test?retryWrites=true&w=majority")
mydb = myclient["humitemp"]
mycol = mydb["data_humitemp"]

##########simpan DB###########
def save_db(isi):
    dateTimeObj = datetime.now()
    print('')   
    print("<===SAVE TO MONGODB===>")
    print(dateTimeObj)
    x=json.loads(isi)
    y={"waktu":dateTimeObj , "suhu": x["suhu"]  , "humi": x["humi"]  }
    z = mycol.insert_one(y)
   #print list of the _id values of the inserted documents:
    print("database masuk dengan id : ")
    print(z.inserted_id)
    print("========================")
    print('')
###############BACA SUB MESSAGE#################
def on_message(client, userdata, message):
    print("message received " ,str(message.payload.decode("utf-8")))
    print("message topic=",message.topic)
    print("message qos=",message.qos)
    print("message retain flag=",message.retain)
    save_db(str(message.payload.decode("utf-8")))
   
################################
broker_address="soldier.cloudmqtt.com"
broker_port=146xx
broker_user="xxxx"
broker_pass="xxxxxx"
print("creating new instance")
client = mqtt.Client("P1") #create new instance
client.on_message=on_message #attach function to callback
client.username_pw_set(broker_user,broker_pass)
print("connecting to broker")
client.connect(broker_address,broker_port) #connect to broker
 #start the loop
print("Subscribing to topic","/test/DHT")
client.subscribe("/test/DHT")
client.loop_forever()


Hasilnya tidak mengecewakan pada MONGODB atlas karena ada fasilitas report CHART grafik sehingga sangat menyingkat waktu coding



Yang menjadi titik menariknya adalah data GEOSPATIAL juga bisa ditampilkan melalui MONGODB ATLAS.



Nanti deh kita bahas kapan-kapan setelah pembaca mahir di PYTHON vs ARDUINO...selamat mumet kawan...
Share:

Sabtu, 26 Oktober 2019

Nusantara HD - Unboxing Receiver PayTV Murah Dari Tanaka - Transvision




Sekitar awal 2018 dunia parabola mini kedatangan era siaran HD dengan munculnya produk refurbish dari Transvision dengan nama Rexana. Kenapa refurbish ? Ya memang receiver samsung yg digunakan adalah rekondisi ( baru di gudang) dari rx yg belum dipasang oleh transvision. Senangnya para pengguna parabola mini se nusantara bisa menikmati siaran HD yg super jernih , sampai rekan dari jiran malaysia pun ada yg memasang karena satelitnya tidak bergeser dari measat ( sama dengan satelitnya astro jadi bisa menggunakan parabola mini astro dan aman dari sweeping petugas di malaysia).


Dengan harga rx samsung transvision yg lumayan mahal, maka MMP kemudian TANAKA melakukan terobosan dengan melakukan refurbish rx skyworth bekas Telkomvision menjadi paket mitra/nusantara SD. Dan dengan semakin "GILA" nya perang TV LOKAL menjadi FREE TO VIEW yg dipelopori oleh MNC group, maka makin banyak orang yg butuh receiver semacam ini. Oktober 2019 Tanaka berhasil mengikat kerjasama dengan TRANSVISION untuk membeli haksiar siaran nya untuk 100 ch dengan nama NUSANTARA HD. Ayo kita unboxing yuk apa aja yg didapat dari receiver baru ini...

ISI BOX

Sangat standar bahkan mengecewakan karena tulisan di BOX terang benderang ditulis 4K HD , tapi kabel yg dikasikan hanya RCA composite, sangat IRONI apa mereka tidak paham mengenai High Definition ? Atau menekan harga semata?

TAMPILAN AWAL


Jadi bila ingin menikmati HD yg sebenarnya gunakanlah kabel HDMI..hehehe...

TAMPILAN DEPAN STB


Standar TANAKA .. yg pernah main main TOPAS pasti merasa rx ini mirip cuman plastiknya  terkesan ringkih. Apalagi remotenya yg sangat terlihat "murahan".

AKTIVASI LEWAT APP


Jangan lupa menginstal aplikasi TANAKA VOUCHER di android kalian sebelum aktivasi perangkat. 2 kode yg dibutuhkan adalah chip ID dan kode gesek yg ada di dekat kabel antena. Bisa juga aktivasi menggunakan SMS/WA tapi kalau pake APP bisa dapat kredit 25.000, lumayan buat isi paket termurah 5000.


TAMPILAN DI TV





Lumayan jernih di LED 32 inch apalagi HD nya transvision terkenal terbaik dikelasnya

MENU BISA TAMBAH TP NGGAK?






Aman terkendali untuk tambah SAT dan TP, jadi receiver Nusantara HD seperti halnya TOPAS TANAKA yg berchipset GUOXIN jadi dapat dihandalkan untuk cari satelit FTA. Apa support acakan BISS atau PVU ? Kayaknya dikunci deh dan ngapain juga HBO nya murah sebulan 75 ribu saja dan 100ch sudah membuat lupa waktu karena nonton terus.

KUALITAS HD


Tidak disangsikan lagi sangat BENING untuk kualitas HD 1080 i nya. Saya sebelumnya menggunakan Ninmedia-TiviPlus di siaran tvN 720p dengan TV yg sama terasa perbedaan kehalusan sudut gambar dan detailnya

SIARAN DAN HARGA PAKET

Sayangnya bagi pecinta anime kurang didukung oleh RX ini karena animax dan aniplus tidak termasuk dalam channel list, begitu pula dengan CNN intl , E , DIVA, History Channel[V} dan NAT GEO. Jadi diutamakan untuk pecinta HBO FOX DISNEY NICK dan Korea. Jadi bisa dihandalkan juga. Dari dealer menjelaskan kalau paket lokalnya cuman 1 tahun dan bisa diperpanjang dengan membeli paket apa saja bisa yg  termurah (paket Pria) seharga 5000 dan sudah terbuka semua siaran lokalnya .

Untuk susunan siaran butuh disusun manual dan menghapus siaran yg tidak termasuk paket. 


OVERALL

Dengan skala 0 -10 maka review saya :

Kualitas RX = 5
Kualitas Siaran = 8


Ayo dicoba dan dapatkan kepuasan nonton siaran HD
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 (25) 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 (5) 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 (17) 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