# Máy, thiết bị và sản phẩm khác > Điện - Điện tử - Tự động hóa > Arduino >  Raspberry Pi - Cài đặt hệ điều hành cho RPi2

## CKD

*Cài đặt hệ điều hành (mình gọi là fimware) cho Raspberry Pi2*

Hôm nay mình vọc Raspberry Pi2, trong quá trình vọc thì viết bài này. Mục đích chình là để lưu lại những gì mình đã thực hiện tránh việc sau này khi cần thì có mà lục lại, không cần phải lọ mọ dò tìm trên internet. Do đó, phần lớn nội dung hình ảnh hoặc file nếu có thì mượn từ internet.

Chủ đề có thể có ích cho những bạn mới đang tập tành vọc vạch, không phù hợp với những bật cao thủ nên nếu có cao thủ nào đi ngang xin vui lòng góp ý để chủ để có thể sâu rộng, hoàn thiện, đầy đủ & chính xác hơn. Nếu có bạn nào cũng đang vọc vạch giống mình thì xin nhiệt tình trao đổi.
Rất cảm ơn sự tham gia của tất cả mọi người.

*Raspberry Pi2*?

A 900MHz quad-core ARM Cortex-A7 CPU (~6x performance)1GB LPDDR2 SDRAM (2x memory)Complete compatibility with Raspberry Pi 1
- Xem chi tiết https://www.raspberrypi.org/blog/ras...-pi-2-on-sale/

Firmware có thể download ở link dưới
- https://www.raspberrypi.org/downloads/

Trong đây có rất nhiều firmware được Rasp đề xuất như NOOPS, RASPBIAN, UBUNTU, WIN10 v.v...

Nổi trội với chúng ta có thể là UBUNTU vì có ứng dụng CNC (Linux CNC hay EMC2) hoặc WIN10 IOT  :Big Grin: . Nhưng mình thì lại không rỏ mấy cái firmware này nó khác nhau thế nào, nó chạy nhanh hay chậm vì chưa bao giờ trải nghiệm. Việc này nếu bạn nào đã thử nghiệm xin chút thông tin và ý kiến đánh giá.

*Tại sao là Raspberry Pi2 mà không phải là 1, 3...*?
Dơn giản vì mình đang có Pi2  :Big Grin: 
Ngoài ra mình còn có 3.5" RPi LCD  :Wink: 

Do có 3.5" RPi LCD nên mình dùng firmware đã được cài đặt sẵn driver để out ra LCD mà không phải out ra HDMI như mặc định. Tuy nhiên quá trình cài đặt thì vẫn cần phải có HDMI để config. Do không có màn hình HDMI nên mình cần một adapter HDMI to VGA  :Smile: . Bộ phụ kiện gồm
- RPi2
- 3.5" RPi LCD & Pen
- LB-Link wifi
- Wireless Key & Mouse
- 8G SD card, dung lượng lớn và class to càng tốt.
- Sạc dự phòng (mình từng bị tèo một cái SD card do đang config mà mất điện)


- Hướng dẫn & firmware từ đây
---> cập nhật & hướng dẫn mới nhất https://github.com/goodtft/LCD-show
---> http://www.waveshare.com/wiki/3.5inch_RPi_LCD_(A)
---> https://docs.google.com/uc?id=0B-Z1U...xport=download
Trong đây cũng có hướng dẫn cách để install driver cho NOOBS, mình xin copy lại



> The RPi LCD can be driven in two ways: Method 1. install driver to your Raspbian OS. Method 2. use the Ready-to-use image file of which LCD driver was pre-installed.
> 
> *Method 1*. Driver installation
> Description: The drivers are not available for NOOBS or any system installed by NOOBS.
> 
> If the touch screen doesn't work properly, please install the driver: LCD-show-170703.tar.gz, but not LCD-show-161112.tar.gz.
> 
> LCD-show-170703.tar.gz (network connection is required while installing)
> LCD-show-161112.tar.gz
> ...



*Thực hiện*
1. *Ghi firmware lên SD card. Đề xuất card min là 8G*.
- Download file RPi-35inch-LCD-Raspbian-160728 như ở link trên.
- Dùng 7Z để giải nén.
- Dùng Win32 Disk Image (click here) để ghi lên thẻ SD, nhớ chọn Write

- Quá trình ghi file hơi bị lâu, cố gắng chờ thôi  :Smile: 
2. *Khởi động*
- Cắm thẻ vào RPi2
- Cấp điện cho RPi2, RPi sẽ tự khởi động. _Lưu ý nên dùng PIN để cấp nguồn, tranh tình trăng đang truy xuất SD mà mất điện thì toi._
- Do firmware đã được config sẵn nên mọi thứ cứ thế mà boot, xong nó sẽ tự động hiển thị vào LCD luôn.
3. *Hoán chuyển qua lại giữa HDMI và LCD*
LCD -> HDMI


