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 )
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 !
Jumat, 09 Agustus 2019
Menonton LIGA INGGRIS di TVRI Digital DVB T2 - UHF
Hebat juga nih gebrakan bapak dirut TVRI Helmi Yahya dengan hadirnya liga inggris di televisi ber "plat merah". Mungkin kalau dipikir sekaya apa sih TVRI hingga dapat membeli harga hak siar yg selangit dari sumber dana APBN pemerintah? Menurut penulis ini merupakan keahlian loby bapak dirut yg merupakan orang lama di dunia televisi, mulai dari menjadi pembatu ratu kuis jaman 80an ibu Ani Sumadi dengan kuis TVRI semacam aksara bermakna, siapa dia, berpacu dalam melodi dan yg paling saya ingat GITA REMAJA dengan host saudaranya bang helmi yaitu penyanyi country yg kelak menjadi dubes selandia baru Tantowi yahya. Bung helmi kemudian terkenal sebagai penggila NBA dan menjadi host acara NBA di SCTV di era 90an, dan kemudian di era 2000an bung helmi memiliki production house Triwarsana dengan tetap berfokus pada acara kuis dan variety show. Nah dari latar belakang pengalaman di dunia broadcasting inilah menjadikan bung helmi yahya dengan mudah meloby mola tv sebagai pemilik hak siar EPL 3 musim 2019-2021, untuk membagi hak siar 2 pertandingan liga inggris tiap pekan nya khusus lewat jalur teresterial / antena tulang ikan.
Lalu bagaimana untuk menonton liga inggris di TVRI bagi pengguna parabola? Nasib buruk menimpa para pengguna parabola jaring palapa karena dapat dipastikan TVRI tidak mendapatkan hak siar dan wajib melakukan enkripsi terhadap "sumber" siaran di satelit Palapa D. Dan tidak main - main MOLA mensyaratkan tvri melakukan enkripsi atau pengacakan sinyal menggunakan " ACAKAN MAUT " sehingga para penonton sepakbola yg biasa naik BIS sangat kecewa dan berbalik menghujat di medsos TVRI (sebelumnya TVRI dipuji karena berani menghadirkan EPL dan karena tvri selama ini hanya pake acakan BISS maka harapannya gampang dibuka). Mau gak mau pengguna parabola harus membeli paket MOLA TV melalui MATRIX GARUDA atau menggeser parabolanya ke Satelit Thaicom thailand atau satelit lainnya.
Waduhh siaran TVRI di rumah saya buram nih ! Semenjak TVRI surabaya mematikan transmisi VHF dan fokus di 26 UHF, TV saya gak pernah mendapatkan gambar yang jernih. Lhooo kan ada DIGITAL ? Aaaaa iya saya ambil lagi receiver digital DVB T2 yg saya beli di tahun 2012. Tidak terasa sudah lama ya saya membelinya dan debu di STB ini sangat tebal dan kusam, semuram progress migrasi Televisi Digital yang tidak pernah kelar dan menjadikan Indonesia sebagai satu satunya negara yang masih bertahan dengan TV teresterial ANALOG.
Gambar STB nya saya ambil saat masih kinclong aja ya biar gak terlalu baper...hehehe...nah mari kita lanjutkan pencarian TVRI DIGITAL di kota surabaya menggunakan antena kreasi anak-anak magang dari SMK 2 kediri, antena ini berupa log periodic antena yg polanya dapat diunduh di http://bit.do/log_period_antena_patern
1. Print pola pada kertas
2. Gunting pola kertas dan siapkan aluminium foil / seng bekas / plat nomor bekas. Gunting aluminium foil sesuai pola kertas tadi.
3. Buat dua buah elemen antena dan sisakan beberapa bagian yg terbuka logamnya untuk tempat terminal kabel coaxial
4. Rekatkan atau pasangkan aluminium foil tadi pada karton / kardus bekas / triplek seperti pada gambar berikut. Dapat menggunakan double tape atau isolasi bening.
5. Sambungkan kabel coaxial (serabut dan inti tembaga) pada elemen antena, jangan sampai tersambung / konslet antara serabut dan inti tembaga. Ikat dengan kawat agar kabel yang terasa kaku tidak bergerak sehingga tidak merobek aluminium foil.
6. Sambung konektor antena ke kabel coaxial dan cek siaran pada saluran TV analog.
7. Ambil SET TOP BOX digital DVBT2 dan lakukan scan pada saluran digital. Untuk surabaya pada bulan agustus 2019 terdapat 3 MUX tv digital yg aktif yaitu TVRI (35 UHF) TRANS (27 UHF) dan METRO TV (25 UHF)
8. Cek siaran TVRI NASIONAL dan TVRI SPORT HD , apabila masih mengalami break-up / seperti cd rusak lakukan perbaikan posisi antena sampai siaran jernih tanpa putus.
Bagaimana ? Sudah siapkah anda menonton Liga Inggris di TVRI dengan kualitas lebih jernih?
Selasa, 16 Juli 2019
Cara Bayar Tiviplus Melalui Aplikasi Kugo Ninmedia
Setelah 2 bulan masa trial siaran premium tiviplus di ninmedia, sejak 10 juli 2019 penikmat layanan tv parabola mini ninmedia kini dikenakan bayaran perbulan melalui system prabayar / voucher / topup seperti layaknya mengisi saldo pulsa HP. Bagaimana cara mengisi saldo dan mengaktifkan paketnya ? Ikuti langkah berikut
Pastikan aplikasi kugo anda telah terisi profil yg benar, dan receiver rekomendasi ninmedia yang anda gunakan sudah ter "Pairing" sehingga siaran Galaxy sudah bisa dibuka. Masih bingung cara pairing? bisa dibaca disini . Tekan tulisan " TOPUP " pada aplikasi ninmedia sampai muncul layar nominal topup.
Ketikkan jumlah rupiah yg akan di topup minimal 50rb dan maksimal 900rb.
Muncul layar invoice dan lanjut ke tombol bayar untuk menyelesaikan proses topup.
Dua pilihan cara bayar akan dimunculkan, tapi sebaiknya gunakan jalur Bank saja karena lebih gampang bisa lewat e-banking smartphone.
Selanjutnya kita akan memeperoleh nomer virtual account dari bank CIMB niaga / Doku . Lakukan transfer ke nomer yang tertera dan nominal yg sesuai invoice.
Gunakan cara transfer lewat ATM , E banking atau SMS banking. Jangan lupa transfer antar bank dikenakan biaya administrasi Rp. 6500 .
Dan kini saldo kugo akan bertambah sehingga bisa membeli paket TIVIPLUS. Cukup aktivasi salah satu paket seharga 20rb saja anda bisa mendapatkan paket komplit selama sebulan. Promo ini berlaku hanya di juli 2019.