Hướng dẫn tự lắp đặt hệ thống nghe nhạc lossless và xem phim HD trên ô tô

ngochoangimsat

Xe tăng
Biển số
OF-201349
Ngày cấp bằng
9/7/13
Số km
1,983
Động cơ
342,040 Mã lực
Chùm chăn hết 1 tuần em đã thành công khiển vô lăng Arduino cho đầu android:
1. Chức năng chính:
- Nhận tối đa 16 nút trên vô lăng;
- Mỗi nút cho phép gán từ 3 chức năng (đầu không root) đến 6 chức năng (đầu đã root): các chức năng có thể thực hiện như: next bài, lùi bài, tăng giảm âm lượng, mở ứng dụng (mở dẫn đường, xem phim, nghe nhạc, gọi khiển giọng nói...v.v.);
- Không can thiệp gì vào hệ thống điện của xe cũng như đầu android, lắp dây KEY1 và Key GND nguyên bản của xe vào mạch và chạy.
- Cần kết hợp phần mềm Remap Button trên CH Play với mạch này để gán chức năng các nút.
2. Mã nguồn nạp vào arduino:
 
Chỉnh sửa cuối:

moi_lai

Xe tải
Biển số
OF-41909
Ngày cấp bằng
30/7/09
Số km
277
Động cơ
468,970 Mã lực
Thấy các bác bàn tán trên này nhiều, không biết bác nào đã đầu tư Pi mà chưa setup được hệ thống chưa. Em có một nhóm nghiên cứu về việc lập trình trên Pi đã thử mày mò và cũng đã dựng được mô hình giống dự án open CarPC. Bác nào cần có thể liên hệ, em sẽ giúp. Tiện thể có bác nào có nhu cầu lập trình trên Pi như quản lý hệ thống màn hình quảng cáo, giám sát thiết bị, ... có thể liên hệ, anh em cùng trao đổi.
em dùng pi2 trên xe đã hơn 2 năm rồi và cũng tạm hài lòng với nó. Tuy nhiên vẫn còn khoản điều khiển thấy hơi bất tiện. Cụ có làm được vụ điều khiển bằng Rotary không thì cho em theo với. Em đang cài openelec 6.3
 

ngochoangimsat

Xe tăng
Biển số
OF-201349
Ngày cấp bằng
9/7/13
Số km
1,983
Động cơ
342,040 Mã lực
em dùng pi2 trên xe đã hơn 2 năm rồi và cũng tạm hài lòng với nó. Tuy nhiên vẫn còn khoản điều khiển thấy hơi bất tiện. Cụ có làm được vụ điều khiển bằng Rotary không thì cho em theo với. Em đang cài openelec 6.3
Điều khiển đơn giản cụ ơi, cụ theo bài này của em ạ: https://www.otofun.net/threads/huong-dan-lam-dieu-khien-vo-lang-usb-cho-dau-android.1299694/
Nó dùng luôn cho raspberry pi. Trong KODI có cái addon Key Map đó, cụ gán nút thỏa phanh ạ.
Các nút hay dùng cho KODI (8 nút):
1. Full màn hình
2. Play/pause
3. Bốn nút điều hướng (nó kiêm luôn Next và lùi bài khi đang phát)
5. Nút enter
6. Nút back
ngoài code trên của em em cũng có thể code cho nó khiển trực tiếp rpi mà không phải gán.
 
Chỉnh sửa cuối:

duck411

Xe hơi
Biển số
OF-392754
Ngày cấp bằng
18/11/15
Số km
102
Động cơ
237,020 Mã lực
Tuổi
33
các cụ cấu hình ghê tỉ mỉ quá
 

phucbqp

Xe hơi
Biển số
OF-543881
Ngày cấp bằng
1/12/17
Số km
150
Động cơ
163,223 Mã lực
"em dùng pi2 trên xe đã hơn 2 năm rồi và cũng tạm hài lòng với nó. Tuy nhiên vẫn còn khoản điều khiển thấy hơi bất tiện. Cụ có làm được vụ điều khiển bằng Rotary không thì cho em theo với. Em đang cài openelec 6.3"

Vâng, nếu cụ cần thì cụ cứ cho biết nhu cầu cụ thể e sẽ giúp. Nếu cụ thích thì e sẽ nâng cấp giúp cụ lên KODI cho nó PRO. Tuy nhiên e chỉ đảm nhiệm phần kỹ thuật thôi, còn bố trí đặt để sao cho đẹp thì cụ quyết nhé
 

moi_lai

