Python of Things : Using Python for creating the Whole IoT System from Node to Web.

By Melki Mario Gulo

Elevator Pitch

Perkembangan teknologi IoT Semakin meningkat di era revolusi industri 4.0 terlebih di era 5G yang akan datang . Python memiliki role besar dalam perkembangan IoT Karena dapat digunakan pada sistem IoT dari hulu hingga hilir. Maka dari itu dengan menguasai python semua orang bisa membuat IoT sendiri.

Description

Latar Belakang

Pada era revolusi industri 4.0 terjadi perkembangan teknologi besar-besaran, salah satunya adalah internet. Internet yang jaman sebelumnya hanya digunakan untuk kebutuhan formal pada era ini internet sudah digunakan pada sektor informal dan meluas. Perkembangan penggunaan internet pada era Revolusi Industri 4.0 ini didukung dengan perkembangan teknologi telekomunikasi yang sudah mencapai generasi ke-5. Dengan teknologi 5G ini kedepannya dan mulai dari sekarang internet tidak hanya digunakan untuk keperluan komunikasi antar manusia tetapi juga digunakan untuk komunikasi antar mesin maupun manusia dengan mesin. Mesin yang dimaksudkan adalah benda-benda elektronik di sekitar kita. Komunikasi antara manusia dan mesin melalui internet sering disebut dengan IoT.

IoT merupakan sebuah sistem dimana “things” atau benda-benda yang disekitar kita dapat berinteraksi dengan kita sebagai user melalui internet. Teknologi IoT pada era ini sangat berkembang terbukti dari hasil riset yang diadakan oleh website iot-analytics.com mengenai total pengeluaran perusahaan untuk IoT di seluruh dunia mengalami peningkatan tiap tahun grafik berikut.

hasil riset

Dari chart riset di atas tercatat bahwa pada tahun 2021 ini pengeluaran perusahaan di seluruh dunia untuk IoT mengalami peningkatan sebanyak 24% dari tahun lalu dan diprediksi akan meningkat setiap tahun seiring dengan berkembangnya teknologi ini.

Selain riset di atas terdapat riset dari mckinsey.com yang menyebutkan bahwa,
> ” Globally, an estimated 127 new devices connect to the Internet every second. A report from the McKinsey Global Institute estimates that the IoT could have an annual economic impact of $3.9 trillion to $11.1 trillion by 2025 across many different settings, including factories, cities, retail environments, and the human body “

Dari pernyataan tersebut, kita dapat memahami bahwa penggunaan IoT semakin banyak dan populer dilihat dari penambahan sekitar 127 device IoT baru yang terkoneksi ke internet setiap detik. Hal ini tentu saja menjadi peluang baik bagi kita untuk turut serta dalam mengembangkan product IoT.

IoT merupakan sebuah sistem yang terdiri dari beberapa teknologi yang di wrap menjadi satu. Menurut avsystem.com , teknologi yang digunakan untuk membuat sistem IoT terdiri dari iot stack
Ke-empat teknologi di atas saling melengkapi dan terkait satu sama lain. Apabila salah satu dari ke-empat teknologi tersebut tidak ada maka sistem yang dibuat tidak bisa dikatakan sebagai sistem IoT. Dalam mengembangkan sistem IoT dengan teknologi yang bermacam-macam tentu saja membuat rumit sistem ini untuk di implementasikan. Mulai dari device hardware hingga platform memiliki arsitektur bahkan pada communication technology memiliki protokol yang berbeda-beda. Dengan demikian biasanya dalam sebuah tim pengembangan IoT untuk menangani salah satu teknologinya seperti device software saja terdapat beberapa orang dengan latar belakang dan keahlian bahasa pemrograman yang berbeda.

Namun meski demikian, terdapat sebuah cara dan solusi untuk membuat sebuah sistem IoT menggunakan Python untuk sebagian besar prosesnya. Penggunaan python untuk IoT memungkinkan untuk dilakukan dan diimplementasikan mulai dari device software (pemrograman low level) hingga ke platform (pemrograman high level). Python dapat diimplementasikan pada node hardware menggunakan micropython. Lalu untuk proses backend banyak library yang dapat digunakan sesuai dengan kebutuhan sistem IoT. Dan untuk sisi user interface python dapat digunakan untuk membuat website, aplikasi desktop, maupun aplikasi berbasis android.

