blog นี้จะกล่าวถึง Raspberry Pi Raspbian เป็นหลัก โดยจะอธิบายทั้งการใช้ windows และ Linux ในการเชื่อมต่อ วิธีอ่าน : ให้เริ่มอ่านตั้งแต่หัวข้อแรกๆขึ้นมา(ให้ดูที่ "คลังบทความ" ทางด้านขวามือ จะมี วัน-เวลา ไล่เรียงอยู่) ไม่งั้นอาจจะงงได้ สำหรับมือใหม่ หรือท่านใดที่ไม่เข้าใจ สามารถ mail มาถามกันได้ครับ ที่ kongimi1980@gmail.com หรือที่ line : 0814282425
วันจันทร์ที่ 11 กรกฎาคม พ.ศ. 2559
qt ตัวอย่างการส่ง serial port hex charactor, การรับค่า serial, การเปรียบเทียบ QByteArray กับ int
#include <QtSerialPort>
#include <QtSerialPort/QSerialPort>
void class::my_class()
{
serial->setPortName("COM9");
if (serial->isOpen()){
serial->close();
qDebug() << "serial close";
}
else{
qDebug() << "serial already close.";
}
if (serial->open(QIODevice::ReadWrite)) {
serial->setBaudRate(19200);
serial->setDataBits(QSerialPort::Data8);
serial->setParity(QSerialPort::EvenParity);
serial->setStopBits(QSerialPort::OneStop);
serial->setFlowControl(QSerialPort::NoFlowControl);
}
}
my_function()
{
char buff[16];
int hhh;
for(hhh=0;hhh<=15;hhh++)
{
buff[0] = hhh;
serial->write(buff,1);
}
}
my_function2()
{
QByteArray input;
char buff[16];
int hhh;
for(hhh=0;hhh<=15;hhh++)
{
buff[0] = hhh;
serial->write(buff,1);
serial->waitForBytesWritten(100);
serial->waitForReadyRead(100);
input = serial->readAll();
if (input == ""){
qDebug() << "status" << hhh << " = Lost.";
}else if( quint8(input[0]) == quint8(0x60+hhh)){
qDebug() << "status" << hhh << " = Hot.";
}
}
serial->flush();
}
วันศุกร์ที่ 29 เมษายน พ.ศ. 2559
RPI ป้องกัน sleep mode
1. sudo nano /etc/lightdm/lightdm.conf
2. ให้เพิ่มบรรทัดนี้เข้าไป
[SeatDefaults]
แต่ถ้ายังไม่ได้ผล ให้ใช้วิธีนี้ครับ
sudo apt-get install xscreensaver
แล้วไปที่เมนู preferences (ด้านล่างซ้ายมือ jessie) ==> Screensaver
แล้วไปเลือก disable screen saver
จอบอ
ที่มา
http://stackoverflow.com/questions/30985964/how-to-disable-sleeping-on-raspberry-pi
วันพฤหัสบดีที่ 28 เมษายน พ.ศ. 2559
RPI LCD 7 นิ้ว touch screen ยี่ห้อ waveshare
พอจะใช้งาน เราก็ต้องศึกษากันสักหน่อยว่าใช้งานยังไง
ก็เจอ เวปนี้ ที่ thaieasyelect เขาแนะนำมา
ซึ่งเขาก็บอกรายละเอียดที่สำคัญหลายอย่าง เช่น
- ต้องใช้ power supply 5V 2A ไม่งั้นจะจ่ายไฟไม่พอ
- ต้องลง driver เพิ่ม จึงจะใช้งานได้
- image ที่ให้มา เป็น image เปล่าที่ใช้กับจอ LCD นี้เท่านั้น อะไรที่เราเคยลงไว้ใน sd card จะหายหมด
ซึ่งตอนแรกผมก็ลองลง image ที่เขาให้มา แต่ว่าใช้ไม่ได้ จอไม่ขึ้นภาพ ก็เลยศึกษาต่อ
เห็นในหน้าเวปมีลิงค์ไปให้อ่าน manual ก็คลิกเข้าไป
พอเข้าไปดู ก็ถึงบางอ้อออออ ต้อง config ก่อน โดย
เข้าไปแก้ไข /boot/config.txt ดังนี้
ให้เพิ่ม
max_usb_current=1
และแก้ไข
hdmi_group=2
hdmi_mode=87
hdmi_cvt 1024 600 60 6 0 0 0
save แล้วก็นำออกมา เอาไปใส่ rpi
เมื่อ boot เสร็จแล้ว เราก็ควรทำให้มันเปิดหน้า startx ขึ้นมาอัตโนมัติ โดยใช้คำสั่งดังนี้
sudo raspi-config
เข้าไปเมนู Enable boot to desktop...
แล้วเลือก Login as user PI at the graphical desktop
เลือก finish เพื่อ restart
ทีนี้แสดงผลได้ละ สวยงาม
แต่พอลองแตะที่หน้าจอ เอ๊ะ!!! ใช้ไม่ได้
ก็ลองอ่านๆๆต่อไปจากของเดิม เจอมันบอกว่า ให้อ่าน manual firmware rev2.1 ก่อนนะก๊ะ โอเค อ่านก็อ่าน
เจอว่ามันมี driver ให้ download ก็เอามาลงที่เครื่องเรา
แล้วทำตามขั้นตอนต่อไป
เมื่อได้ไฟล์มาแล้ว ก็ remote เอาลงที่เครื่อง RPI ตรงไหนก็ได้ วางๆไปเถอะ
แล้วเราก็แตกไฟล์
- sudo tar zxvf filename.tar.gz
แล้วก็เข้าไปในโฟลเดอร์นั้นๆ
- cd dir_file_name
แล้วก็รันคำสั่ง
- sudo ./USB_TOUCH_CAP_7.0_RASBIAN
เมื่อรันเสร็จ เครื่องจะ restart อัตโนมัติ และเมื่อ boot ขึ้นมาใหม่ก็จะใช้งาน touch screen ได้เลย
หรือจะทำตามนี้ก็ได้เหมือนกัน
https://www.waveshare.com/wiki/7inch_HDMI_LCD_(B)
จอบอ.
วันพฤหัสบดีที่ 21 เมษายน พ.ศ. 2559
qt แสดงรูป ด้วย qpixmap
แล้วเพิ่ม qlabel เข้าไป ด้วยการลาก qlabel จากเมนูด้านซ้ายมือ เข้าไปใน ui
แล้วก็เพิ่มรูปภาพเข้าไป ด้วยการเลือกที่เมนู pixmap (property)
กลับมาที่หน้า mainwindow.cpp และ พิมพ์เพิ่ม
#include <QPixmap>
และเพิ่ม
QPixmap pix("path_of_your_pic/pic.png");
ui -> label -> setPixmap(pix);
เข้าไปในโปรแกรม ตรงส่วนที่ต้องการแสดงรูป
โดย label คือ ชื่อของ label ที่เราลากไปวางใน ui ตอนแรก
ที่มา
https://www.youtube.com/watch?v=pzzccU9mErg
วันพุธที่ 20 เมษายน พ.ศ. 2559
qt สร้าง หน้าต่าง ใหม่ โดยการคลิกปุ่ม
https://www.youtube.com/watch?v=tP70B-pdTH0
วันจันทร์ที่ 4 เมษายน พ.ศ. 2559
วิธีลง qt serial
จึงได้ทำใหม่ทั้งหมด
โดยการ upgrade เป็น raspbian jessie หรือจะโหลด image ใหม่เลยก็ได้ แล้วก็ลง qt5 ตาม ซึ่งใน link จะรวมถึงการลง qt serial ด้วยเลย
ต้องขอขอบคุณ Thai easy elect มากๆครับ ที่เผยแพร่ความรู้ให้คนที่มาเล่นที่หลัง



