Friday, December 4, 2015

Hướng dẫn mở SSH và cài Transmission trên NAS Buffalo

Firmware của NAS Buffalo mặc định không cho can thiệp cài thêm phần mềm mà chúng ta phải dùng App cài đặt mặc định.... Bài viết hướng dẫn các bạn can thiệp hệ thống của NAS để mở Telnet hoặc SSH cho NAS và cài các phần mềm khác như Transmission... trên NAS Buffalo LinkStation/TeraStation CPU ARM.

1. Enable SSH on LinkStation Stock Firmware

Tải Download ACP Commander GUI for Windows (.EXE file) or Mac (.DMG file).
Nếu máy chưa cài Java thì cài thêm Java để chạy chương trình
Chạy chương trinh:
Điền LinkStation IP address,Admin password rồi nhấn Enable SSH.
Sau khi có bảng thông báo SSH enabled OK!, click Set root PW, gõ password cho root user và nhấn OK, vậy là xong việc Enable SSH, khởi động lại NAS, là ta có thể dùng Putty để truy cập NAS qua SSH.

2. Install Transmission.

Transmission ưu điểm nhẹ và ổn định, có thể thay thể App Torrent mặc định. trước khi chuyển qua, nên tăt App Torrent mặc định đi.
Tải Script Auto Install Tranmission về, giải nén được 3 file, copy vào thư mục share của NAS.
Dùng Pytty kết nối SSH vào NAS với user root/pass vừa set ở bước 1. gõ lệnh
Code:
chmod +x /mnt/disk1/share/1_ipkg_auto.sh
chmod +x /mnt/disk1/share/2_trans_auto.sh
/mnt/disk1/share/1_ipkg_auto.sh
#Sau khi bạn gõ lệnh trên, NAS sẽ tự tải và cài đặt IPKG vào nó.  Khi cửa sổ SSH trở lại dấu nhắc lệnh, bạn gõ tiếp lệnh sau:
/mnt/disk1/share/2_trans_auto.sh

Khi quá trình cài đặt thành công sẽ xuất hiện thông báo như sau:
Code:
Installation completed.
Please check the Transmission Web GUI by typing address below to your browser: _______________________________________________________
Address : http://192.168.16.50:9091
Username: admin
Password: admin
_______________________________________________________
  If you can access Transmission Web Interface that mean the installation completed successfully. Restart your NAS before continue is recommended. Type 'reboot' (without quotes) from this console command to restart the NAS.

Transmission đã cài đặt xong và sẵn sàng sử dụng. Bạn mở trình duyệt lên, vào địa chỉ IP của NAS cổng 1604. NAS sẽ hỏi tên truy cập và mật khẩu, bạn điền admin | admin vào, nếu thấy giao diện Transmission như dưới đây là quá trình cài đặt thành công. http://192.168.16.50:9091 (tùy theo IP của bạn).
Chú ý: Đối với dòng NAS TeraStation nhiều HDD (TS2, TS3, TS-VHL...), NAS của bạn đang ở chế độ chạy RAID các bạn tải tập tin dành cho dòng TS, thì trước khi copy các file 1_ipkg_auto.sh và 2_trans_auto.sh vào NAS, các bạn edit lại một chút bằng Notepad, thay chữ disk1 trong các lệnh trên bằng chữ array1 ở các File tải về, xong lưu lại và tiến hành bình thường, thay lệnh chạy:
Code:
chmod +x /mnt/array1/share/1_ipkg_auto.sh
chmod +x /mnt/array1/share/2_trans_auto.sh
/mnt/disk1/array1/1_ipkg_auto.sh
#Sau khi bạn gõ lệnh trên, NAS sẽ tự tải và cài đặt IPKG vào nó.  Khi cửa sổ SSH trở lại dấu nhắc lệnh, bạn gõ tiếp lệnh sau:
/mnt/disk1/array1/2_trans_auto.sh

Để quản lý Transmission, các bạn tải thêm Transmission Remote GUI, để quản lý.


Tuesday, December 1, 2015

Chuyên nghiệp hóa việc xem phim tại nhà với KODI, CouchPotato và MYSQL

Giới thiệu

Chia sẻ với các bạn toàn bộ cài đặt mình đang sử dụng tại mạng gia đình phục vụ việc giải trí phim và nhạc, dùng KODI là trung tâm của hệ thống. Bài viết là tổng hợp các bài viết của mình liên quan đến KODI,  bài viết này chỉ tổng hợp các bài với nhau hệ thống tự động hóa ở nhà bạn trên các thiết bị sẵn có đang dùng để tải phim và quản lý phim.

Chuỗi tự động sẽ thế này: CourchPotatoServer (CP) tìm link phim --> gửi qua Transmission tải, Trans tải xong báo cho CP biết -->CP tải Info phim --> CP gửi tín hiệu để KODI quét database phim mới vào MYSQL database share cho các thiết bị --> xong sẽ sent notification vào Smartphone của bạn --> mọi việc tự động hết, quá tiện phải ko?
Việc đơn giản là bây giờ các bạn cài thêm 2 tiện ích CourchPotatoServer và MysqlServer trên thiết bị bạn đang dùng tải torrent phim.

1. Tự động tìm và chuẩn bị phim cho các bác hưởng thụ:

Bài viết CourchPotatoServer (CP) + transmission (Trans): Hướng dẫn ứng dụng CP tự động tìm link torrent phim HD (theo phim mới ra hoặc điền tên phim vào) cho bác ,CP sẽ tìm và gửi link qua Transmission, tải phim xong nó get info của phim luôn, để sau này XBMC quét database. 
CourchPotato là một ứng dụng quản lý phim rất thông minh và tương đối nhẹ, quản lý phim, một ví dụ, ở dưới là folder phim tải về bằng Trans và sau khi qua CP xử lý, nó sẽ tải hết các thành phần liên quan đến thông tin phim về folder, KODI chỉ cần quét là lên và đồng bộ vào database.

