Memasuki dunia industri dan jaringan jarak jauh: LPWAN seperti LoRaWAN, Sigfox, dan NB-IoT, protokol industri Modbus dan OPC UA, dasar SCADA, serta praktik mengintegrasikan perangkat industrial ke ekosistem IoT modern.

Dunia IoT tidak berhenti di smart home. Bagian terbesar nilai pasar justru ada di industri: pabrik, jaringan listrik, air, minyak & gas, dan smart city. Di sinilah LPWAN untuk sensor tersebar dan protokol industri untuk mesin-mesin tua bertemu.
Mengapa topik ini penting? Karena dua dunia yang harus kalian hubungkan — perangkat konsumen (MQTT, WiFi) dan perangkat industri (Modbus, OPC UA, SCADA) — punya bahasa dan budaya berbeda. IoT Engineer yang bisa menjembatani keduanya adalah yang paling dicari di sektor industrial.
LPWAN (Low-Power Wide-Area Network) adalah keluarga teknologi untuk perangkat hemat daya dengan jangkauan sangat jauh. Tiga pemain utama:
| Teknologi | Frekuensi | Jangkauan | Payload | Model Jaringan |
|---|---|---|---|---|
| LoRaWAN | 868/915 MHz (unlicensed) | 2–15 km | ≤ 222 byte | Gateway → Network Server |
| Sigfox | Sub-GHz (unlicensed) | 10–50 km | 12 byte/uplink | Sigfox Cloud |
| NB-IoT | LTE licensed | 1–10 km | Lebih besar | Operator seluler |
Pola penggunaannya nyaris sama: perangkat bangun, kirim beberapa byte, tidur berbulan-bulan. Perbedaan kuncinya pada regulasi dan operator: LoRaWAN dan Sigfox bisa dioperasikan sendiri/partner, NB-IoT lewat operator seluler.
Arsitektur LoRaWAN berbeda dari MQTT:
Perangkat tidak terhubung langsung ke cloud — ia berbicara ke gateway LoRa, yang meneruskan ke network server, lalu ke application server. Faktor utama yang harus dikonfigurasi saat join:
Data dikirim sebagai frame terenkripsi dua lapis (network + application). Konsumsi dayanya ekstrem kecil: perangkat mengirim 2x sehari bisa bertahan 5+ tahun dengan dua baterai AA.
Pabrik penuh mesin yang sudah beroperasi puluhan tahun — dan mereka "berbicara" dengan protokol industrial, bukan MQTT.
Modbus adalah protokol serial paling tersebar di industri — lahir 1979. Ia membaca/menulis register perangkat:
| Fungsi | Kode | Aksi |
|---|---|---|
| Read Holding Registers | 0x03 | Baca nilai (suhu, tekanan) |
| Write Single Coil | 0x05 | ON/OFF aktuator |
| Read Discrete Inputs | 0x02 | Baca status switch |
Di episode 14 kita sudah membaca Modbus lewat Python. Yang perlu diingat: Modbus adalah protokol request/response sederhana tanpa enkripsi — keamanan ditambahkan di lapisan jaringan, bukan protokolnya.
OPC UA (Unified Architecture) adalah standar modern pengganti: platform-independent, aman bawaan (sertifikat, enkripsi), dan punya model informasi ber-semantik. Mesin modern mengekspos data sebagai node dengan tipe dan metadata — bukan sekadar angka mentah.
Modbus: read register 0x03 → 265 (angka mentah, tanpa konteks)
OPC UA: node "Boiler1.Temperature" → { value: 87.4, unit: "C", status: "Good" }OPC UA menjadi tulang punggung Industrie 4.0 — standar komunikasi yang menghubungkan pabrik ke IT/cloud secara aman dan ber-semantik.
SCADA (Supervisory Control and Data Acquisition) adalah sistem yang mengontrol dan memantau proses industri dari pusat: sensor di lapangan → PLC → pusat kontrol. Komponennya:
| Komponen | Peran |
|---|---|
| RTU/PLC | Mengontrol perangkat di lapangan |
| HMI | Antarmuka operator (dashboard pabrik) |
| Historian | Database waktu-nyata riwayat proses |
| Communication | Modbus/OPC UA/DNP3 antar komponen |
Di dunia IoT modern, SCADA terhubung ke cloud IoT melalui gateway industri — dan di sinilah kalian masuk: menghubungkan data historian pabrik ke analitik modern (episode 12–13).
Note
Keselamatan industri bukan sekadar "best practice" — ini hukum. Sistem yang menyentuh proses berbahaya (tekanan tinggi, suhu ekstrem) diatur standar seperti IEC 61508. Jangan pernah menghubungkan kontrol proses ke internet tanpa pemisahan lapisan yang benar. IoT Engineer di pabrik bekerja pada lapisan monitoring, bukan pengganti kontrol keselamatan.
Kasus nyata: integrasi boiler pabrik dengan OPC UA ke cloud. Langkahnya:
asyncua di Python.import asyncio
import paho.mqtt.client as mqtt
from asyncua import Client
MQTT_HOST = "localhost"
OPC_URL = "opc.tcp://192.168.0.50:4840"
NODE_PATH = "ns=2;i=1001" # node suhu boiler
async def main():
mqttc = mqtt.Client()
mqttc.connect(MQTT_HOST, 1883)
async with Client(OPC_URL) as opc:
node = opc.get_node(NODE_PATH)
while True:
val = await node.read_value() # float suhu
mqttc.publish("factory/boiler/temperature",
f'{{"temp":{val}}}')
await asyncio.sleep(5)
asyncio.run(main())Gateway ini menjembatani dunia industri (OPC UA) ke dunia IoT (MQTT) — persis pola translasi protokol yang kita bahas di episode 14, hanya di level protokol industri.
Inti yang harus dibawa pulang:
Di episode 16 selanjutnya, kita akan memastikan semua yang dibangun benar-benar bekerja: IoT testing & simulation — strategi menguji perangkat, simulasi dan emulasi, test pyramid untuk firmware, plus praktik menguji sistem IoT kalian. Bug di produksi itu mahal; mari cegah di lab!