วันจันทร์ที่ 28 พฤศจิกายน พ.ศ. 2559

ติดตั้งจอ PiTFT 2.8 บน Raspberry Pi A+ อีกครั้ง

หลังจากที่ไม่ได้ใช้จอ PiTFT 2.8 เป็นเวลาหลายเดือนก็นึกอยากใช้อีกครั้ง คราวนี้กลับไปหาดาวน์โหลด Image File ตัวใหม่ของ Raspberry Pi ที่สนับสนุนการทำงานของจอ PiTFT ก็ดาวน์โหลดจากเว็บ Adafruit นั่นแหละ

แต่ลงไปแล้วยังไงก็ไม่ผ่าน หน้าจอติดแต่ไม่สามารถใช้จอสัมผัสได้ เช็คแล้วติด Error ที่ spi เช็คอยู่นานสุดท้ายถึงบางอ้อตรงที่จอเป็น Capacitive แต่ไปโหลด Image ของ Resistive มานี่เอง คราวนี้จึงเขียนใหม่อีกอีกรอบ

รายละเอียดทางเทคนิคของ Raspberry Pi A+

  • BCM2835
    • The Broadcom processor used in Raspberry Pi 1
  • BCM2836
    • The Broadcom processor used in Raspberry Pi 2
The Model A+ is the low-cost variant of the Raspberry Pi. It replaced the original Model A in November 2014. Compared to the Model A it has:
  • More GPIO. The GPIO header has grown to 40 pins, while retaining the same pinout for the first 26 pins as the Model A and B.
  • Micro SD. The old friction-fit SD card socket has been replaced with a much nicer push-push micro SD version.
  • Lower power consumption. By replacing linear regulators with switching ones we’ve reduced power consumption by between 0.5W and 1W.
  • Better audio. The audio circuit incorporates a dedicated low-noise power supply.
  • Smaller, neater form factor. We’ve aligned the USB connector with the board edge, moved composite video onto the 3.5mm jack, and added four squarely-placed mounting holes. Model A+ is approximately 2cm shorter than the Model A.

Image สำหรับ PiTFT แบบ Capacitive

ไฟล์ image ของ PiTFT แบบ Capacitive จะอยู่ในลิงค์นี้

https://learn.adafruit.com/adafruit-2-8-pitft-capacitive-touch/easy-install

หากโหลดแล้วสังเกตชื่อไฟล์จะเป็น 28c ตรงนี้ต้องสังเกตนิดหนึ่งไม่งั้นจะงงอยู่นานเลยทีเดียว

เมื่อดาวน์โหลดเรียบร้อยแล้วก็แตกไฟล์ zip ไว้ภายในจะมีไฟล์ .img เป็น Image File ของ Raspbian จากนั้นให้ใช้ Win32DiskImage เขียนไฟล์ Image ลง SD Card แล้วนำไปบูต Raspberry Pi A+

เชื่อมต่อ Raspberry Pi A+ กับคอมพิวเตอร์

Raspberry Pi A+ นั้นจะมี USB เพียง 1 พอร์ต ถ้าจะใช้มากกว่านั้นต้องต่อ USB Hub เพิ่มเติม แล้วต่อเมาส์และคีย์บอร์ดเพื่อตั้งค่า Wireless ครั้งแรก แต่ก็จะยุ่งยากเพราะหน้าจอแค่ 2.8 นิ้ว จะพิมพ์ยากพอสมควร ดังนั้นหากให้ง่ายควรใช้วิธีการเชื่อมต่อผ่าน UART โดยใช้สาย USB ต่อเข้ากับ UART ของ Raspberry Pi

USB: tx  -> RASPI: rx 
USB: rx  -> RASPI: tx
USB: gnd -> RASPI: gnd

ถ้าต้องการใช้ไฟจาก USB ก็ต่อเพิ่ม

USB: 5v  -> RASPI: gnd