2. Quản lý database với MYSQL và share userdata

Bài viết Sử dụng MySQL để đồng bộ Library Phim và Nhạc của KODI (XBMC)
Sau khi CP tải và get info của phim về, sent lệnh cho KODI đồng bộ Mysql

Chúng ta sử dụng MySQL để đồng bộ dữ liệu phim và nhạc (database) để chia sẻ giữa các thiết bị. Mysql cho phép lưu trữ tất cả dữ liệu phim và nhạc của bạn trên MYSQL Server, các bạn có thể truy cập và đồng bộ giữa các thiết bị với nhau. Ví dụ đang xem dở phim ở phòng khách, lên phòng ngủ bật tiếp chỗ đang xem dở. 
Nguyên lý thế này: chúng ta dùng Mysql server chạy trên 1 thiết bị online 24/24 của bạn, Mysql server sẽ lưu toàn bộ dữ liệu về KODI database, các thiết bị chạy KODI mỗi khi bật lên sẽ kết nối vào đó và đồng bộ dữ liệu thông qua MYSQL Client có sẵn của KODI.

3. Xem IPTV (MyTV, OneTV) trên KODI

Xem MyTV, OneTV với Router Openwrt sử dụng UDPXY hoặc
Xem MyTV, OneTV với Router Openwrt sử dụng TVHEADEND
Nếu mạng của bạn hỗ trợ xem IPTV, bài viết hướng dẫn cấu hình router hoặc Openelec để xem IPTV và xem trực tiếp trên KODI, ko cần đầu thu STB của nhà mạng. hỗ trợ đầy đủ icon kênh và lịch phát sóng EPG.

Sunday, November 29, 2015

Cài đặt MySQL trên RPI chạy OSMC, Openwrt hoặc NasBuffalo

Giới thiệu:
Ở bài viết Sử dụng MySQL để đồng bộ Library Phim và Nhạc của KODI, mình đã hướng dẫn các bạn dùng MYSQL để đồng bộ KODI database, bài viết này hướng dẫn chi tiết cách cài đặt Mysql trên các nền OS thường dùng tại mạng gia đình.
Nếu Router của bạn cài OpenWrt, và có cổng USB thì tốt nhất nên cài Mysql lên Router để share database, nên mỗi khi bạn bật KODI lên, kết nối vào mạng là database sẽ đồng bộ lên luôn, cả userdata cũng vậy.
Nếu Router không đáp ứng được thì chúng ta chuyển sang phương án tiếp theo là cài trên RPI hoặc Nas (nếu có).

Cài MySql Server cho Raspberry Pi chạy OSMC:
    
Trên OS Openelec là OS build sẵn nên không cài được Mysql Server, Các bác có thể cài OSMC tương tự Openelec nhưng tùy biến cao hơn. Nếu NAS chạy Debian cũng sử dụng cách này (NasBufflo của mình đang dùng cái này, nhẹ mà nhanh hơn cái Firmware của hãng).
1. Dùng Pytty Login vào thiết bị:
apt-get update
apt-get install mysql-server
# khai báo pass khi có thông báo hỏi
2. Config Mysql
Sau khi cài xong, dùng WinSCP login vào thiết bị, edit file /etc/mysql/my.cnf
Thay đổi dòng
Từ: bind-address = 127.0.0.1
thành: bind-address = 0.0.0.0
Sau đó khởi động lại MySQL server và tiến hành config mysql server, trên pytty gõ lệnh:
Code:
/etc/init.d/mysql restart  
#hoặc 
/etc/init.d/mysqld restart
mysql -u root -p
# các lệnh sau của mysql, chỉ copy phần sau của "mysql>" nhé
mysql> CREATE USER 'kodi' IDENTIFIED BY 'kodi';
mysql> GRANT ALL ON *.* TO 'kodi';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'kodi' IDENTIFIED BY 'kodi';
mysql> flush privileges;
mysql> exit
#exit ra ngoài


Xong, các bạn config tiếp advancedsettings.xml trên KODI, phần IP là IP của thiết bị chạy MYSQL Server là xong thôi.

Cài đặt MYSQL trên NAS:
Mình hướng dẫn cho Nas Bufflo, các loại khác cũng tương tự thôi. Trước hết các bác cần mở Telnet/SSH các dòng NAS chạy firmware Linux Buffalo.
Firmware mặc định của NAS đã cài sẵn MYSQL rồi, các bạn chỉ việc bật nó lên thôi.
1. Enable MySQL:
Truy cập NAS qua WEB: Vào phần [Network] - [MySQL server].
- Click [Modify Settings].
- Enable MySQL server.
- Chọn folder cho MySQL database và configuration.
- Click [Save].
2. Config MYSQL Server cho KODI
Sau khi khởi động lại NAS, dùng Pytty Login vào NAS: Chạy lệnh
Code:
mysql -u admin -p
#để login vào mysql
# các lệnh sau của mysql, chỉ copy phần sau của "mysql>" nhé
mysql> CREATE USER 'kodi' IDENTIFIED BY 'kodi';
mysql> GRANT ALL ON *.* TO 'kodi';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'kodi' IDENTIFIED BY 'kodi';
mysql> flush privileges;
mysql> exit
#exit ra ngoài

Xong, các bạn config tiếp advancedsettings.xml trên KODI, phần IP là IP của NAS là xong thôi.
Cài đặt MYSQL trên OpenWRT:
- Cài đặt Openwrt nhận và mở rộng bộ nhớ lên USB (cần usb 2gb trở lên là ok)
- Dùng Pytty kết nối SSH vào Router, gõ lệnh
Code:
opkg update
#cập nhật các gói ứng dụng
opkg install mysql-server samba36-server luci-app-samba
#đợi cho cài xong
/etc/init.d/mysqld stop
killall mysqld