Xe tải
Biển số
OF-41909
Ngày cấp bằng
30/7/09
Số km
277
Động cơ
468,970 Mã lực
Vâng, nếu cụ cần thì cụ cứ cho biết nhu cầu cụ thể e sẽ giúp. Nếu cụ thích thì e sẽ nâng cấp giúp cụ lên KODI cho nó PRO. Tuy nhiên e chỉ đảm nhiệm phần kỹ thuật thôi, còn bố trí đặt để sao cho đẹp thì cụ quyết nhé
cám ơn cụ trước. Nhu cầu của em là dùng rotary để điều khiển: nếu nhấn 1 lần thì stop/play hoặc chọn mục chon tùy theo ngữ cảnh màn hình, xoay phải trái để next/back hoặc di chuyển giữa các mục chọn. em demo cái núm bấm ợ.


Núm và đế


lắp Rotary vào



Sau khi hoàn tất
 

phucbqp

Xe hơi
Biển số
OF-543881
Ngày cấp bằng
1/12/17
Số km
150
Động cơ
163,223 Mã lực
Bác có gắn thêm module gì như radio hay GPS vào con Pi của bác không, hay chỉ đơn thuần là điều khiển các chức năng trên Pi bằng Rotary.
 

Sir Win

Xe hơi
Biển số
OF-387591
Ngày cấp bằng
17/10/15
Số km
135
Động cơ
240,550 Mã lực
Tuổi
35
Nơi ở
Hà Nội
Lót dép hóng thêm
 

moi_lai

Xe tải
Biển số
OF-41909
Ngày cấp bằng
30/7/09
Số km
277
Động cơ
468,970 Mã lực
Bác có gắn thêm module gì như radio hay GPS vào con Pi của bác không, hay chỉ đơn thuần là điều khiển các chức năng trên Pi bằng Rotary.
em chỉ dùng pi để chơi nhạc flac và mp4 thôi. hàng chân GPIO của em còn nguyên. em chỉ đơn thuần là điều khiển KODI thôi
 

ngochoangimsat

Xe tăng
Biển số
OF-201349
Ngày cấp bằng
9/7/13
Số km
1,983
Động cơ
342,040 Mã lực
cám ơn cụ trước. Nhu cầu của em là dùng rotary để điều khiển: nếu nhấn 1 lần thì stop/play hoặc chọn mục chon tùy theo ngữ cảnh màn hình, xoay phải trái để next/back hoặc di chuyển giữa các mục chọn. em demo cái núm bấm ợ.


Núm và đế


lắp Rotary vào



Sau khi hoàn tất
Cái này em code được để dùng qua cổng USB, code thẳng trên RPI dùng GPIO em chưa học cách tương tác với nó vì ngôn ngữ lập trình trên RPI em chưa đọc qua lần nào nhưng chắc chắn là code bình thường.
Cụ nghía qua cái thớt này về cách làm với bo arduino tương tác qua úsb http://forum.carpad.vn/threads/lap-trinh-arduino-khien-vo-lang-cho-dau-android.202/
Kết hợp đoạn code mẫu cho Rotate Encoder dưới đây nữa có thể làm mọi thứ ạ
Mã:
#define outputA 6
#define outputB 7

int counter = 0;
int aState;
int aLastState;

void setup() {
   pinMode (outputA,INPUT);
   pinMode (outputB,INPUT);
  
   Serial.begin (9600);
   // Reads the initial state of the outputA
   aLastState = digitalRead(outputA);  
}

void loop() {
   aState = digitalRead(outputA); // Reads the "current" state of the outputA
   // If the previous and the current state of the outputA are different, that means a Pulse has occured
   if (aState != aLastState){    
     // If the outputB state is different to the outputA state, that means the encoder is rotating clockwise
     if (digitalRead(outputB) != aState) {
       counter ++;
     } else {
       counter --;
     }
     Serial.print("Position: ");
     Serial.println(counter);
   }
   aLastState = aState; // Updates the previous state of the outputA with the current state
}
Mã trên arduino có thể code cho cái nút bấm của rotate encode làm được vài chức năng. Các thứ còn lại gán theo ngữ cảnh trong addon Key Map của KODI
 

moi_lai