Pada presentasi ini akan dijelaskan mengenai pembuatan sebuah sistem IoT untuk keperluan di berbagai bidang menggunakan python untuk segala jenis prosesnya. Diharapkan setelah mendapatkan materi ini peserta dapat mengimplementasikan python pada IoT sehingga tidak perlu untuk bingung dalam memulai tahap pengembangan product IoT jika hanya menguasai 1 bahasa pemrograman saja yaitu python.

Notes

Penjelasan Lebih Lanjut dan Teknikal

Pada bagian ini akan dijelaskan mengenai penjelasan teknikal mengenai materi yang dibawakan. Pertama-tama terdapat tujuan yang ingin dicapai pada penyampaian materi ini yaitu:
- Pemahaman mengenai sistem IoT.
- Peran python dalam dunia IoT.
- Menjelaskan implementasi python untuk memprogram perangkat IoT.
- Menjelaskan implementasi python sebagai concentrator di sisi server IoT.
- Menjelaskan implementasi python sebagai user interface sistem IoT.

Dari beberapa tujuan di atas secara teknis saya akan menjelaskan mengenai: - implementasi micropython di node IoT (ESP-8266/ESP-32).
- implementasi protocol mosquitto pada python.
- implementasi logging data di database postgresql dengan library psycopg2 pada python.
- implementasi transaksi data dari concentrator ke user interface menggunakan websocket.
- implementasi user interface sistem IoT menggunakan flask.
- implementasi pembuatan API untuk sistem IoT menggunakan flask.

Dalam membahas materi ini saya akan menekankan pada pembahasan konsep dan teknologi serta kode yang minim sehingga diharapkan peserta mendapatkan konsep dan cara mengimplementasikan python pada sistem IoT. Untuk pembahasan kode lebih lanjut apabila waktu yang diberikan tidak cukup, akan disertakan link git yang berisi mengenai pembahasan dan penggunaan dari sistem IoT yang dibuat dengan python.

Latar Belakang Pemateri

Saya bernama Melki Mario Gulo. Pada saat ini saya bekerja sebagai IoT Engineer di perusahaan bernama monster group. Selain bekerja sebagai IoT Engineer saya sedang melaksanakan studi pascasarjana di Politeknik Elektronika Negeri Surabaya dan mengambil jurusan Teknik Informatika dan Komputer dengan penjurusan telekomunikasi. Saya memiliki 2 buah bidang riset yaitu IoT dan Modulasi Sinyal Telekomunikasi. Dari kedua bidang riset tersebut saya memiliki paper yang sudah diterbitkan di jurnal yaitu:
- Implementasi FOG Computing pada Aplikasi Smart Home Berbasis Internet of Things
- Evaluasi Penerapan Algoritma Neural Network Sebagai Teknik Reduksi PAPR Pada Sistem OFDM

Dari kedua paper diatas dalam melakukan penelitian saya banyak menggunakan python.

Saya tertarik menjelaskan materi mengenai penggunaan python untuk membangun sebagian besar sistem IoT dikarenakan saya ingin sharing mengenai mudahnya development IoT hanya dengan menggunakan python. Karena hal sistem IoT dengan python sudah saya gunakan dan berhasil untuk projek-projek IoT saya semenjak tahun 2017. Selama 4 tahun di dunia IoT saya sudah mengerjakan kurang lebih 25 project IoT baik riset maupun profesional dengan instansi dan pribadi. Projek-projek saya dapat dilihat pada github dan linkedin saya. Selain itu saya merasa sanggup membawakan materi ini dikarenakan saya terbiasa mengajar sebagai tutor untuk bidang IoT di tutorteknik.com. Dari platform tersebut saya sudah mengadakan kurang lebih 5 workshop mengenai IoT. Dan juga saya sangat ingin memberikan bestpath dalam melakukan development IoT baik untuk project pribadi maupun industri.