Dùng WinSCP login vào Router, tìm đến file /etc/my.cnf
mở file lên tìn đến dòng
Code:
bind-address        = 127.0.0.1
sửa lại thành
bind-address        = 0.0.0.0
Xong Save lại, chuyển sang Pytty, gõ lệnh:
Code:
mysql_install_db --force
# để config lần đầu chạy mysql
killall mysqld
/etc/init.d/mysqld restart
mysql -u root -p
#xong nhấn 2 lần enter, bỏ qua ko điền pass, sẽ vào mysql dạng:
# các lệnh sau của mysql, chỉ copy phần sau của "mysql>" nhé
mysql> CREATE USER 'kodi' IDENTIFIED BY 'kodi';
mysql> GRANT ALL ON *.* TO 'kodi';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'kodi' IDENTIFIED BY 'kodi';
mysql> flush privileges;
mysql> exit
#exit ra ngoài
/etc/init.d/mysqld enable
/etc/init.d/mysqld restart

Config Samba: Chúng ta sẽ share Folder /mnt (folder mount USB), thành tên USB, sau khi share xong, từ Win các bạn có thể truy cập như ổ đĩa share bình thường.
Ở Pytty, gõ lệnh
Code:
smbpasswd -a root
#để đặt pass share samba
/etc/init.d/samba enable
/etc/init.d/fstab enable

Truy cập Router qua WEB, vào phần Services/Network Shares

Nhấn Add , điền thông tin share như hình, xong save lại, chuyển sang tab Edit Tamplate
Tại đây sửa cho mình thế này: sửa dòng invalid users = root thành valid users = root, xong save lại, và khởi động lại router.
Sau khi khởi động lại, từ Windows explorer của Win, thử gõ địa chỉ
\\192.168.1.1\USB\
điền user root và pass root bạn đặt lúc trước, nếu vào được là ok, tạo luôn folder userdata để làm tiếp theo hướng dẫn Sử dụng MySQL để đồng bộ Library Phim và Nhạc của KODI (XBMC) 


Friday, November 27, 2015

Sử dụng MySQL để đồng bộ Library Phim và Nhạc của KODI (XBMC)

Giới thiệu:
Các bạn có nhiều thiết bị chạy KODI(XBMC) trong mạng nhà bạn, chúng ta sử dụng MySQL để đồng bộ dữ liệu phim và nhạc (database) để chia sẻ giữa các thiết bị. Mysql cho phép lưu trữ tất cả dữ liệu phim và nhạc của bạn trên MYSQL Server, các bạn có thể truy cập và đồng bộ giữa các thiết bị với nhau. Ví dụ đang xem dở phim ở phòng khách, lên phòng ngủ bật tiếp chỗ đang xem dở. 
Nguyên lý thế này: chúng ta dùng Mysql server chạy trên 1 thiết bị online 24/24 của bạn, Mysql server sẽ lưu toàn bộ dữ liệu về KODI database, các thiết bị chạy KODI mỗi khi bật lên sẽ kết nối vào đó và đồng bộ dữ liệu thông qua MYSQL Client có sẵn của KODI.
Các tính năng cơ bản:
- Các phim đã xem và chưa xem, thời gian xem được đồng bộ cho tất cả các thiết bị
- Tạm dừng xem ở thiết bị này, xem tiếp ở thiết bị khác như nói ở trên
- 1 cơ sở dữ liệu chung cho tất cả thiết bị.
- Các bạn có cài lại KODI thì thư viện MEDIA của bạn cũng sẽ không bị mất.
- Mysql tương đối nhẹ, hỗ trợ nhiều OS.
Có nhiều cách để đồng bộ database KODI giữa các thiết bị cùng 1 mạng gia đình: Share qua UPNP, PLEX server, mình đã thử qua và thấy MYSQL vẫn là chuyên nghiệp nhất.
Cài đặt MYSQL:
MYSQL server có thể cài ở bất kỳ thiết bị nào hỗ trợ:
- Có thể cài trên ROUTER của bạn chạy Openwrt (nếu Router có hỗ trợ USB để mở rộng bộ nhớ lưu)
- Có thể cài trên Các loại NAS, nếu bạn dùng NAS để tải và lưu phim sẽ rất tiện. NAS nên để chế độ StaticIP để sử dụng MYSQL Server và dễ quản lý hơn.
- Nếu bạn dùng thiết bị chạy Openelec để chạy KODI, có thể cài luôn MYSQL Server trên thiết bị đó luôn.
Cách cài đặt MYSQL Server tham khảo: (Hướng dẫn cụ thể cài Mysql và Samba Server)
Tham khảo thêm: MySQL on all OS.

Config KODI để kết nối với MYSQL Server:
- Nếu phim các bạn lưu trên NAS, xem phim qua Samba server của NAS
- Dùng Notepad tạo file advancedsettings.xml với nội dung:
Code:
<advancedsettings>
  <videodatabase>
    <type>mysql</type>
    <host>192.168.1.1</host>
    <port>3306</port>
    <user>kodi</user>
    <pass>kodi</pass>
  </videodatabase> 
  <musicdatabase>
    <type>mysql</type>
    <host>192.168.1.1</host>
    <port>3306</port>
    <user>kodi</user>
    <pass>kodi</pass>
  </musicdatabase>
  <videolibrary>
    <importwatchedstate>true</importwatchedstate>
    <importresumepoint>true</importresumepoint>
  </videolibrary>
</advancedsettings>

