เพิ่มประสิทธิภาพการขับขี่ Tesla ด้วย Observability Tools อย่าง Teslamate
กราบสวัสดีท่านผู้อ่านหลังจากที่ห่างหายไปนานกับการเขียน Blog กลับมาวันนี้มีเรื่องอยากที่จะเล่าให้ฟังหลังจากที่กระผมได้น้อน ‘เทสล่าโมเดลวาย’ มาครอบครองช่วงต้นมีนา 2023 และพึ่งจะได้ใช้เวลากับน้อนอย่างเต็มที่ช่วงสงกรานต์แบบเต็มที่ซักที
เปลี่ยนมาเป็นชาวอีวีเต็มตัว
ก่อนหน้านี้ผมสนใจเรื่องอีวีมาระยะหนึ่งโดยเห็นด้วยอย่างมากก..ถึงมากที่สุดกับการเปลี่ยนทิศทางของการใช้รถสันดาป (ICE) มาเป็นพลังงานทางเลือกเพราะว่าตอนเด็กๆตั้งแต่เรียนประถม มัธยม ไปมหาลัยต้องคลุกคลีกับป้ายรถเมล์แทบทุกวัน และรู้สึกได้ถึงคุณภาพชีวิตที่ต้องสูดดมกลิ่นของการเผาไหม้เชื้อเพลิงตลอดเวลาในชีวิตประจำวัน ถึงวันนี้หากเป็นส่วนหนึ่งที่ได้มีส่วนช่วยลดการปล่อยมลพิษทางอากาศโดยการเปลี่ยนผ่านเพื่อลดการใช้พลังทางเชื้อเพลิง (Fossil) ได้ก็ขอยอมเปลี่ยนแม้ว่าจะทำให้ต้องปรับเปลี่ยนพฤติกรรมการใช้รถอยู่มากก็ตาม และก็คงไม่กลับไปใช้รถ ICE อีกแล้ว
มีรถอีวีอีกมากมายหลายค่ายโดยเฉพาะค่ายจากประเทศจีนที่ตอบโจทย์เรื่องการใช้พลังงานทางเลือกได้อยู่มากมายหลายค่าย อีกทั้งยังมีความเร้าใจในด้านของราคาที่จับต้องได้ง่ายกว่าด้วย ก็ทำให้แอบหวั่นไหวอยู่บ้างช่วงที่เทสล่ายังไม่ได้เข้ามาทำตลาดแบบ Official ผมก็ไปแอบๆไปส่องอยู่หลายค่ายเหมือนกัน แต่อาจจะเป็นเพราะว่าเราสาย Tech เลยยังไม่ถูกจริตซะทีเดียวในด้านของ Software ที่มากับตัวรถ และต้องยอมรับว่าจากรีวิวของต่างประเทศ เทสล่าก็เป็นหนึ่งในตัวเลือกที่ดีพร้อมในทุกๆด้านจนทำให้ได้แต่เฝ้ารอการมาของเทสล่าในประเทศไทย
แล้วข่าวดีก็มาถึง เมื่อได้ข่าวว่าเทสล่าจะมาทำตลาดในประเทศไทย ผมนับวันรอ ตามข่าวอย่างต่อเนื่อง และตัดสินใจอย่างง่ายดายที่จะกดซื้อ ณ วันที่เทสล่าประกาศเปิดตัวและเปิดให้จองในช่วงเที่ยงๆของวันที่ 7 ธันวาคม 2565 ไปเลยละกัน ซึ่งนับเป็นการซื้อของออนไลน์ที่เร็วที่สุดและแพงที่สุดในชีวิตของผมเลยก็ว่าได้ แถมตอนจองเสร็จเจอเจ้าแม่นอะไรมาหลอกไรอีกก็ไม่รู้ คิดว่าโดนเล่นงานซะแล้ว แต่ไม่ใช่น้อนแค่มายินดีกับเราเฉยๆ
นอกไปจากนี้การซื้อรถคันนี้ยังตามไปด้วยความทุลักทุเลจนเรียกได้ว่าทุกอย่างแทบจะเป็นบริการตัวเองทั้งหมดเลยก็ว่าได้ แต่กระนั้นก็ดีด้วยความอยากได้อันเหลือล้นเลยอดทนไปเรื่อยๆจนผ่านทุกด่านมาจนได้ และเท่าที่ย้อนกลับมาดูก็ไม่แปลกใจเพราะว่าเป็นกันทั้งโลกกับการให้บริการแบบเทสล่าสไตล์ ผมอาจจะไม่ได้เล่าใน Blog นี้ให้ฟัง แต่สิ่งนึงที่อยากเล่าให้ฟังมากกว่าเลยคือการใช้งานกับรถคันนี้สไตล์แบบเดฟๆใช้งานเลยว่ามันตอบโจทย์มากน้อยแค่ไหน ..
ใช้งานรถแบบซอฟแวร์เอ็นจิเนีย
การใช้งานรถของผมจัดว่าอยู่ในขั้นที่เรียกว่าน้อยเลยก็ว่าได้ วันๆคือขับรถไปทำงาน และขับไปซื้อของใกล้ๆบ้านในช่วงวันหยุด และยิ่งช่วงทำงานจากที่บ้านด้วย น้อนจึงนอนนิ่งๆอยู่ที่บ้านซะมาก ด้วยความที่เราเป็น Developer เนี่ยแหละอาจจะไม่ได้ใช้รถไปไหนหนักๆแบบคนอื่นๆเค้า และรู้ว่าเจ้าเทสล่าเนี่ยมีของเจ๋งๆให้เล่นเยอะ มี API (แบบ Unofficial) ให้ใช้งานอยู่มากมาย ซึ่งมันเพียงพอที่จะทำให้รู้จักนิสัยและการทำงานและประสิทธิภาพของรถคันนี้อยู่พอสมควร
และแล้วก็มาเป็นเรื่องที่เป็นแรงบรรดาลใจที่อยากมานำเสนอผู้อ่านทุกท่านอันนึงเลยก็คือ Opensource ตัวนึงที่ชื่อว่า ‘Teslamate’ ครับ
Teslamate เป็นระบบ data logger ที่คอยช่วยเก็บ Matrics ของรถเทสล่าของเราครับ มันจะเก็บข้อมูลแทบทุกอย่าง ไม่ว่าจะเป็นข้อมูลแบตเตอรี่ ข้อมูลการขับขี่ สภาพแวดล้อมของการขับขี่ต่างๆทุกๆแง่มุมของตัวรถ แม้กระทั่งแอพของเทสล่าเองก็ตามก็ไม่ได้ให้ข้อมูลเหล่านี้กับเราในแอพ Offical ของเทสล่า เราต้องหาทางเก็บมันเอง ซึ่งข้อมูลเหล่ามีประโยชน์มากๆนะครับ ตัว Teslamate จะนำมา Visualize ออกมาให้เราเห็นภาพผ่าน Opensource อีกตัวคือ ‘Grafana’ ที่เราคุ้นเคยของพวกเราชาวเดฟนั่นเองครับ
ไม่ว่ารถจะจอดแช่อยู่หรือว่าขับไปไกลแสนไกลแค่ไหน Tesla เก็บข้อมูลทุกอย่างจากรถเราและจะมีสิ่งที่เรียกว่า Streaming API ที่คอยส่งข้อมูลทุกอย่างมาให้เราครับ และด้วยตัวสถาปัตยกรรมของ Teslamate เองมีการงานใช้ Message broker แบบ MQTT Protocol ที่นิยมมากๆในกลุ่มทำ Iot หรือการทำ Smart Home ต่างๆ โดยใช้ Opensource MQTT Broker ที่ชื่อว่า ‘Mosquitto’ ในการกระจายข้อมูลต่างๆเหล่านี้ให้อยู่ใน Topic ต่างๆ ซึ่งหากเราเป็น Developer ละต้องการนำข้อมูลไหนไปใช้งานก็เพียงแค่ Subscribe Topic ที่เราสนใจและนำไปต่อยอดได้ทันที
สำหรับ Metrics ที่ Teslamate นั้นช่วย Visualize ให้เราที่ผมคิดว่าเจ๋งๆเลยที่ค่อนข้างช่วยเราได้อย่างมากเลยมีดังนี้ครับ
- Battery Degradation / Health — สำหรับการคำนวนการเสื่อมของแบตเตอรี่นั้นจำเป็นจะต้องอาศัย Historical data จำนวนหนึ่งเพื่อคำนวนว่าหากมี State of charges (SOC) เต็มแล้วนั้น Capacity ของแบตหายไปจากเดิมเท่าไร เพื่อคำนวนเป็นสุขภาพของแบต State of health (SOH) เรานั้นเอง ซึ่ง Teslamate นั้นช่วยให้เราทราบและสบายใจกับการใช้งานรถของเราได้อีกด้วย
- Trip — การเดินทางกับรถคู่ใจของเรา นอกจาก Teslamate จะเก็บรายละเอียด Hardware ต่างๆของรถแล้ว มันยังแอบเก็บ Geolocation ของเราแทบทุกจุดที่เราวิ่งไปเลยครับ ผมเคยเจอว่าหน้าจอของรถไปอยู่กลางทะเลจีนใต้ ขณะที่อยู่ในอาคารจอดรถของ Central Rama 3 พอมีดูใน Teslamate ก็พบว่ามันเก็บว่ารถเราเหาะไปอยู่ตรงจุดนั้นมาด้วย ฮ่าๆ
- States — ข้อมูลสถานะของรถอันนี้ช่วยให้เรารู้จักน้องได้ดีมากๆครับ รู้ว่าน้อนตื่นนอนหรือว่าหลับไปตอนไหน ซึ่งพอเราเข้าใจ Lifecycle ของน้อนแล้วเราจะรู้ว่าน้องแอบทำอะไรบ้าง ซึ่งที่ผมเห็นมีจังหวะที่น้องตื่นมาเองโดยที่ไม่มีการใช้งานอะไรเลยไม่ว่าจะเป็นในรถหรือแอพ แต่น้องตื่นมาเพราะเทสล่าส่ง Software Update ตัวใหม่มา ทำให้น้องตื่น ฮ่าๆ
- Battery Level & Range / Charges — การบริโภคแบตเตอรี่เทียบกับระยะทางและการชาร์จ ช่วงสงการนต์ผมได้ขับไปกลับกรุงเทพหัวหินได้อย่างสบายๆใน 1ชาร์จ พอกลับมาดูอัตราการใช้งาน ผมสามารถขับในระยะทาง 435km กับแบต 100% ได้อย่างสบายๆ ด้วยการใช้งานเฉลี่ย 120wh/km ซึ่งต้องถือว่าเป็นระที่สามารถใช้งานไฟฟ้าได้อย่างมีประสิทธิ์ภาพมากๆ รถก็ไม่ใช้น้ำหนักน้อยๆปาไปสองตัน กับครอบครัวผมที่นั่งกันไปเต็มรถ ถือว่าไม่ธรรมดามากๆกับรถคันนี้ นอกจากนี้การชาร์ด้วย Tesla Superecharger ก็ทำได้อย่างน่าประทับใจ สามารถชาร์จจาก 15% สู่ 100% ด้วยเวลาเพียงครึ่งชั่วโมงครับ จากที่จะหาไรกินแบบสบายๆกลายเป็นต้องรีบกินข้าวเพื่อรีบไปถอดหัวชาร์จออกก่อนที่จะโดนค่า Idle fee
นอกไปจากนี้ตัวอย่างนึงเลยที่ช่วยประหยัดตังค์ผมไปได้เลยก็คือการทำ Geofencing เพื่อเปิดประตูรั้วโรงรถโดยอัตโนมัติครับ ด้วยความสามารถของ Node-red ที่เราสามารถที่จะร้อยเรียง Flow จาก node ต่างๆให้ทำงานตามที่เราต้องการได้ เราก็เพียงแค่ให้ node-red ทำการรับ event มาจาก mqtt broker และเมื่อมี signal ที่ตัวรถส่งมาเข้าใกล้ตัวบ้านของเราแล้ว ก็ทำานเปิดรั้วให้โดยอัตโนมัติ ซึ่งหากเราต้องไปซื้อ Homelink ที่เทสล่าขาย (ยังไม่มีขายในไทยด้วยนะ) เราต้องใช้เงินซื้อถึง $350 เลยทีเดียว (https://shop.tesla.com/product/model-3_y-automatic-garage-opener : ข้อมูลเดือนเมษายน 2566) ประหยัดตังค์ไปกินขนมดีกว่า ฮ่าๆ
ติดตั้ง Teslamate เพื่อใช้งาน
หากเพื่อนๆสนใจที่จะใช้งาน ‘Teslamate’ แบบผม วันนี้ผมก็จะมาแนะนำการติดตั้งเพื่อใช้งานแบบง่ายๆให้เพื่อนๆลองทำตามดูตามนี้ครับ
1.หาเครื่องคอมพิวเตอร์ที่ต่ออินเตอร์เน็ตได้ตลอดเวลา จะเป็น Raspberry pi หรืออย่างผมก็ไปเช่า Cloud บน GCP/AWS ตัวถูกๆเพื่อมาใช้รันโดยเฉพาะเลยครับ
2. ลง Docker Engine และ Docker Compose ในเครื่องที่เราต้องการติดตั้ง
3. สร้างไฟล์ docker-compose.yml ขึ้นมาตามนี้ครับ
version: "3"
services:
teslamate:
image: teslamate/teslamate:latest
restart: always
environment:
- ENCRYPTION_KEY= #insert a secure key to encrypt your Tesla API tokens
- DATABASE_USER=teslamate
- DATABASE_PASS= #insert your secure database password!
- DATABASE_NAME=teslamate
- DATABASE_HOST=database
- MQTT_HOST=mosquitto
ports:
- 4000:4000
volumes:
- ./import:/opt/app/import
cap_drop:
- all
database:
image: postgres:14
restart: always
environment:
- POSTGRES_USER=teslamate
- POSTGRES_PASSWORD= #insert your secure database password!
- POSTGRES_DB=teslamate
volumes:
- teslamate-db:/var/lib/postgresql/data
grafana:
image: teslamate/grafana:latest
restart: always
environment:
- DATABASE_USER=teslamate
- DATABASE_PASS= #insert your secure database password!
- DATABASE_NAME=teslamate
- DATABASE_HOST=database
ports:
- 3000:3000
volumes:
- teslamate-grafana-data:/var/lib/grafana
mosquitto:
image: eclipse-mosquitto:2
restart: always
command: mosquitto -c /mosquitto-no-auth.conf
# ports:
# - 1883:1883
volumes:
- mosquitto-conf:/mosquitto/config
- mosquitto-data:/mosquitto/data
volumes:
teslamate-db:
teslamate-grafana-data:
mosquitto-conf:
mosquitto-data:
4. เปลี่ยนค่าที่สำคัญด้านบน ไม่ว่าจะเป็น Database password, Encryption key ต่างๆ เพื่อให้เรามั่นใจว่า Token ของ Account Tesla เราจะถูกเก็บไว้แบบปลอดภัย ไม่มีใครงัดแงะมาดูได้
5. รัน Teslamate ผ่าน docker compose ด้วย command
docker-compose up -d
6. สำหรับ Interface ที่ทำให้เราเข้าไปใช้งานก็สามารถใช้ผ่าน Endpoint นี้ได้เลยครับ
http://your-ip-address:4000 > จะเป็นตัว Teslamate UI
http://your-ip-address:3000 > จะเป็นตัว Grafana ที่แสดง Metrics ต่างๆตามที่ Teslamate เก็บไว้
ปล.สำหรับท่านไหนที่เข้ามาอ่านแล้วไม่ใช่สายเดฟคิดว่าลงยากไป จริงๆก็จะมีแอพที่ให้บริการของ Tessie หรือ TeslaFi ให้บริการอยู่ด้วยนะครับ สองตัวนี้ก็สามารถที่จะแสดงข้อมูลทุกอย่างได้เหมือนกัน ซึ่งจริงๆค่าบริการอาจจะพอๆกันเลยถ้าเราเช่า Cloud มารัน Teslamate ข้อดีของการทำ Teslamate เองก็คือเราสามารถต่อยอดเติมเต็มความคันของเราได้เฉยๆเท่านั้นแหละครับ ลิงค์ด้านล่างนี้สามารถนำไปลองสมัครใช้บริการ Tessie กันได้นะครับ ซึ่งถ้าสมัครเองจะได้แค่ 14 วัน แต่ถ้าผ่านลิงค์แนะนำจะเป็นใครก็ได้นะครับจะได้ 30 วันครับ
สรุปแบบรวบรัด
หากเพื่อนๆที่ใช้ Tesla กันอยู่แล้วหากเราได้ใช้งาน Telamate หรือ Data logger อื่นๆควบคู่ไปกับการขับขี่ของเพื่อนๆเราสามารถที่จะเห็นข้อมูล Insight หลายๆอย่างของรถที่เราขับขี่อยู่ ได้เข้าใจพฤติกรรม และเรียนรู้ความผิดปกติที่เกิดขึ้นได้อย่างทันท่วงทีซึ่งถือว่าจะเป็นข้อมูลที่เป็นประโยชน์มากๆครับ และสำหรับใครที่สนใจซื้อ Tesla ก็ขอฝาก Referal Link นี้ไว้ด้วยนะค้าบบ ขอบคุณค้าบบ :)