blog นี้จะกล่าวถึง Raspberry Pi Raspbian เป็นหลัก โดยจะอธิบายทั้งการใช้ windows และ Linux ในการเชื่อมต่อ วิธีอ่าน : ให้เริ่มอ่านตั้งแต่หัวข้อแรกๆขึ้นมา(ให้ดูที่ "คลังบทความ" ทางด้านขวามือ จะมี วัน-เวลา ไล่เรียงอยู่) ไม่งั้นอาจจะงงได้ สำหรับมือใหม่ หรือท่านใดที่ไม่เข้าใจ สามารถ mail มาถามกันได้ครับ ที่ kongimi1980@gmail.com หรือที่ line : 0814282425
วันอังคารที่ 14 มีนาคม พ.ศ. 2560
raspberry pi ฟอนต์ไทย, add font thai, thai font, เปลี่ยนเป็นภาษาไทย
1. หาฟอนต์มา เวปไหนก็ได้ที่ให้ดาวน์โหลดฟรี ตัวอย่างเช่น
http://www.f0nt.com/author/bangli-ko-sa-na/
2. ทำการ add font ตามนี้
ให้ copy file.ttf ที่ donwload มา ใส่ใน /usr/share/fonts/truetype
3. เปลี่ยน keyboard layout ตามนี้
3.1 sudo nano /etc/default/keyboard
3.2 แก้ไขไฟล์ ตามนี้
# KEYBOARD CONFIGURATION FILE
# Consult the keyboard(5) manual page.
XKBMODEL="pc105"
XKBLAYOUT="us,th"
XKBVARIANT=""
XKBOPTIONS="grp:alt_shift_toggle,grp_led:scroll us,th"
BACKSPACE="guess"
4. reboot
ถ้าต้องการเปลี่ยนภาษา ให้กด alt + shift
ที่มา
http://www.f0nt.com/author/bangli-ko-sa-na/
http://www.raspberry-projects.com/pi/pi-operating-systems/raspbian/gui/fonts-2
http://www.mindphp.com/forums/viewtopic.php?f=215&t=34602
มีอีกวิธีนึง
https://opensource.cc.psu.ac.th/%E0%B8%95%E0%B8%B4%E0%B8%94%E0%B8%95%E0%B8%B1%E0%B9%89%E0%B8%87%E0%B8%9F%E0%B8%AD%E0%B8%99%E0%B8%95%E0%B9%8C%E0%B8%A0%E0%B8%B2%E0%B8%A9%E0%B8%B2%E0%B9%84%E0%B8%97%E0%B8%A2%E0%B8%9A%E0%B8%99_ubuntu_16.04_server
ทำเสร็จแล้วก็ reboot
วันพุธที่ 11 มกราคม พ.ศ. 2560
qt paint วาดวงกลม ระบายวงกลม วาดรูป
1. ใน mainwindow.h พิมพ์เพิ่มใน class MainWindow : public QMainWindow ดังนี้
protected:
void paintEvent(QPaintEvent *e);
2. ใน mainwindow.cpp ให้เพิ่ม #include <QPainter>
3. ใน mainwindow.cpp ให้เพิ่ม
void MainWindow::paintEvent(QPaintEvent *e){
QPen pen = QPen(Qt::black,2,Qt::PenStyle(Qt::SolidLine));
QRect rec(100,100,100,100);
QPainter p(this);
p.setPen(pen);
p.setBrush(Qt::cyan);
p.drawEllipse(rec);
p.drawArc(rec,0,360*16);
}
ถ้าต้องการให้รูปมีการเปลี่ยนแปลงให้ใช้คำสั่ง QWidget::update();
ที่มา
http://stackoverflow.com/questions/17375808/qt-drawing-a-circle
https://www.youtube.com/watch?v=xXV3_mktCmY
https://www.youtube.com/watch?v=-K-VU9I4ffY
วันอังคารที่ 10 มกราคม พ.ศ. 2560
qt สั่งเปิดโปรแกรม python
1. #include <QProcess> เพิ่มใน mainwindow.cpp
2. QProcess sysComm; (เอาไว้ใต้ include เพื่อให้สามารถใช้ได้ทั่วทุกฟังก์ชัน)
3. sysComm.start("python /home/pi/test.py"); สั่งเปิดโปรแกรม test.py ด้วย python
4. sysComm.waitForStarted();
5. sysComm.waitForFinished(); เพื่อรอให้โปรแกรมจบ
ลองเล่นกันดูครับ
วันพฤหัสบดีที่ 5 มกราคม พ.ศ. 2560
การใช้ qt serial port
ให้ทำดังต่อไปนี้
1. ไปที่ .pro แล้วพิมพ์เพิ่ม เป็น QT += core gui serialport
2. กดเมนู build เลือก run qmake
3. เข้าไฟล์ .cpp แล้ว include <QSerialPort>
4. ประกาศตัวแปร serial โดยพิมพ์เพิ่ม ใต้ include ดังนี้ QSerialPort *serial;
5. แล้วไปที่ตัว main เพื่อเริ่มกำหนดค่าต่างๆให้ serial ดังนี้
serial-> new QSerialPort(this);
serial->setPortName("/dev/ttyUSB0");
serial->setBaudRate(QSerialPort::Baud9600);
serial->setDataBits(QSerialPort::Data8);
serial->setParity(QSerialPort::NoParity);
serial->setStopBits(QSerialPort::OneStop);
serial->setFlowControl(QSerialPort::NoFlowControl);
serial->open(QIODevice::ReadWrite);
serial->write("ok.");
6. พิมพ์เพิ่มในตอนปิดโปรแกรม ดังนี้
MainWindow::~MainWindow()
{
delete ui.
serial->close();
}
7.MainWindow.h ให้เพิ่มดังนี้
Private slots:
void serialReceive();
8. ใน MainWindow.cpp ให้พิมพ์ดังนี้
void MainWindow::serialReceive()
{
QByteArray ba;
ba = serial->readAll();
qDebug() << ba;
}
9. พิมพ์ต่อจาก serial->write("ok.")
connect(serial, SIGNAL(readyRead()), this, SLOT(serialReceive()));
แล้วลองรันดู
โปรแกรมนี้จะส่ง "ok." ออกไป
และถ้าได้รับข้อมูลอะไรกลับมา ก็จะแสดงที่ qDebug
ตัวอย่าง การใช้งาน
https://github.com/kongimi/QrCodeSerialPortQtRpi
ที่มา
https://www.youtube.com/watch?v=UD78xyKbrfk