Trong đó: 192.168.1.1 là địa chỉ IP của thiết bị chạy MYSQL Server
Lưu lại, copy file advancedsettings.xml vừa tào  vào thư mục userdata, trên tất cả các thiết bị chạy KODI. Khởi động lại thiết bị chạy KODI.
Lưu ý là tất cả các thiết bị chạy KODI phải cùng version KODI thì mới đồng bộ được nhé. Không quan trọng bạn chạy KODI trên WIN, MAC, ANDORID hay OPENELEC, miễn là cùng phiên bản KODI là đồng bộ được.
Tiến hành đồng bộ thử KODI database vào Mysql Server:
Trên 1 thiết bị vừa khời động lại, các bác tiến hành quét phim vào thư viện như bình thường, KODI sẽ quét cả thư viện phim của bạn. Về quản lý phim các bạn tham khảo bài Hướng dẫn tự động hóa việc tải phim qua Torrent bằng CouchPotato và transmission. Mình dùng để tải và quản lý phim, nên khi KODI quét sẽ có đầy đủ tất cả thông tin phim.
Khi KODI quét và IMPORT phim lên server thì, đồng thời ở các thiết bị khác sẽ đểu được đồng bộ theo.
Xong phần Share database thông qua MYSQL Server

Share thư mục userdata:
thư mục userdata của kodi lưu trữ những thông tin sau có thể share giữa các thiết bị:
- sources.xml - các đường dẫn đến server hệ thống của bạn (NAS) của bạn
- mediasources.xml - các đường dẫn đến nguồn phim, nhạc của bạn
- folder playlists
- favourites.xml

Share thư mục này dùng chung thì bạn chỉ cần cài đặt ở 1 thiết bị các thiết bị khác cũng sẽ được đồng bộ, ví dụ các bạn dùng tính năng "add to favourite" ở 1 thiết bị, thiết bị khác cũng sẽ luu đường dẫn đó, quá tiện phải ko
Thường thì thư mục share userdata nên đặt chung với thiết bị cài MYSQL Server và có thiết bị này cũng cài Samba server để chia sẻ thư mục dùng chung. 
Các bạn tạo 1 thư mục tên userdata, sau đó truy cập vào thư mục userdata của 1 thiết bị KODI của bạn, copy thành phần ở trên (file sources.xml, mediasources.xml,folder playlists và avourites.xml) đã có vào folder userdata vừa tạo. 
Edit file advancedsettings.xml thêm các dòng sau: (dưới đây tham khảo nhé, các bạn edit theo của bạn)
Code:
<advancedsettings>
<pathsubstitution>
 <substitute>
    <from>special://profile/mediasources.xml</from>
    <to>smb://root:root@192.168.1.1/USB/userdata/mediasources.xml</to>
  </substitute>
<substitute>
    <from>special://profile/sources.xml</from>
    <to>smb://root:root@192.168.1.1/USB/userdata/sources.xml</to>
  </substitute>
 <substitute>
    <from>special://profile/playlists/</from>
    <to>smb://root:root@192.168.1.1/USB/userdata/playlists/</to>
  </substitute>
<substitute>
    <from>special://profile/favourites.xml</from>
    <to>smb://root:root@192.168.1.1/USB/userdata/favourites.xml</to>
  </substitute>
</pathsubstitution>
<videodatabase>
    <type>mysql</type>
    <host>192.168.1.1</host>
    <port>3306</port>
    <user>kodi</user>
    <pass>kodi</pass>
  </videodatabase> 
  <musicdatabase>
    <type>mysql</type>
    <host>192.168.1.1</host>
    <port>3306</port>
    <user>kodi</user>
    <pass>kodi</pass>
  </musicdatabase>
  <videolibrary>
    <importwatchedstate>true</importwatchedstate>
    <importresumepoint>true</importresumepoint>
  </videolibrary>
</advancedsettings>

Giải thích đường dẫn : smb://root:root@192.168.1.1/USB/userdata/
smb --> là share SAMBA
root:root: là user và pass
192.168.1.1 : IP của samba server

Mình cài MYSQL và samba server trên ROUTER chạy Openwrt nên IP là 192.168.1.1, MYSQL và samba server tương đối nhẹ mà.
Một điểm mình rất thích ở cách share MYSQL và USERDATA folder là, khi cài lại KODI, các bạn chỉ cần copy file advancedsettings.xml (có thông tin MYSQL server và userdata đã tạo ở trên)đến thiết bị mới cài, thoát ra vào lại là mọi thứ lại trở lại như cũ, ko cần scan lại phim, tất cả các plist giữ nguyên, các nguồn phim đươc add sẵn. Thật tiện phải không!



Thursday, September 3, 2015

Hướng dẫn lắp hệ thống LED ambilight cho TV của bạn


Công nghệ Led Ambilight là gì?
Các bạn xem qua Video sẽ hiểu. Công nghệ Led Ambilight là một hệ thống LED gắn sau TV của bạn có khả năng thay đổi màu sắc xung quanh phù hợp với hình ảnh đang trình chiếu. Bài viết nhìn có vẻ dài nhưng khi làm thì nhanh thôi
Tham khảo chi tiết: https://hyperion-project.org/ 
Chuẩn bị thiết bị: 
- Thiết bị đang chạy OS Libreelec / Coreelec (Android Box, RaspberryPi...)
- 1 mạch ARDUINO NANO (hơn 100k)
- Adapter cho Led (5v 3a) (200k)
- 1 điện trở (470~500Ohm), (hàng điện tử nào cũng có, khéo miệng xin là cho ^^)
- 3m dây led loại WS2812b (nguồn 5v). 
(Ước tính tổng cả khoảng 800k)