ข้อควรระวังตัวแปลงสัญญานบางรุ่นจะใช้ไฟ 5V ผ่าน UART ซึ่งระยะยาวจะไม่ค่อยดีสำหรับ Raspberry Pi ดังนั้นควรเลือกตัวแปลงที่ส่งสัญญาน 3.3v ได้ จะเหมาะกว่า

ตามปกติผู้เขียนจะนิยมเชื่อมต่อผ่าน UART โดยใช้โปรแกรม Putty เชื่อมต่อผ่าน Serial Port โดยเลือก Port ให้ถูกต้องและกำหนดความเร็วเป็น 115200

เมื่อเชื่อมต่อแล้วหากหน้าจอว่างเปล่าให้ลองกดปุ่ม Enter ครั้งหนึ่ง ก็จะมีหน้าจอ Login ให้ล็อกอินด้วยรหัส pi และรหัสผ่าน raspberry

เชื่อมต่อ Wi-Fi

Raspbian เวอร์ชันใหม่ๆ จะควบคุมการเชื่อมต่อผ่านไฟล์ wpa_supplicant.conf ให้เพิ่มคำสั่งตามนี้

$ sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
เพิ่ม
network={  ssid="ชื่อ SSID"  psk="รหัสผ่าน"}

ติดตั้ง Kernel ใหม่สำหรับ PiTFT

curl -SLs https://apt.adafruit.com/add-pin | sudo bash
sudo apt-get install -y raspberrypi-bootloader adafruit-pitft-helper raspberrypi-kernel
ขั้นตอนการติดตั้ง Boot Loader จะใช้เวลานานพอสมควร กว่าจะเรียบร้อยก็ประมาณครึ่งชั่วโมง

ใช้งานและปรับแต่ง PiTFT

pitft-helper จะเป็นโปรแกรมช่วยปรับแต่งค่าต่างๆ ให้กับ Raspberry Pi และ PiTFT สุดท้ายโปรแกรมติดตั้งจะถามให้เปิดใช้ GPIO ที่ 23 สำหรับ ปิด-เปิด ระบบหรือไม่ให้เลือก Y เพื่อใช้ปุ่ม 23 ได้
sudo adafruit-pitft-helper -t 28c
เมื่อรันเสร็จแล้วข้อควรระวัง ห้ามใช้คำสั่ง sudo apt-get update เด็ดขาด ไม่เช่นนั้นเราต้องมาเริ่มต้นกันใหม่


ติดตั้ง XWindow 

สำหรับ image แบบ lite นั้นจะไม่มี x-window มาให้ต้องติดตั้งเอาเอง และที่ง่ายที่สุดก็คือ การติดตั้ง lxde แต่หน้าจอจะไม่เหมือนกับรุ่น Official ดูเป็น Linux รุ่นเก่าๆ เลยทีเดียว แต่ก็ไม่ใช่สาระสำคัญเพราะเราต้องการใช้เพื่อเป็นพื้นฐานในการรันโปรแกรมแบบ Graphics เท่านั้น

sudo apt-get install lxde-core lxappearance lightdm xutils xinit xterm 

เรียกใช้งาน x-window

การเรียกใช้งาน x-window จะมีคำสั่งหลายบรรทัด แต่หากต้องการเรียกอัตโนมัติให้ใส่ไว้ใน rc.local (ในลำดับขั้นตอนต่อไป) และถ้าไม่พบ /X11/xorg.conf.d แสดงว่ายังไม่ได้ลง x-window ให้ทำขั้นตอนที่ผ่านมาก่อน

sudo mv /usr/share/X11/xorg.conf.d/99-fbturbo.conf ~
export FRAMEBUFFER=/dev/fb1
startx

ไม่มีความคิดเห็น:

แสดงความคิดเห็น

Gtk4 ตอนที่ 6 Defining a Child object

Defining a Child object A Very Simple Editor ในบทความที่ผ่านมาเราสร้างโปรแกรมอ่านไฟล์ชนิดข้อความ และในบทความนี้ก็จะมาปรับแต่งโปรแกรมกันสักหน...