```
cd LCD-show/
./LCD-hdmi
```

HDMI -> LCD 3.5 RPi


```
cd LCD-show/
./LCD35-show
```

4. Xoay màn hình


```
cd LCD-show/
./LCD35-show 0

cd LCD-show/
./LCD35-show 90

cd LCD-show/
./LCD35-show 180

cd LCD-show/
./LCD35-show 270
```

5. *Touch screen calibration*
Nếu cài đặt từ firmware RPi-35inch-LCD-Raspbian-160728 thì đã có cài sẵn chường trình *Calibrate Touchscreen*, nếu tự cài đặt thì phài cài thêm chương trình này. Cách thức


```
sudo apt-get install -y xinput-calibrator
```

Xong thì chạy lệnh


```
sudo DISPLAY=:0.0 xinput_calibrator
```

Hoặc từ Menu -> Preferences -> Calibrate Touchscreen.

Sau khi Calibrate xong thì nó hiện ra báo cáo này (lưu ý đoạn tô đậm)
_Section "InputClass"
Identifier	"calibration"
MatchProduct	"ADS7846 Touchscreen"
Option	"Calibration"	"3919 208 236 3913"
Option	"SwapAxes"	"1"
EndSection_

Lại tiếp tục chạy lệnh


```
sudo nano /etc/X11/xorg.conf.d/99-calibration.conf
```

_Section "InputClass"
Identifier	"calibration"
MatchProduct	"ADS7846 Touchscreen"
Option	"Calibration"	"160 3723 3896 181"
Option	"SwapAxes"	"1"
EndSection_
Thay đổi đoạn tô đậm bằng nội dung *3919 208 236 3913* trên, xong Ctrl+X để thoát, Y để lưu lại.

Reboot RPi để có hiệu lực config mới.

Tạm nhiêu đó, vọc tiếp thì... viết tiếp.

----------

doanthienthinh, huynhbacan

----------


## CKD

Lần đầu thử cài RPi mà không có được cái màn HDMI nào... buộc thôi.
Lục khắp nhà chỉ có mỗi cái này nó chịu nhận HDMI thôi.

----------

Gamo, minhkhuehd

----------


## minhkhuehd

Xong rồi chạy luôn grbl controller được không nhỉ? Nếu được thì ngon quá vì treo luôn sau cái màn hình cho gọn nhẹ.

----------


## CKD

> Xong rồi chạy luôn grbl controller được không nhỉ? Nếu được thì ngon quá vì treo luôn sau cái màn hình cho gọn nhẹ.


Vụ này mình chưa thử. Có cái thế này...
1. Dùng G-Code Sender trên RPi send G-Code cho Arduino thì vô tư, cái này thấy nhiều bác dùng GRBL review. Mà cách này thì lại chẵng tiện lợi thêm bao nhiêu. Cách tiết kiệm hơn là dùng một Arduino khác làm G-Code Sender sẽ tiệt kiệm hơn. Arduino này có chức năng đọc SD card rồi send cho Arduino GRBL.

2. Chạy trực tiếp GRBL với RPi thông qua GPIO thì... chưa thử chưa dám nói gì  :Big Grin:

----------


## CKD

Nếu cài đặt firmware chưa có LCD-show thì ngoài cách ở trên, theo hướng dẫn từ https://github.com/goodtft/LCD-show thì làm như sau


```
sudo rm -rf LCD-show
git clone https://github.com/goodtft/LCD-show.git
chmod -R 755 LCD-show
cd LCD-show/
```

Để config hiển thị với *RPi3.5* thì


```
sudo ./LCD35-show
```

Để cài đặt trình *Calibrator* thì


```
sudo apt-get install -y xinput-calibrator
```

Để trở lại HDMI thì


```
cd LCD-show
sudo ./LCD-hdmi
```

----------


## changingforlife

Khâm phục bác, em theo dõi rất nhiều ở diễn đàn mà thấy bác ra tay là chỉ có chất.




> Nếu cài đặt firmware chưa có LCD-show thì ngoài cách ở trên, theo hướng dẫn từ https://github.com/goodtft/LCD-show thì làm như sau
> 
> 
> ```
> sudo rm -rf LCD-show
> git clone https://github.com/goodtft/LCD-show.git
> chmod -R 755 LCD-show
> cd LCD-show/
> ```
> ...

----------


## Fusionvie

Trước, em cũng vọc một thời gian với Pi2, dùng hệ điều hành OSMC, sau này dùng Libelec trên nền Kodi để nghe loosless là chính, đọc mấy bài của bác CKD, thật khâm phục bác về sự tỉ mỉ. Em giờ lười, cứ động đến những thứ này là oải

Bộ Pi của em đây

----------