Xác định các thông số LEDs sử dụng
- Mình tìm hiểu về công nghệ này không biết một chút nào về LED và lập trình LED gì cả, chỉ làm theo hướng dẫn trên các bài viết nước ngoài, sau khi hoàn thành thì biết thêm tí chia sẻ lại các bạn.
- Led được chọn là WS2812b là loại digital LED sử dụng nguồn 5v, analog sử dụng 12v nên khi đặt mua các bạn nhớ chọn chính xác nhé.
- Về chiều dài LED khi mua chính là chiều dài khung ngoài của TV của bạn, mua loại LED dán khi lắp đặt đơn giản, chỉ việc bóc ra và dán là xong.
- Mình sử dụng loại 30 Led/m là ổn mà rẻ, có cả loại 60 và 150 nhưng mình dùng loại 30led/m.
- Khi mua sẽ có thông số IP30: loại không có bảo vệ, IP65: có lớp silicon phủ ngoài LED (mình chọn loại này) và IP67 có lớp nhựa bọc ngoài. Chốt lại lựa chọn là: 3m led loại WS2812b 30led/m IP65.
- Về chọn adapter cho LED: mình tận dụng cái 5v3a có sẵn cho 100 Led.
- ARDUINO NANO là mạch điều khiển led, kết nối với Libreelec qua USB mua ở VN có nhiều.
Tiến hành lắp đặt:
- Các bạn dán LED như hình, loại LED dán mình sử dụng chỉ cần bóc lớp bọc keo ra rồi dán nên sẽ rất nhanh. Khi dán nhớ để ý chiều đi của dây nhé, sau này config software đỡ nhầm.

- Dây LED cách cạnh ngoài của TV 5cm. Ở các góc, minh bẻ vuông góc luôn, dây dẻo mà, còn bạn nào cần thận cắt ra rồi hàn vuông góc như hình.
- Sau khi dán xong các bạn đếm số LED mỗi cạnh và ghi chú ra nhé. Trên hình minh họa điểm bắt đầu dán ở giữa cạnh dưới nhưng mình dán luôn ở góc cho gọn, Ví dụ cạnh ngang là 50 LED, dọc là 25 LED, ghi nhớ mấy con số đó để lát config trong phần mềm.
- Nối LED vào ARDUINO NANO:
+ Loại LED mua về vị trí có thể khác trong hình nhưng các bạn cứ theo ký hiêu nối như hình
+ Trên Arduino Nano các PIN sẽ ký hiệu rõ ràng nên cũng dễ nối thôi
+ Điểm băt đầu của LED có 3 đầu như hình: GND, DATA,5V
WS2812b RGB LED strip glued to LED TV
+ đầu DATA của LED nối vào điện trở rồi nối tiếp vào PIN 5 của board Arduino nano nhé
+ đầu 5v của Adapter không nối vào Arduino nano chỉ nối vào LED
+ đầu GND của Adapter nối như hình
+ Arduino nano nối với Libreelec BOX thông qua Mini USB cable
Arduino nano as Ambilight device
Cài đặt phần mềm
Trên Libreelec chúng ta sử dụng Hyperion, có nhiệm vụ nhận tín hiệu video và chuyển đến Arduino nano để LED hoạt động.

Cài đặt Hyperion trên Libreelec / Coreelec
Tham khảo: https://libreelec.wiki/hyperion
Sử dụng Putty login qua SSH vào Libreelec (Username "root" password "libreelec")
gõ lệnh:
curl -L --output install_hyperion.sh --get https://raw.githubusercontent.com/tvdzwan/hyperion/master/bin/install_hyperion.sh sh ./install_hyperion.sh
Đối với RPI tham khảo thêm Installation on RPi with Libreelec
Tạo file hyperion.config.json cho hệ thống của bạn
Tải HyperCon.jar . Chạy HyperCon.jar điền các thông số LED của bạn vào các ô như hình:
- Phần Baudrate USB serial port speed: có bác phải đổi thành 115200 mới lên, nên cứ thử 500.000 trước, ko được thử lại với 115200.
- Điền các thông số giống như hình, chỉ thay đổi cho mình phần LED construction (số đèn LED của các bạn)
- Xong nhấn Create Hyperion Configration để tạo file hyperion.config.json và thay thế file /storage/.config/hyperion.config.json trên Libreelec .

Nạp chương trình điều khiển LED lên mạch Arduino
Cắm Arduino vào Laptop của bạn qua cap MiniUSB, cài đặt đầy đủ driver và Arduino Software theo hướng dẫn nạp chương trình cho Arduino
- Tải FastLED Library về giải nén zip ra folder và đổi tên folder thành FastLED, copy folder vào thư mục Libraries của thư mục cài đặt Arduino trong C:\Program Files\...
- Copy HyperionBoblight Script vào Arduino Software

- Thay đổi giá trị như hình.
- xong nhấn Complie để tải chương trình lên mạch Arduino.
- Xong cắm Arduino vào Libreelec box.
- Khởi động lại Libreelec và tận hưởng

Bổ xung: Hyperion Remote for iOS

Tải Hyperion Remote  chỉnh màu nền của LED qua điện thoại, LED sẽ như đèn nền, đổi màu theo cách chỉnh của các bạn
Nguồn tham khảo:
hyperion-project.org

Sunday, May 31, 2015

Hướng dẫn quản lý và tự động tải phim qua Torrent bằng CouchPotato


Giới thiệu:

Thông thường mọi người tải phim thường tìm link trên mạng rồi add vào transmission, lâu lâu vào ngó xem nó tải xong chưa, tải xong lại mở ra sắp xếp đổi tên, nếu dùng KODI thì lại bật KODI, quét, đợi updata database rồi mới xem được.  
Mình vừa tìm ra apps, giúp mọi người làm tất cả những việc trên, bạn chỉ cần add tên phim vào, nó tự tìm các trang ThePirateBay, KickAssTorrents… rồi tự get link rồi down về cho mọi người. Hơn nữa còn tự động tìm các phim đang chiếu rạp trên mạng rồi tự down về cho anh em. Phim sau khi tải về sẽ tự động sắp xếp, đổi tên, tải phụ đề, sau khi hoàn tất phần mềm sẽ thông báo cho các bạn biết qua ứng dụng điện thoại (Hangouts, emails...), nếu dùng KODI thì app sẽ sent lệnh tự quét vào database và chúng ta mở lên là có phim thưởng thức thôi. Tuyệt vời phải ko nào. 
Tên APP là CouchpotatoServer (gọi tắt là CPS)
App này chạy được trên cả Win/Mac/Linux. Bài viết này em hướng dẫn chạy trên Nas. Hướng dẫn em dịch từ trang này https://github.com/RuudBurger/CouchPotatoServer/. Trong đó hướng dẫn cài đủ trên WINDOWS, OS X, Linux/Debian và FreeBSD.
Yêu cầu: nâng cấp từ các thiết bị các bác đang dùng tải phim, CPS có thể cài trên Win, Mac, Linux (Debian, Optware,...). Ví dụ một số thiết bị:
- Raspberry PI đang cài Openelec hoặc OSMC, cắm HDD tải phim
- Nas cài sẵn Optware (ipkg) và Transmission (uTorrent, rTorrent…..).
Thực ra chỉ cần OS của thiết bị cài python là chạy được, vì nó được viết trên nền python26 nên rất nhẹ).

