Date post: | 16-Jul-2015 |
Category: |
Technology |
Upload: | kritsada-arjchariyaphat |
View: | 1,234 times |
Download: | 1 times |
How to adapt XBMC for IoT application
Deaware System Co., LTD
หมายเหตุ : เป็นสไลด์ประกอบการบรรยายในงาน cmm maker party 2015 ภายในเวลา 30 นาที
What XBMC/KODI ?
What is XBMC ?
XBMC ก็แค่โปรแกรมเอาไว้ดูหนังเล่นวีดีโอ ?
What is XBMC ?
XBMC ก็แค่โปรแกรมเอาไว้ดูหนังเล่นวีดีโอ ?
What XBMC/KODI ?
Originally developed for XBOX
XBMC = Xbox Media Center
Currently for All platform
What XBMC/KODI ?
Formally name XBMC but currently called “KODI”
What XBMC/KODI ?
Free OpenSource media player Available in multiple platform
Overview
XBMC/Kodi ซัพพอร์ตรูปแบบของไฟล์เสียง วีดีโอ ได้หลากหลายนอกจากนั้นยังสามารถเพิ่มความสามารถโดยการเขียน plugin จาก Third party ได้หลากหลายสำหรับ Plugin โดยหลักการเรียก API ของ XBMC จะใช้ภาษา Python
Overview
XBMC/Kodi เขียนด้วยภาษา C++ บน OpenGL เป็นหลักทำให้ประสิทธิภาพในการแสดงผลทำได้ดี โดยเฉพาะการแสดง ผล User interfaceโดยเฉพาะบน platform เช่น Embedded System ที่สามารถ รีดเร้นประสิทธิภาพออกมาได้สูง
Hardware requirement for XBMC/Kodi
เนื่องจาก XBMC/Kodi จำเป็นต้องการใช้ประสิทธิภาพทางด้าน 3D/Video ของระบบฮาร์ดแวร์ที่จะสามารถติดตั้งได้จำเป็นจะต้อง มีฮาร์ดแวร์กราฟิกที่รองรับ OpenGL
XBMC/Kodi ในมุมมองนักพัฒนา
จุดเด่นที่เราสามารถจับตาได้
XBMC/Kodi ในมุมมองนักพัฒนา
จุดเด่นที่เราสามารถจับตาได้
เนื่องจากเป็น XBMC เป็น platform ที่สามารถทำ cross-platform ได้และ core code เขียนด้วยภาษา C++ ( ANSI Standard ) ทำให้มีการนำไปปรับแต่ง พร้อมระบบปฏิบัติ เพื่อใช้งานเฉพาะด้านที่ต้องการ ความสามารถในการแสดงผลของ UI เช่นsmart tv box, digital signage, ตู้จำหน่ายสินค้าอัตโนมัติ
XBMC/Kodi ในมุมมองนักพัฒนา
XBMC/Kodi ในมุมมองนักพัฒนา
ไม่ใช่แค่ Graphic API, Video API แต่หมายถึง Networking, Database application
ที่สามารถใช้ประโยชน์จาก XBMC ได้
XBMC/Kodi ในมุมมองนักพัฒนา
ยกตัวอย่างเช่น Raspberry PI
XBMC/Kodi ในมุมมองนักพัฒนา
XBMC ก็แค่โปรแกรมเอาไว้ดูหนังเล่นวีดีโอ ?
XBMC/Kodi ในมุมมองนักพัฒนา
XBMC ก็แค่โปรแกรมเอาไว้ดูหนังเล่นวีดีโอ ?
ตัวอย่างโอกาสทางธุรกิจของโปรแกรมที่เกิดขึ้นจริง
XBMC/Kodi ในมุมมองนักพัฒนา
Digital signage made on raspberry pi with XBMC
XBMC/Kodi ในมุมมองนักพัฒนา
XBMC/Kodi ในมุมมองนักพัฒนา
Web management
Broadcast content
Broadcast content
XBMC/Kodi ในมุมมองนักพัฒนา
Web management
Broadcast content
Broadcast content
สื่อประชาสัมพันธ์เป็นตลาด ที่ใหญ่มาก
XBMC/Kodi ในมุมมองนักพัฒนา
- ประสิทธิภาพดี - ต้นทุนฮาร์ดแวร์ถูก - ขายได้ราคา- ไม่มีใครสนใจระบบด้านหลัง ว่าใช้คอมหรือ Embedded สำคัญที่สุดคือราคาและคุณภาพ
XBMC and IoT Application Example ( FreeScale SoC )
XBMC and IoT Application Example ( Home media Gateway )
- Check Out IoT - Integration with Zigbee and Low level hardware interface- Security Camera, Smart Bulb, Smart phone, Smart Plugin Including
Home media gateway architecture
XBMC IoT Gateway
Home media gateway Demo
Home media gateway Demo
IP Camera monitoring
XBMC Plugin for developer ( Python )
ข้อเสียของ XBMC ด้านการพัฒนาคือเอกสารตัวอย่างในการพัฒนาน้อยมาก
อาจจะต้องศึกษาจาก plugin ตัวอย่างแทนและใช้วิธี การอ่าน API ของ Python
XBMC Plugin for developer ( Python )
XBMC มีความสามารถในการให้นักพัฒนาเขียน Plugin ผ่านภาษา Python ได้โดยเป็นการเรียก API ของ XBMC
XBMC Plugin for developer ( Python )
Python binding Class in XBMC core
Hello world plugin example
Add your metadata
Writing the code ( HelloWorld )
Will popup Helloworld
XBMC have ability to create GUI
import xbmc, xbmcgui ACTION_PREVIOUS_MENU = 10ACTION_SELECT_ITEM = 7 class MyClass(xbmcgui.Window): def onAction(self, action): if action == ACTION_PREVIOUS_MENU: self.close() if action == ACTION_SELECT_ITEM: self.strAction = xbmcgui.ControlLabel(300, 200, 200, 200, '', 'font14', '0xFF00FF00') self.addControl(self.strAction) self.strAction.setLabel('Hello world') mydisplay = MyClass()mydisplay .doModal()del mydisplay
Hacking XBMC from C++
Interesting Library - Rendering GUI with OpenGL - Overlay on small embedded system - Video player OMXPlayer and other platform support