5 Projek IoT Guna Pressure Transmitter BX-PTC101, Mini PC, AWS & Linux

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.

Leave a Comment