CouchPotatoServer trên Openelec:

Để bật CPS trên Openelec trên KODI(XBMC) các bạn vào
System -----> Add-ons -----> Install from repository -----> OpenELEC Mediacenter OS Add-ons -----> Addon repository ---> Install Unoffical OpenELEC Mediacenter OS Add-ons
Tiếp theo:
System -----> Add-ons -----> Install from repository-----> Unoffical OpenELEC Mediacenter OS Add-ons  -----> Services -----> couchpotato. Chọn Install. Xong

Trên laptop truy cập địa chỉ http://x.x.x.x:5050. trong đó x.x.x.x là địa chỉ IP của thiết bị chạy Openelec, 5050 là cổng truy cập của CPS. vào sẽ thấy giao diện của CPS
Xuống phần cuối để làm hướng dẫn config CPS

CouchPotatoServer trên Ubuntu / Debian:

Sử dụng cho RPI chạy OSMC hoặc thiết bị chạy nền debian/ubuntu: Dùng Putty rồi ssh vào thiết bị, 
 
Code:
apt-get update
apt-get install git-core curl wget python python-pyopenssl
cd /home
#Trong đó /home là folder lưu CPS, có thể thay đổi theo ý bạn
# đợi tải xong, tạo thêm folder để lưu config của CPS
mkdir /home/CouchPotato
chmod -R 777 /home/CouchPotato
# copy file để CPS khởi động cùng hệ thống
cp CouchPotatoServer/init/ubuntu /etc/init.d/couchpotato
cp CouchPotatoServer/init/ubuntu.default /etc/default/couchpotato 
# Edit file /etc/default/couchpotato, thay đổi các dòng sau phù hợp với vị trí lưu CPS của bạn
CP_HOME=/mnt/disk1/share/CouchPotatoServer
CP_DATA=/mnt/disk1/share/CouchPotato
CP_USER=root
#Xong lưu lại, chạy tiếp lệnh
chmod +x /etc/init.d/couchpotato
update-rc.d couchpotato defaults
# Chạy thử CPS
/etc/init.d/couchpotato restart
Bật web, truy câp: <IP của Thiết bị chạy CPS>:5050 để tiến hành config theo phần sau

CouchPotatoServer trên NAS Buffallo

Cài đặt
1. Cài các gói yêu cần thiết cho CouchPotato
Code:
ipkg update 
ipkg upgrade 
ipkg install git textutils python27 py26-cheetah coreutils
cd /opt
git clone git://github.com/RuudBurger/CouchPotatoServer.git /opt/couchpotato
 

# Tải file S97couchpotato (auto khởi động CPS) copy vào
/opt/etc/init.d/S97couchpotato
chmod 777 /opt/etc/init.d/S97couchpotato
#Tạo folder luu config CPS
mkdir /opt/local/CouchPotato
chmod 777 /opt/local/CouchPotato
#Chạy thử: CPS
/opt/etc/init.d/S97couchpotato restart
Xong các bạn dung Firefox hay Chrome trên máy tính vào thử xem CPS chạy chưa, địa chỉ là: :5050, trong đó 5050 là port mặc định của CPS. Nếu ko có lỗi gì thì xong rùi 90% rùi đấy. 

Phần Config CPS tự động tìm và send link qua Transmission.

Phần Genernal - cài user và pass để đăng nhập
Bỏ dấu tích ở phần Launch Browser nhé
Phần Downloaders
Chọn Transmission nhé – phần này cài chương trình các bạn dung để tải phim sau khi CPS tự động lấy link và sẽ add vào đó, ở đây chúng ta dung Transmission, các cái khác các bạn tự tìm hiểu nhé
Host: localhost:9091 - để mặc định
Rpc Url: transmission - mặc định
Username: user name đăng nhập của transmission 
Pass: pass đăng nhập của transmission 
Directory: Thư mục phim sẽ tải về - nếu để trống sẽ dung thư mục mặc định của transmission 
Tiếp theo là Providers – Những trang để CPS tự động tìm phim, ở đây mình hay tìm phim ở 3 trang này, nên tích vào đấy, các bạn có thể chọn thêm tùy theo thói quen
Phần Usenet Providers
Các bạn bỏ chọn hết nhé
Kéo xuống nữa là phần Renamers: phần này dùng để di chuyển, đổi tên, tự down phụ đề phim sau khi Transmission tải xong 
From : Thư mục Transmission tải về
To: Thu mục đích
Riêng Mục Torrent File Action Chuyển thành Move nhé
Xong kéo xuống dươi kích vào dòng xanh
I'm ready to start the awesomeness, wow this button is big and green!
Vậy là xong rồi đấy 
Xong các ban đăng nhập vào để sử dụng thôi
Giao diện chính
Nếu muốn CPS tìm phim, các bạn kích vào kính lúp ở góc phải rồi gõ tên phim vào, CPS sẽ tự động list ra những phim phù hợp, bạn chọn phim cần tim
Sẽ có một lựa chọn chất lượng phim, cái này chắc nhiều bạn quan tâm nhất, sẽ có một list các lựa chọn chất lượng phim cho các bạn, các bạn kích vào cái mình cần thôi, lát mình sẽ hướng dẫn config chất lượng phim sau.
Xong các bạn nhấn nút Add, chỉ vậy là xong, CPS sẽ thêm phim vào list của bạn, nếu phim đã có trên mạng, CPS sẽ tìm link phù hợp và gửi cho Tranmission tải về, còn nếu chưa có trên mạng, thì CPS sẽ luu lại và sẽ tải ngay khi phim xuất hiện.

