Internet of Things (IoT) terus berkembang dengan cepat dan semakin mudah diakses. Perangkat seperti sensor, aktuator, dan mikrokontroler kini dapat terhubung ke internet dengan biaya yang murah. Namun, ada satu perangkat yang sering terlupakan padahal hampir dimiliki setiap orang: smartphone Android. Dengan bantuan aplikasi Termux, sebuah HP Android dapat diubah menjadi stasiun IoT mini yang mampu bertindak sebagai server, gateway, atau pusat pengendalian berbagai perangkat IoT.
Artikel ini membahas bagaimana menggunakan Termux sebagai pusat IoT kecil, lengkap dengan penjelasan konsep, alat yang diperlukan, contoh implementasi, serta potensi penggunaan di dunia nyata.
Apa Itu Termux dan Mengapa Cocok untuk IoT ??
Termux adalah terminal Linux yang berjalan di atas Android. Tidak memerlukan root, Termux memungkinkan penggunanya menjalankan berbagai utilitas Linux, Python, Node.js, SSH, MQTT client, web server, dan lain-lain. Ini membuka kemungkinan untuk :
- Menjalankan server IoT berbasis MQTT atau HTTP.
- Memproses data sensor yang dikirim dari perangkat seperti NodeMCU atau ESP32.
- Mengendalikan perangkat IoT langsung dari smartphone.
- Menjadikan HP sebagai gateway antara WiFi, Bluetooth, dan internet.
- Menyimpan log data seperti suhu, kelembapan, atau konsumsi daya.
Keunggulan utama Termux untuk IoT adalah :
- Selalu aktif (Android hidup sepanjang waktu).
- Energi efisien—lebih hemat dari Raspberry Pi.
- Portabel—bisa ditaruh di mana saja.
- Murah—hanya memanfaatkan HP lama yang tidak terpakai.
- Kaya fitur jaringan—WiFi, Bluetooth, hotspot, bahkan data seluler.
Hal ini membuat Termux sangat menarik sebagai solusi IoT kecil yang fleksibel dan ekonomis.
Persiapan Awal di Termux
Sebelum membuat stasiun IoT, perlu menginstal beberapa paket dasar.
Update & Upgrade
pkg update && pkg upgrade -y
Instal Bahasa Pemrograman
Contoh : Python dan Node.js.
pkg install python -y pkg install nodejs -y
Instal Mosquitto (MQTT Broker / Client)
MQTT adalah protokol ringan yang banyak dipakai di dunia IoT.
pkg install mosquitto -y
Buat Direktori Proyek
mkdir ~/iot-station
cd ~/iot-station
Setelah ini, HP sudah siap menjadi stasiun IoT mini.
Menggunakan Termux sebagai MQTT Broker
Salah satu peran paling penting dari stasiun IoT adalah sebagai MQTT broker. Broker adalah “pusat komunikasi” yang membuat perangkat IoT bisa saling mengirim pesan.
Menjalankan Broker MQTT
mosquitto -p 1883
Sekarang HP Android telah menjadi server MQTT penuh.
Menggunakan Mosquitto Client
Subscribe :
mosquitto_sub -t sensor/suhu
Publish:
mosquitto_pub -t sensor/suhu -m "25.1"
Jika ada perangkat IoT (ESP8266/ESP32) mengirim suhu, Termux akan menerima datanya secara real-time.
Menghubungkan Perangkat IoT seperti ESP32 / ESP8266
Perangkat seperti ESP8266 dan ESP32 umumnya digunakan untuk sensor IoT. Mereka dapat mengirim data ke broker MQTT di HP Android.
Contoh Kode ESP8266 untuk Mengirim Data ke Termux :
#include <ESP8266WiFi.h>
#include <PubSubClient.h>
const char* ssid = "WIFI_KAMU";
const char* password = "PASSWORD";
const char* mqtt_server = "IP_ANDROID_KAMU"; // contoh: 192.168.1.5
WiFiClient espClient;
PubSubClient client(espClient);
void setup() {
Serial.begin(115200);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) delay(500);
client.setServer(mqtt_server, 1883);
}
void loop() {
if (!client.connected()) {
while (!client.connected()) {
client.connect("ESP8266Client");
}
}
String suhu = "24.5";
client.publish("sensor/suhu", suhu.c_str());
delay(5000);
}
Setiap 5 detik, perangkat akan mengirim suhu ke Termux.
Memproses Data Sensor di Termux (Python)
Termux dapat memproses data yang masuk, misalnya menyimpan log atau melakukan analisis sederhana.
Contoh Script Python MQTT Listener
import paho.mqtt.client as mqtt
def on_message(client, userdata, msg):
data = msg.payload.decode()
print(f"Data diterima: {data}")
with open("log_suhu.txt", "a") as f:
f.write(data + "\n")
client = mqtt.Client()
client.connect("localhost", 1883, 60)
client.subscribe("sensor/suhu")
client.on_message = on_message
client.loop_forever()
Jalankan :
python3 listener.py
File log_suhu.txt akan berisi data suhu setiap kali diterima.