Agriculture
ธุรกิจเกษตรมีความซับซ้อนที่ข้อมูลกระจายอยู่ใน 3 ส่วน: ไร่/สวน (IoT + แรงงาน), ตลาด (ราคา + คำสั่งซื้อ), และ supply chain (logistics + คุณภาพ) PBCP รวม events จากทั้ง 3 ส่วนไว้ใน Crop Story และ Farm Story เดียวกัน
Business problems solved
| ปัญหา | PBCP แก้อย่างไร |
|---|---|
| ไม่รู้ว่าแปลงนี้ผลผลิตดีหรือแย่กว่าปีที่แล้ว | Crop Story → yield history per plot per season |
| ดูแล sensor หลายร้อยตัวไม่ไหว | IoT event stream → anomaly detection → alert |
| ราคาตลาดวันนี้เท่าไหร่ ควรขายหรือเก็บ | Market Intelligence → ราคาเฉลี่ย + แนวโน้ม + recommend |
| ผลผลิตล็อตนี้ส่งไปที่ไหน คุณภาพผ่านไหม | Harvest Story → traceability ตั้งแต่แปลงถึงผู้ซื้อ |
| เกษตรกรรายย่อยเข้าถึงสินเชื่อยาก | Farm Context → track record ผลผลิต → credit scoring |
Story types
Farm Story
ฟาร์มนี้มีแปลงกี่แปลง ปีที่แล้ว yield เฉลี่ยเท่าไหร่
Crop Story
พืชล็อตนี้ปลูกเมื่อไหร่ ใส่ปุ๋ยอะไร เก็บเกี่ยวได้เท่าไหร่
Harvest Story
ล็อตนี้ส่งให้ใคร ราคาเท่าไหร่ คุณภาพผ่านมาตรฐานไหม
IoT Story
เซ็นเซอร์แปลงนี้อ่านค่าปกติไหม มีช่วงไหนน้ำน้อยหรือมากเกิน
Key events
| Event | actor.type | เกิดเมื่อ |
|---|---|---|
farm.registered | system | ลงทะเบียนฟาร์มใหม่ในระบบ |
plot.created | farmer | เพิ่มแปลงใหม่ พร้อม GPS boundary |
crop.planted | farmer | เริ่มปลูก ระบุพืช สายพันธุ์ พื้นที่ |
crop.fertilized | farmer | ใส่ปุ๋ย (ชนิด + ปริมาณ + วิธี) |
crop.irrigated | farmer / device | รดน้ำ (manual หรือระบบอัตโนมัติ) |
crop.sprayed | farmer | ฉีดยา (ชนิด + ปริมาณ + เหตุผล) |
crop.disease_detected | farmer / system | พบโรคหรือแมลง |
crop.disease_treated | farmer | ทำการรักษา |
sensor.reading | device | IoT อ่านค่า (soil moisture, temp, pH, humidity) |
sensor.alert | system | ค่า sensor เกิน threshold → แจ้งเตือน |
weather.event | system | ฝนตกหนัก, แล้ง, พายุ — จาก weather API |
crop.harvest_started | farmer | เริ่มเก็บเกี่ยว |
crop.harvested | farmer | เก็บเกี่ยวเสร็จ ระบุ yield (กิโลกรัม) |
harvest.quality_checked | staff / buyer | ตรวจคุณภาพ ระบุ grade |
harvest.sold | farmer | ขาย ระบุผู้ซื้อ ราคา น้ำหนัก |
harvest.delivered | driver | ส่งถึงผู้ซื้อ / โรงงาน / ตลาด |
payment.received | system | ได้รับเงินจากการขาย |
loan.applied | farmer | ยื่นขอสินเชื่อ |
loan.approved | system | อนุมัติสินเชื่อ (อ้างอิง yield history) |
input.purchased | farmer | ซื้อปัจจัยการผลิต (เมล็ด, ปุ๋ย, ยา) |
certification.applied | farmer | ยื่นขอ GAP / Organic cert |
certification.approved | system | ได้รับ certification |
Intelligence use cases
| Use case | Signal | Action |
|---|---|---|
| Irrigation alert | sensor.reading soil_moisture < threshold | แจ้ง LINE: "แปลง A3 ดินแห้ง ควรรดน้ำ" |
| Harvest timing | Days since crop.planted + degree-day model | แนะนำช่วงเก็บเกี่ยวที่เหมาะสม |
| Disease early warning | อุณหภูมิ + ความชื้นสูง → high-risk pattern | แจ้งเตือนเกษตรกรตรวจแปลง |
| Market price alert | ราคาตลาดสูงกว่าค่าเฉลี่ย 15% | "วันนี้ราคามะนาวดี ควรขาย?" |
| Credit scoring | Yield history + on-time payment record | Bank ใช้ประเมินสินเชื่อ |
| Input optimization | ปริมาณปุ๋ย vs yield ย้อนหลัง | แนะนำ dosage ที่ efficient ที่สุด |
| Yield forecast | Weather + historical pattern + growth stage | ประมาณ yield ก่อนเก็บเกี่ยว 2 สัปดาห์ |
Crop story timeline
crop.planted → 15 มี.ค. (มะเขือเทศ พันธุ์ SVR, แปลง B2, 2 ไร่)
sensor.reading → ทุก 1 ชม. (soil_moisture, temp, humidity)
crop.irrigated → 17 มี.ค. (auto-irrigate, 450 ลิตร)
crop.fertilized → 25 มี.ค. (ปุ๋ยสูตร 15-15-15, 20 กก./ไร่)
weather.event → 2 เม.ย. (ฝนตกหนัก 85 mm — risk waterlogging)
sensor.alert → 2 เม.ย. (soil_moisture สูงเกิน threshold)
crop.disease_detected → 10 เม.ย. (เพลี้ยไฟ)
crop.disease_treated → 11 เม.ย. (ฉีดสารชีวภัณฑ์)
crop.harvest_started → 20 พ.ค.
crop.harvested → 22 พ.ค. (yield: 3,200 กก. / 2 ไร่ = 1,600 กก./ไร่)
harvest.quality_checked → 22 พ.ค. (grade A: 80%, grade B: 20%)
harvest.sold → 23 พ.ค. (ผู้ซื้อ: โรงงานแปรรูป, ราคา ฿18/กก.)
harvest.delivered → 24 พ.ค.
payment.received → 25 พ.ค. (฿57,600)
Gross margin: ฿57,600 − ต้นทุน ฿24,000 = ฿33,600 (58%)
Yield vs last season: +12% (จาก 1,430 → 1,600 กก./ไร่)IoT sensor context
PBCP รับ sensor.reading events ที่มีโครงสร้าง:
{
"eventName": "sensor.reading",
"actor": { "type": "device", "id": "sensor-B2-001" },
"payload": {
"plotId": "plot-B2",
"readings": {
"soil_moisture": 42.5,
"soil_temp": 28.3,
"air_temp": 33.1,
"humidity": 68,
"ph": 6.4,
"ec": 1.2
},
"unit": { "soil_moisture": "%", "temp": "°C", "ph": "pH", "ec": "dS/m" }
}
}Alert thresholds ตั้งได้ต่อ tenant ต่อ crop type — Intelligence trigger sensor.alert เมื่อค่าเกิน/ต่ำกว่า range
Farm-to-market traceability
ทุก harvest lot มี harvestId ที่ trace กลับได้ถึงแปลง → วันปลูก → input ที่ใช้ → เกษตรกร:
harvestId: HRV-20260522-B2
↑ plotId: plot-B2 (ฟาร์ม: สวนสมชาย จ.นครปฐม)
↑ crop.planted: 15 มี.ค.
↑ สายพันธุ์: SVR-tomato-001
↑ ปุ๋ย: input.purchased INP-0325
↑ ยา: ชีวภัณฑ์ INP-0411
harvest.quality_checked: grade A cert
harvest.sold → โรงงาน ABC จ.ราชบุรีผู้บริโภคสแกน QR code บนบรรจุภัณฑ์ → เห็นข้อมูลครบ