Setup Asas: Kenapa BX-PTC101?
Sensor ni output 4-20mA, supply voltage sampai 5-36VDC, accuracy ±0.5%FS, response time bawah 2ms. IP65. Working temperature -40 hingga 85°C. Sesuai untuk environment yang kasar, bukan sekadar lab bersih.
Aku guna Mini PC (bukan Raspberry Pi) sebab lebih senang nak run Linux full-stack, Docker, dan AWS CLI terus tanpa banyak workaround. Contoh: Beelink Mini S12, MINISFORUM, atau N100 series pun cukup.
Wiring Asas Sensor ke Mini PC
Output 4-20mA dari BX-PTC101 perlu ADC converter untuk masuk ke Mini PC. Guna modul USB-to-ADC (contoh: ADS1115 via USB breakout, atau DAQ module macam Labjack U3).
Sensor (4-20mA) → Shunt resistor 250Ω → 1-5V → ADC module → USB → Mini PC (Linux)
Formula mudah: Voltage = Current × Resistance. 4mA × 250Ω = 1V, 20mA × 250Ω = 5V. Map nilai tu ke pressure range sensor.
Projek 1: Monitor Tekanan Sistem Hydraulik Industri
Sistem hydraulik kat kilang selalu ada titik kritikal yang kalau tekanan drop atau spike, boleh rosakkan equipment. Set threshold alert terus dari sensor.
Stack
- BX-PTC101 (range 0-550bar) wired ke Mini PC
- Python script baca nilai ADC tiap 1 saat
- Publish ke AWS IoT Core via MQTT
- AWS Lambda process data, trigger SNS kalau tekanan luar range
import paho.mqtt.client as mqtt
import time
BROKER = "your-endpoint.iot.ap-southeast-1.amazonaws.com"
TOPIC = "hydraulic/pressure"
client = mqtt.Client()
client.tls_set(ca_certs="root-CA.crt", certfile="device.crt", keyfile="device.key")
client.connect(BROKER, 8883)
while True:
pressure = read_adc() # function ko sendiri
client.publish(TOPIC, payload=f'{{"pressure": {pressure}}}')
time.sleep(1)
Lambda boleh forward alert ke Slack atau email via SNS. Simple tapi effective untuk preventive maintenance.
Projek 2: Monitor Tekanan Air HVAC Building
HVAC system perlukan tekanan air dalam range tertentu. Kalau terlalu rendah, chiller tak sejuk. Kalau terlalu tinggi, pipe boleh burst.
Stack
- BX-PTC101 (range 0-16bar) di setiap pump outlet
- Mini PC run Telegraf agent, collect readings
- Push ke InfluxDB kat AWS EC2
- Grafana untuk dashboard
# telegraf.conf (excerpt)
[[inputs.exec]]
commands = ["/usr/local/bin/read_pressure.py"]
timeout = "5s"
data_format = "influx"
[[outputs.influxdb_v2]]
urls = ["http://your-ec2-ip:8086"]
token = "your-token"
org = "your-org"
bucket = "hvac"
Grafana set alert kalau pressure keluar band. Boleh dashboard multi-sensor serentak, semua dalam satu view.
Projek 3: Quality Control Tekanan Tyre Kat Lini Pengeluaran
Kilang automotive perlu verify tekanan tayar sebelum kenderaan keluar lini. Manual check lambat dan boleh miss. Automate dengan sensor ni.
Stack
- BX-PTC101 connect ke air inflation station
- Mini PC run Node-RED untuk logic flow
- Result pass/fail log ke AWS DynamoDB
- Dashboard operator guna simple web app kat EC2
# Node-RED HTTP request node config (simplified)
POST https://your-api-id.execute-api.ap-southeast-1.amazonaws.com/prod/qc
Body: { "unit_id": "VH-0042", "pressure": 32.5, "status": "PASS" }
API Gateway → Lambda → DynamoDB. Setiap unit ada record. Boleh generate report harian automatik.
Projek 4: Monitor Tekanan Gas Refrigerant Cold Storage
Leak refrigerant dalam cold storage boleh buat temperature naik dan rosak produk. Pressure drop mendadak biasanya tanda awal leak.
Stack
- BX-PTC101 (negative range, -1 hingga 1bar) kat suction line
- Mini PC run Python daemon dengan systemd
- Alert via AWS SNS kalau pressure drop luar normal pattern
- Log semua data ke S3 untuk compliance record
# /etc/systemd/system/pressure-monitor.service
[Unit]
Description=Pressure Monitor Daemon
After=network.target
[Service]
ExecStart=/usr/bin/python3 /opt/monitor/main.py
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.target
sudo systemctl enable pressure-monitor
sudo systemctl start pressure-monitor
Dengan systemd, kalau Mini PC restart pun, script naik balik automatik. S3 log boleh query guna Athena kalau perlu audit trail.
Projek 5: Predictive Maintenance Compressor Kilang
Compressor yang nak rosak biasanya tunjuk pattern tekanan tak stabil, slow rise, atau tak boleh capai rated pressure. Detect awal sebelum breakdown.
Stack
- BX-PTC101 kat outlet compressor
- Mini PC collect data setiap 100ms (high frequency)
- Stream ke AWS Kinesis Data Streams
- AWS SageMaker model detect anomali (atau pakai rule-based dulu kalau nak simple)
- Alert maintenance team bila score anomali tinggi
import boto3
import json
import time
kinesis = boto3.client('kinesis', region_name='ap-southeast-1')
while True:
pressure = read_adc()
kinesis.put_record(
StreamName='compressor-pressure',
Data=json.dumps({"ts": time.time(), "pressure": pressure}),
PartitionKey="compressor-01"
)
time.sleep(0.1)
Rule-based dulu: kalau std deviation dalam 60 saat melebihi threshold, flag sebagai anomali. Bila dah ada enough data, baru train ML model kat SageMaker.
Tips Praktikal
- Guna shielded cable untuk 4-20mA line, terutama kalau run panjang atau near high-voltage equipment.
- BX-PTC101 ada overload capacity 2-4x rated pressure. Tapi jangan biar overload jadi normal, sensor masih boleh drift lama-lama.
- Mini PC setup headless Linux (Ubuntu Server atau Debian). Tak perlu GUI. Jimat resource.
- Semua credential AWS jangan hardcode. Guna environment variable atau AWS IAM role kalau boleh.
- Test sensor accuracy dengan pressure reference sebelum deploy. ±0.5%FS tu cukup bagus tapi baseline kena betul.
Penutup Teknikal
Kelima-lima projek ni guna pattern yang sama: sensor → ADC → Mini PC (Linux) → AWS. Yang berbeza cuma scale, frequency, dan apa yang ko buat dengan data tu kat cloud.
BX-PTC101 ni industrial-grade. Spec dia cukup untuk kebanyakan use case. Yang penting, kita pilih pressure range dan output signal yang sesuai masa order sebab sensor ni ada banyak variant.