Config để CPS tự tìm phim mới:

Các bạn vào Setting – Automation – tích vào ô Automated, có nhiều nguồn để CPS tìm phim mới, ở đây mình tích vào IMDB, vậy là có phim nào hot ra là CPS tự add link để tải về tự đông, các bạn ko phải ngày ngày lên mạng kiếm phim nữa rùi.
 
Kéo xuống dưới phần Minimal movie requirements
Config để CPS tìm phim theo sở thích của bạn, ở đây của mình là: tự động add phim thể loại : Action, Comedy và bỏ qua loại Horror, các bạn có thể config theo ý bạn

Các config khác:

Phần General: trong Setting, tích vào ô "Show advanced settings" ở góc phải nhé, kéo xuống trong phần Folder CHMOD và File CHMOD : 777 nhé, sau này chúng ta thao tác xóa và di chuyển phim dễ hơn
Phần Renamer: Trong mục Download subtitles, các bạn nhập: vi để down tiếng việt nhé, CPS tự động tải phụ đề tại opensubtitles.org sau khi tải phim về
Phần Metadata: các bạn muốn CPS tự tải thong tin phim để dung KODI (XBMC) thì tích vào nhé, nếu không thì bỏ qua
Phần Manage: để quản lý phim, nhớ bỏ chon ô Scan At Startup, để chạy nhanh hơn khi khởi động nhé, ô Movie Folder các bạn chọn thư mục các bạn luu phim của mình nhé (thường là thư mục sau khi CPS đã rename)
Phần Notifications
- Rất hay nhé, sẽ thông báo cho các bạn khi tải xong phim qua điện thoại thông qua: Pushbullet, Pushalot ...
 (đều có trên Android, ios), Pushalot (Windowsphone)….. các bạn tự mò nhé, đơn giản thôi…..
- Nếu các bạn dùng XBMC, nó sẽ gửi thong báo cập nhật library sau khi down xong 
Config Transmissiton: thông báo cho CPS khi tải xong phim
Thông thường phim Transmission down xong thì sau một thời gian cài đặt săn CPS sẽ scan lại rồi tiến hành Rename. Để CPS rename phim ngay sau khi Transmission tải xong. Các bạn chỉnh sửa một chút cài đặt của Transmission nhé:
Trước tiên ta phải tắt transmissiton đã
Code:
killall transmission-daemon
 
Dùng Winscp trên win hoặc nếu các bạn cài MC trên nas cũng đươc, tìm đến thư mục config của Transmission, tùy theo config từng thiết bị, ví dụ NAS buffalo:
Code:
#For NAS Buffalo: /root/.config/transmission-daemon/settings.json
#For Debian: /var/lib/transmission-daemon/info/settings.json

Tải file CPS_renamer về, copy vào thư mục transmission-daemon ở trên, file script này ta sẽ config để mỗi khi Trans tải xong 1 Torrent, sẽ tự chạy nó, nó sẽ sent lệnh để CPS tiến hành get info của phim, các bạn mở file lên edit một chút theo thông tin máy bạn

Code:
#User và pass đăng nhập của TRANSMISSION
USER=root 
PASSWORD=root 
TRANSMISSION="/usr/bin/transmission-remote --auth "$USER":"$PASSWORD 
COUCHPOTATOURL=localhost 
COUCHPOTATOPORT=5050 
#COUCHPOTATOAPI: là Api Key của CPS, lấy trong Setting - General của CPS (bật Advance Setting mới thấy) COUCHPOTATOAPI=ffe82817d12345678935b047649422d 
#Folder Phim của bạn, giống ở phần Rename downloaded movies của CPS 
#CPS đổi tên phim move đến Folder bạn định sẵn, script sẽ set lại Folder location của file đó trong Transmission FOLDER=/mnt/disk1/0_MOVIES/
#Xong lưu lại, dùng Pytty, set permission cho file CPS_renamer 
chmod 777 /root/.config/transmission-daemon/CPS_renamer
Xong lưu lại, edit file settings.json
chỉnh sửa các dòng sau nhé: 
Code:
"rpc-authentication-required": false,
"script-torrent-done-enabled": true, 
"script-torrent-done-filename": "/root/.config/transmission-daemon/CPS_renamer", 
#Chọn đúng đường dẫn lưu file CPS_renamer vừa chỉnh sửa nhé.
"umask": 0,
 
Sửa xong lưu lại rồi khởi động lại nas nhé.
Xong rồi đấy, từ nay mọi việc về phim CPS sẽ tự lo hết
 
Chỉnh thêm để CPS chỉ down phim chất lượng tốt nhất, bỏ qua bản "'cam', 'ts', 'dvdrip', 'tc', 'r5', 'scr"
Setting / categories : Thêm ô Ignored : dvdr, cam, ts, dvdrip, tc, r5, scr để bỏ qua các bản chất lượng kém
Chúc các bạn thành công!
 
 

Friday, May 8, 2015

Xem IPTV với Router Openwrt sử dụng TVHEADEND