Xe tải
Biển số
OF-41909
Ngày cấp bằng
30/7/09
Số km
277
Động cơ
468,970 Mã lực
Cái này em code được để dùng qua cổng USB, code thẳng trên RPI dùng GPIO em chưa học cách tương tác với nó vì ngôn ngữ lập trình trên RPI em chưa đọc qua lần nào nhưng chắc chắn là code bình thường.
Cụ nghía qua cái thớt này về cách làm với bo arduino tương tác qua úsb http://forum.carpad.vn/threads/lap-trinh-arduino-khien-vo-lang-cho-dau-android.202/
Kết hợp đoạn code mẫu cho Rotate Encoder dưới đây nữa có thể làm mọi thứ ạ
Mã:
#define outputA 6
#define outputB 7

int counter = 0;
int aState;
int aLastState;

void setup() {
   pinMode (outputA,INPUT);
   pinMode (outputB,INPUT);
 
   Serial.begin (9600);
   // Reads the initial state of the outputA
   aLastState = digitalRead(outputA); 
}

void loop() {
   aState = digitalRead(outputA); // Reads the "current" state of the outputA
   // If the previous and the current state of the outputA are different, that means a Pulse has occured
   if (aState != aLastState){   
     // If the outputB state is different to the outputA state, that means the encoder is rotating clockwise
     if (digitalRead(outputB) != aState) {
       counter ++;
     } else {
       counter --;
     }
     Serial.print("Position: ");
     Serial.println(counter);
   }
   aLastState = aState; // Updates the previous state of the outputA with the current state
}
Mã trên arduino có thể code cho cái nút bấm của rotate encode làm được vài chức năng. Các thứ còn lại gán theo ngữ cảnh trong addon Key Map của KODI
cám ơn cụ nhiều. Chờ ra tết rảnh em nghiên cứu phát
 

Last_Joker

Xe hơi
Biển số
OF-326542
Ngày cấp bằng
10/7/14
Số km
109
Động cơ
286,790 Mã lực
Website
www.hoangpoet.com
cám ơn bài viết rất bổ ích
 

nguyendj

Xe đạp
Biển số
OF-53337
Ngày cấp bằng
21/12/09
Số km
41
Động cơ
452,210 Mã lực
Các cụ có nghiên cứu thêm dùng Pi như blackbox hay như autopi.io. Chứ chỉ dùng như media center thì không khai thác tối đa được


Sent from my iPhone using Tapatalk
 

xekodidobo

Xe tải
Biển số
OF-136518
Ngày cấp bằng
30/3/12
Số km
287
Động cơ
371,660 Mã lực
Nơi ở
Thái Hà
Lâu không ngó thấy cụ Hoàng mặc dù hỗ trợ anh em chơi android dvd rất nhiều nhưng vẫn say sưa với con Pi này nhỉ.
 

phucbqp

Xe hơi
Biển số
OF-543881
Ngày cấp bằng
1/12/17
Số km
150
Động cơ
163,223 Mã lực
Xin lỗi cụ, trong tết e bận quá nên ko kịp nghiên cứu cho cụ. Tranh thủ đầu năm đi làm e chạy qua mua con Rotary Encoder về nghiên cứu cho cụ và có một vài kết quả như sau (chắc cụ đã dựng đc Pi chơi thì cũng đã thao tác quen với Pi, nên e xin phép một số thao tác sẽ rút gọn một chút):