Mục đích:
- IPTV từ nhà cung cấp sử dụng giao thức udp nên chỉ xem thông qua Settopbox, hoặc VLC, chất lượng kém khi xem qua wifi. Các chương trinh udpxy và tvheadend sẽ convert luồn udp sang giao thức http, xem mượt mà hơn, quan trọng nhất là thưởng thức IPTV trên nhiều thiết bị (Android, IOS, KODI…).
- Mình đã hướng dẫn udpxy chạy trên router cài firmware Openwrt. Tìm hiểu loanh quanh tìm ra một tool nhiều tính năng hơn thay thế udpxy là tvheadend.

1. Yêu cầu cài đặt
- Router đã cài đặt firmware OpenWrt. tham khảo cách cài đặt tại: Hướng dẫn cài Openwrt và udpxy chạy trên router cài firmware Openwrt để config Openwrt có tín hiệu IPTV. Bài viết này mình dựa trên firmware Openwrt.
- Dung lượng soft tvheadend lớn nên chỉ dành cho Router có bộ nhớ FLASH >= 8MB hoặc Router có cổng USB để hỗ trợ mở rộng bộ nhớ trên USB. Các bạn có thể tham khảo bộ nhớ trong của Router mình đang dùng tại đây Supported_Devices.
2. Tiến hành cài đặt
Cài đặt tvheadend 4.0.9 thông qua SSH:
opkg update
opkg install tvheadend
 
Trên Web truy cập thử: http://x.x.x.x:9981. trong đó x.x.x.x là địa chỉ IP của Router, 9981 là cổng truy cập của TVheadend. vào sẽ thấy giao diện của TVheadend
Bạn sẽ thấy Welcome screen, các bạn thiết lập ngôn ngữ, tạo user rồi Save&Next. Xong khởi động lại Router

Cài đặt tvheadend 4.1.x trở lên (tải tvheadend 4.x):
Tải về file tvheadend 4.x phù hợp cho Router và phiên bản Openwrt bạn đang dùng (đầy đủ cho ar71xx và ramips )
Dùng WinSCP copy file tvheadend 4.x vừa tải về vào folder /tmp của router, chạy Putty kết nối SSH, chạy lệnh:
opkg update
opkg install /tmp/tvheadend_4.xxxxxxx.ipk
Trên Web truy cập thử: http://x.x.x.x:9981. làm như ở trên.  
Xong khởi động lại Router. Tham khảo thêm: Config IPTV dành Tvheadend 4.1 trở lên 

3. Tùy chỉnh cài đặt.
 
Các bạn vào Configution ---> DVB Inputs --->Network --->Add, chọn IPTV Network

Đặt tên list kênh của bạn tương tự như hình, rồi nhấn Create
 Chuyển qua tab Muxes, click Add, chọn list vừa tạo, add thông tin của từng kênh theo list IPTV nhà mạng của bạn tương tự như hình:
 
Phần Interface: chính là tên của interface có tín hiệu IPTV (xem trong phần Network/Interface của Router Openwrt)
Xong nhấn Create và test thử bằng cách nhấn nút Play, xem bằng VLC được là ổn
Để thêm các kênh khác lặp lại bước vừa rồi, mỗi kênh add một dòng, nhiều kênh nhưng copy/paste nhanh lắm.
 Qua thẻ Channels, nhấn Map all services , để tạo list kênh từ list Services vừa Scan
- Vậy là Xong
4. Config VLC để xem IPTV qua TVheadend
Trên PC, truy cập http://x.x.x.x:9981/playlist/channels. Trong đó x.x.x.x là địa chỉ IP của Router, 9981 là cổng truy cập của TVheadend, một file plist sẽ được tải về, mở bằng VLC là xong.
- Trên IOS và Android, tải App TvhClient và VLC để xem
5. Để xem trên các thiết bị thông qua DLNA server như TV cho chức năng DLNA, PS3... thì các bạn save cái plist ở VLC ở trên rồi cài thêm soft xupnpd cho router để xem nhé.
6. Để xem trên KODI, dùng addon Tvheadend client, tham khảo tại bài Cấu hình Xem IPTV trên Openelec chạy XBMC của mình.
7. Để xem trên iOS và Android sử dụng app TVHClient và VLC
 
BONUS: CÀI ĐẶT LỊCH PHÁT SÓNG (EPG) CHO TVHEADEND
Khi cài xong lịch phát sóng, qua KODI các bạn sẽ thấy như sau: qua lịch phát sóng các bạn có thể, đặt lịch ghi lại chương trình dễ dàng thông qua WebUI của tvheadend hoặc trực tiếp trên KODI (nguồn EPG update hằng ngày)
 
 
 
Tải file tv_grab_file (File tự động tải lịch phát sóng Vietnam) về máy, dùng WinScp kết nối Router, copy vào /usr/bin/ , dùng Putty kết nối SSH vào Router, sửa Permission cho file tv_grab_file và cài thêm wget để chạy file đó
# Gõ lệnh
opkg update; opkg install wget
chmod 777 /usr/bin/tv_grab_file
#chạy thử
/usr/bin/tv_grab_file
#thấy tải 1oạt là OK
 
- Tìm đến thẻ EPG Grabber, Enable cái Internal XMLTV, các cái khác ko dùng tắt hết, Save lại
- Phần Cron Mutil-line: chọn như hình (mình chọn 5 tiếng cập nhật EPG 1 lần), Save lại, rồi nhấn Re-run Internal EPG, để tải EPG
- Qua thẻ Channel, mỗi kênh các bạn tích chọn EPG tương ứng rồi Save lại như hình là xong, bật KODI, test lại
 
 
Để Config ICON TV: Sau khi config xong EPG
Phần Picon, tắt như hình
[IMG]
Phần Channels, chọn tất cả các kênh rồi click RESET Icon, khởi động lại Libreelec thì TVHEADEND sẽ tự động get link icon từ EPG Grabber cho từng kênh
[IMG]
Muốn ghi lại chương trình TV: dùng cho Router hỗ trợ USB, rồi thiết lập đường dẫn đến USB tương tự hình nhé:
 

Chúc thành công!