1. Cụ cài hdh Rasbian Jessie lên con Pi
2. Cài Kodi phiên bản mới (E dùng 17.3)
3. Cài đặt Addons CarPC Controller
4. Mua Rotary Encoder (RE) như hình trong liên kết sau
https://goo.gl/images/qNzBYU
E mua con này tại banlinhkkien.com có 20 k
5. Kết nối RE với GPIO của Pi theo sơ đồ sau:
- Chân + đấu với chân 3.3 V
- Chân GND đấu với GND
- Chân SW đấu với một chân GPIO nào đấy (em đấu với chân 10)
- Chân CLK và DT đấu với 2 chân GPIO khác (em đấu chân 11 và chân 9)
6. Sử dụng lệnh gpio readall để kiểm tra trạng thái tín hiệu các chân xem đúng chưa
Ví dụ kết quả như hình sau
https://goo.gl/images/tTiFdt
Cụ chay câu lệnh này trước, nhớ giá trị ở cột V là giá trị tín hiệu điện ở các chân mình nối vào. Sau đó xoay RE một nấc, rồi chạy lại câu lệnh xem giá trị có thay đổi không (ví dụ từ 0 chuyển thành 1). Cụ kiểm tra cả hai chiều xoay và cả việc nhấn. Nếu giá trị các chân thay đổi sau mỗi lần thực hiện thì có nghĩa là RE của cụ đã sẵn sàng phục vụ.
7. Ghi nhớ lại giá trị các chân SW, CLK, DT theo cột BCM tương ứng
8. Chạy Kodi và chạy Addons CarPC Controller
9. Chọn tab Encoder
Phiên bản Kodi 17.3 hỗ trợ gắn thêm nhiều RE vào, nếu cụ chỉ có một RE thì trong tab này nhấn chuột ở dấu mũi tên để giảm số lượng RE về 1. Sau đó nhập giá trị chân cho RE của mình.
E không phải là dân điện tử nên không rõ Pin A là CLK hay DT nên cứ gán thử rồi thay lại. Nếu cụ biết rõ Pin A, Pin B là chân nào tương ứng với CLK và DT thì nhập vào cho đúng.
Chú ý: Giá trị chân này chính là giá trị e bảo cụ nhớ ở phần trên
10. Chọn tab Mapping
Phần này sẽ cho phép mình gán câu lệnh vào thao tác. Có một số chú ý sau:
- Kodi cho phép điều khiển các chức năng của Radio và Kodi riêng, nên nó sẽ yêu cầu cụ chọn cho từng thằng riêng
- Có nhiều lệnh điều khiển cụ thể, nhưng em ko có thời gian tìm hiểu hết nên mong cụ đọc thêm để chọn cái phù hợp cho mình (E đã thử điều khiển bằng các lệnh volumn_plus và volumn_minus thì thấy OK.
11. Chọn nút Ok để tận hưởng thành quả của mình.

Ngoài ra cụ chú ý một số điều sau:
- Đấu các chân GPIO với RE khi đã tắt nguồn PI
- Cụ in sẵn bảng sơ đồ chân GPIO ra, nhưng chú ý có 2 chuẩn là WPI và BCM. Trong CarPC Controller nó tuân theo chuẩn BCM
- Hiện nay có rất nhiều giao diện cho Kodi để phục vụ dự án CarPC, cụ có thể down về và thiết lập cho mình. Giao diện có thể cá nhân hoá được và cực kỳ Pro.
- Cụ có thể cắm thêm con USB 3G để kết nối Internet thì cụ sẽ có một nguồn tài nguyên vô tận cho con Pi của mình.
- Cụ có thể cài thêm Addons GPIO Diagnostic để theo dõi tín hiệu chân GPIO thay vì phải chạy câu lệnh gpio readall nhiều lần
- Xin lỗi cụ vì không chụp đc ảnh quá trình làm vì em làm trực tiếp trên màn hình với Pi và Post lại cho cụ trên máy tính

Chúc cụ thành công
 

moi_lai

Xe tải
Biển số
OF-41909
Ngày cấp bằng
30/7/09
Số km
277
Động cơ
468,970 Mã lực
Xin lỗi cụ, trong tết e bận quá nên ko kịp nghiên cứu cho cụ. Tranh thủ đầu năm đi làm e chạy qua mua con Rotary Encoder về nghiên cứu cho cụ và có một vài kết quả như sau (chắc cụ đã dựng đc Pi chơi thì cũng đã thao tác quen với Pi, nên e xin phép một số thao tác sẽ rút gọn một chút):

1. Cụ cài hdh Rasbian Jessie lên con Pi
2. Cài Kodi phiên bản mới (E dùng 17.3)
3. Cài đặt Addons CarPC Controller
4. Mua Rotary Encoder (RE) như hình trong liên kết sau
https://goo.gl/images/qNzBYU
E mua con này tại banlinhkkien.com có 20 k
5. Kết nối RE với GPIO của Pi theo sơ đồ sau:
- Chân + đấu với chân 3.3 V
- Chân GND đấu với GND
- Chân SW đấu với một chân GPIO nào đấy (em đấu với chân 10)
- Chân CLK và DT đấu với 2 chân GPIO khác (em đấu chân 11 và chân 9)
6. Sử dụng lệnh gpio readall để kiểm tra trạng thái tín hiệu các chân xem đúng chưa
Ví dụ kết quả như hình sau
https://goo.gl/images/tTiFdt
Cụ chay câu lệnh này trước, nhớ giá trị ở cột V là giá trị tín hiệu điện ở các chân mình nối vào. Sau đó xoay RE một nấc, rồi chạy lại câu lệnh xem giá trị có thay đổi không (ví dụ từ 0 chuyển thành 1). Cụ kiểm tra cả hai chiều xoay và cả việc nhấn. Nếu giá trị các chân thay đổi sau mỗi lần thực hiện thì có nghĩa là RE của cụ đã sẵn sàng phục vụ.
7. Ghi nhớ lại giá trị các chân SW, CLK, DT theo cột BCM tương ứng
8. Chạy Kodi và chạy Addons CarPC Controller
9. Chọn tab Encoder
Phiên bản Kodi 17.3 hỗ trợ gắn thêm nhiều RE vào, nếu cụ chỉ có một RE thì trong tab này nhấn chuột ở dấu mũi tên để giảm số lượng RE về 1. Sau đó nhập giá trị chân cho RE của mình.
E không phải là dân điện tử nên không rõ Pin A là CLK hay DT nên cứ gán thử rồi thay lại. Nếu cụ biết rõ Pin A, Pin B là chân nào tương ứng với CLK và DT thì nhập vào cho đúng.
Chú ý: Giá trị chân này chính là giá trị e bảo cụ nhớ ở phần trên
10. Chọn tab Mapping
Phần này sẽ cho phép mình gán câu lệnh vào thao tác. Có một số chú ý sau:
- Kodi cho phép điều khiển các chức năng của Radio và Kodi riêng, nên nó sẽ yêu cầu cụ chọn cho từng thằng riêng
- Có nhiều lệnh điều khiển cụ thể, nhưng em ko có thời gian tìm hiểu hết nên mong cụ đọc thêm để chọn cái phù hợp cho mình (E đã thử điều khiển bằng các lệnh volumn_plus và volumn_minus thì thấy OK.
11. Chọn nút Ok để tận hưởng thành quả của mình.

Ngoài ra cụ chú ý một số điều sau:
- Đấu các chân GPIO với RE khi đã tắt nguồn PI
- Cụ in sẵn bảng sơ đồ chân GPIO ra, nhưng chú ý có 2 chuẩn là WPI và BCM. Trong CarPC Controller nó tuân theo chuẩn BCM
- Hiện nay có rất nhiều giao diện cho Kodi để phục vụ dự án CarPC, cụ có thể down về và thiết lập cho mình. Giao diện có thể cá nhân hoá được và cực kỳ Pro.
- Cụ có thể cắm thêm con USB 3G để kết nối Internet thì cụ sẽ có một nguồn tài nguyên vô tận cho con Pi của mình.
- Cụ có thể cài thêm Addons GPIO Diagnostic để theo dõi tín hiệu chân GPIO thay vì phải chạy câu lệnh gpio readall nhiều lần
- Xin lỗi cụ vì không chụp đc ảnh quá trình làm vì em làm trực tiếp trên màn hình với Pi và Post lại cho cụ trên máy tính

Chúc cụ thành công
cám ơn cụ rất nhiều. em sẽ thử và báo cáo kết quả khi có thể. tiện thể cụ post luôn hộ em cái Addons CarPC Controller lên với ạ. em tìm mà nó ra nhiều quá không biết theo cái nào
 
Chỉnh sửa cuối:

phucbqp

Xe hơi
Biển số
OF-543881
Ngày cấp bằng
1/12/17
Số km
150
Động cơ
163,223 Mã lực
cám ơn cụ rất nhiều. em sẽ thử và báo cáo kết quả khi có thể. tiện thể cụ post luôn hộ em cái Addons CarPC Controller lên với ạ. em tìm mà nó ra nhiều quá không biết theo cái nào
Cụ vào đây download về và copy vào thư mục Addon của Kodi nhé
https://drive.google.com/file/d/155F6EmrQH6jG-pFI0cP1cM_e-m4v6zNP/view?usp=sharing
Thằng này nó là cái mở rộng của dự án CarPC nên down bên ngoài không có đâu
 

moi_lai

Xe tải
Biển số
OF-41909
Ngày cấp bằng
30/7/09
Số km
277
Động cơ
468,970 Mã lực

phucbqp

Xe hơi
Biển số
OF-543881
Ngày cấp bằng
1/12/17
Số km
150
Động cơ
163,223 Mã lực
Cám ơn cụ. mà cho em hỏi nốt: đây là addon của kodi thì nó có phj thuộc vào HĐH không nhỉ. em đang lười cài lại HĐH
Kính cụ, thực ra cái dự án CarPC đang chạy tốt và ổn định trên hđh Jessie. Addon CarPC Controller là môt phần trong sự phát triển của dự án đó. Cụ chỉ mất 15' write image là xong thôi mà. Nếu lười thì cụ cứ thử xem có đc ko, chứ e thì chưa thử.
 
Thông tin thớt
Đang tải

Bài viết mới

Top