เทคนิคการใช้ Word ในการทำบรรณานุกรม

ในการทำเอกสารงานวิชาการ/งานวิจัย เมื่อเราอ่านเอกสารจากบทความหรือหนังสือต่าง ๆ แล้วมาเขียนในงานของเราจะต้องมีการอ้างอิงที่มาของเนื้อหาดังกล่าว โดยไปที่ References คลิก Insert Citation  คลิก Add New Source จะแสดง Dialog ดังรูป Type of Source ให้เลือกประเภทของแหล่งข้อมูลเนื้อหาตามต้องการ ไม่ว่าจะเป็นหนังสือ, เอกสารวิชาการ, Conference Proceeding, รายงาน, เอกสารอิเล็กทรอนิกส์, จาก Website ต่าง ๆ ก็สามารถทำอ้างอิงได้ ในที่นี้ขอเลือก Book Author ระบุชื่อผู้แต่ง Title ระบุชื่อหนังสือ Year ระบุปีที่พิมพ์ City ระบุชื่อเมืองที่พิมพ์ Publisher ระบุสำนักพิมพ์ จากนั้นคลิก OK ก็จะได้อ้างอิง ดังรูป พอเราทำเอกสารเสร็จทั้งหมดไปถึงหน้าสุดท้ายแล้ว ถึงเวลาที่เราต้องทำบรรณานุกรมแล้ว ไปที่ References ที่ Style เราสามารถเลือกได้ว่าจะใช้มาตรฐานการอ้างอิงแบบไหน ส่วนใหญ่ก็จะเป็น APA จากนั้นคลิกที่ Bibliography คลิกเลือก Bibliography ก็จะได้บรรณานุกรม ดังรูปโดยที่เราสามารถปรับแต่งขนาดตัวอักษร จัดรูปแบบ และยังสามารถอัพเดตอ้างอิงและบรรณานุกรมได้ด้วยค่ะ อาจจะเป็นเทคนิคเล็ก ๆ น้อย ๆ แต่คิดว่าคงมีประโยชน์กับผู้ที่ทำเอกสารงานวิชาการ/งานวิจัยนะคะ   

Read More »

Raspberry Pi 3 [Drive 16×2 LCD with I2C Interface]

หลังจากตอนที่แล้วเราได้ทำการ setup โปรแกรมที่เราต้องการ ในตอนนี้ขอพูดถึงอุปกรณ์ต่อพ่วงกันบ้าง เพื่อให้ดูเหมือนเข้าสู่ยุค IoT (Internet Of Things) มากขึ้น นั่นคือจอ LCD ระดับเบื้องต้น ขนาด 16×2 ดังรูปนี้ ซึ่งอุปกรณ์ตัวนี้ สามารถแสดงผลได้ 2 แถว แถวละ 16 ตัวอักษร ซึ่งเพียงพอในระดับเบื้องต้นสำหรับการเรียนรู้การเขียนโปรแกรมครับ โดยในตลาดจะมีขายหลายรุ่น เช่น 16×2, 20×4 ไปจนถึง 128×64 อีกทั้งยังมี จอสีประเภท TFT 2.4 นิ้ว, 3 นิ้ว, 3.2 นิ้ว, 4 นิ้ว เป็นต้น และมีแบบหน้าจอสัมผัสให้เลือกใช้งานอีก มากมาย   การเชื่อมต่อจอ 16×2 กับบอร์ด Raspberry Pi 3 โดยทั่วไปแล้ว จะต้องทำการเชื่อมต่อดังรูปด้านล่างนี้             การเชื่อมต่อแบบ 4 bits (ซ้าย) – การเชื่อมต่อแบบ 8 bits (ขวา) จะเห็นว่าเป็นการเชื่อมต่อที่ยุ่งยาก ใช้สายหลายเส้น และยากต่อการปรับเปลี่ยนการใช้งาน ดังนั้นจึงมึโมดูลที่เข้ามาช่วยตรงนี้คือ I2C   I2C คืออะไร I2C คือบัสการเชื่อมต่ออนุกรมแบบ Synchronous ด้วยสายสัญญาณเพียง 2 เส้น (แต่จริงๆ ต่อ 4 เส้น ได้แก่ SDA, SLC, +5V และ GND) โดยจะมีสายสัญญาณข้อมูล คือ SDA (Serial Data Line) และสายสัญญาณนาฬิกา คือ SLC (Serial Clock Line) โดยแบ่งการทำงานออกเป็น 4 โหมดตามความเร็วดังนี้ Normal Mode ความเร็ว 100Kbps Fast Mode ความเร็ว 400Kbps Fast Mode Plus ความเร็ว 1Mbps High Speed ควาามเร็ว 3.4Mbps   ซึ่งเมื่อเป็นการเชื่อมต่อแบบอนุกรม ทำให้เราสามารถใช้งาน I2C ได้มากกว่าหนึ่งอุปกรณ์บนสายเพียง 2 เส้น โดยจะเลือกติดต่อกับอุปกรณ์ใดได้ด้วยการกำหนดที่อยู่ (Address) ของ Hardware ให้กับอุปกรณ์   และเนื่องด้วยความง่ายของการใช้งานของ I2C ทำให้อุปกรณ์จอ LCD ส่วนใหญ่จะทำการติดตั้งมาพร้อมกับจอแล้ว ดังรูป            I2C Module คือโมดูลสีเข้มในรูป บอร์ดสีเขียวคือ ด้านหลังของจอ LCD 16×2 ซึ่งได้ทำการเชื่อมต่อเรียบร้อยแล้ว   เริ่มทำการเชื่อมต่อกับ Raspberry Pi โดย I2C จะต้องทำการเชื่อมต่อ 4 เส้น คือ +5V, GND, SDA, SLC กับ Pinout ของ Raspberry Pi 3 ดูจากข้อมูล Alternate Function เราจะต้องทำการต่อสาย SDA ที่ Pin 3, SCL ที่ Pin 5 และ +5V ที่ Pin 2 หรือ ส่วน GND นั้นมี Pin 6, 9, 25, 39, 14, 20, 30 หรือ 34 ให้เลือก         จากนั้นทำการ Power On Raspberry PI 3

Read More »

Raspberry Pi 3 [Basic Configuration]

หลังจากเราได้ติดตั้ง OS แล้ว ต่อไปจะเป็นการเชื่อมต่อกับเครือข่าย LAN หรือ Wi-Fi ถ้าเป็นสายแลน ก็ไม่ยากครับ เสียบสายเข้าไปเลย โดย default config eth0 จะเป็น DHCP Client อยู่แล้ว ส่วน Wi-Fi นั้น จากการหาข้อมูลชิบBroadcom BCM43438 Wireless Controller นั้น เหมือนจะรองรับเฉพาะ 2.4GHz ครับ   ผมจะเลือกทำการ connect Wi-Fi ก่อนนะครับ หลังจากนั้นค่อยเซ็ตอัพวัน/เวลา และโปรแกรม เรื่องของการ connect เข้า Wi-Fi ที่เป็น WPA2 Enterprise นั่นก็อาจจะเป็นปัญหาเบื้องต้นที่เจอครับ คือ โดย default แล้วนั้น จะไม่ support ดังรูปข้างล่างนี้ ทำให้ connect เข้าโดยตรงไม่ได้ ต้องทำการแก้ไขปัญหาดังนี้ครับ 1.เปิด terminal จากนั้นแก้ไฟล์ wpa_supplicant.conf โดยใช้คำสั่ง sudo nano /etc/wpa_supplicant/wpa_supplicant.conf   2.เพิ่มบรรทัดต่อไปนี้เข้าไป network={ ssid=“PSU WiFi (802.1x)“ priority=1 proto=RSN key_mgmt=WPA-EAP pairwise=CCMP auth_alg=OPEN eap=PEAP identity=”YOUR_PSU_PASSPORT_USERNAME“ password=hash:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx phase1=“peaplabel=0” phase2=“auth=MSCHAPV2” }   เซฟไฟล์ด้วยการกด Ctrl + X ตอบ Y กด Enter กลับมาที่หน้าจอ Terminal ตามเดิม ข้อมูลที่ท่านสามารถปรับแก้ได้คือตัวอักษรสีแดงด้านบน ได้แก่ ssid <= ชื่อ ssid ซึ่งบางที่อาจจะไม่ใช่ดังในตัวอย่าง identity <= username ของ psu passport อยู่ภายใต้เครื่องหมาย ” ” password=hash: มาจากการคำนวณ hash ด้วยคำสั่งต่อไปนี้ echo -n ‘YOUR_PASSWORD‘ | iconv -t utf16le | openssl md4 จากนั้นเอาค่ามาใส่แทนที่ xxxxxxxx ตามตัวอย่างข้างบน   3.เมื่อเรียบร้อยแล้วให้ restart service networking ซักครั้งหนึ่งด้วยคำสั่ง sudo service networking restart   4.หากไม่เกิดการเปลี่ยนแปลงอะไร ให้ reboot ซักครั้ง sudo reboot   5.เมื่อ reboot กลับมาแล้ว ท่านจะพบว่ามีการเชื่อมต่อ SSID ตามที่ท่านได้เซ็ตเอาไว้เรียบร้อยแล้ว ดังรูปด้านล่างนี้   ** คำสั่งที่ท่านพิมพ์ผ่าน Terminal จะถูกเก็บ History เอาไว้ รวมทั้งรหัสผ่านที่ท่านได้สร้างเป็น hash เอาไว้ ท่านจะต้องทำการเคลียร์ออก ด้วยคำสั่ง history -c (เพื่อเคลียร์ทั้งหมด) หรือ   history | tail เพื่อดูหมายเลขบรรทัด เช่น 300  จากนั้นใช้คำสั่ง history -d 300 เพื่อลบเฉพาะบรรทัดนั้น   เมื่อเสร็จเรื่องการเชื่อมต่อแล้ว จากนั้นควรทำการเซ็ตอัพวันเวลา / timezone ให้เรียบร้อย เปิด Terminal จากนั้นพิมพ์คำสั่ง sudo dpkg-reconfigure tzdata           เลือก Asia และเลือก Bangkok กด Enter เป็นอันเสร็จสิ้นครับ   จากนั้นควรทำการ sync

Read More »

Raspberry Pi 3 [Assemble & OS Installation]

ใน part นี้ขอพูดในส่วนของการติดตั้ง heat sink, ประกอบลงใน enclosure และติดตั้ง OS Raspbian ครับ   Heat Sink จำเป็นไหม โดยส่วนตัวผมว่าจำเป็นครับ เพราะอุปกรณ์อิเล็กทรอนิกส์เมื่อมีการทำงาน จะก่อให้เกิดความร้อน ความร้อนทำให้เกิดการเสื่อมของอุปกรณ์ และจากการหาข้อมูล พบว่าการติดตั้ง Heat Sink + พัดลม จะทำให้อุณหภูมิของอุปกรณ์ (โดยเฉพาะ CPU และ GPU) นั้นไม่สูงเกินไปครับ (อ้างอิงจาก https://www.youtube.com/watch?v=e6okZKRwnTQ)     Heat Sink อลูมิเนียมสีดำขนาดเล็ก เพียงพอต่อการใช้งานทั่วๆ ไป   ติดตั้งด้วยการใช้เทปกาวสองหน้าแบบนำความร้อน (ติดมากับ Heat Sink) แปะลงไปบนตัว CPU และ GPU ได้เลย ** กรณีที่ไม่มีเทปกาวสองหน้านำความร้อน ให้ใช้กาวซิลิโคน นำความร้อน แทนครับ **   Enclosure หรือกล่อง จำเป็นหรือไม่ ? บอกเลยว่า ขึ้นอยู่กับบุคคลครับ ซึ่ง Enclosure ก็มีหลายแบบให้เลือกใช้ ทั้งแบบเป็นกล่องเดี่ยวๆ (แบบที่จะแสดงให้ดูนี้), แบบที่เป็น Stack, แบบอลูมิเนียมเพื่อระบายความร้อนแบบ Passive และอีกมากมายครับ ประเด็นคือ เลือกให้ตรงกับความต้องการดีกว่าครับ ทั้งนี้ก็เพื่อความเป็นระเบียบและเรียบร้อยของอุปกรณ์นั่นเองครับ     ผมเลือกใช้เคสที่เป็นอะคริลิค พร้อมช่องพัดลม เพื่อติดตั้งไว้ระบายความร้อนของ Heat Sink อีกทีนึงครับ     ประกอบเรียบร้อยพร้อมติดตั้งพัดลมครับ ** ผมติดตั้งพัดลมแบบดูดเข้านะครับ เพื่อให้ลมเย็นจากภายนอกปะทะกับ Heat Sink โดยตรง ** ** พัดลมติดตั้งโดยใช้ไฟจาก GPIO PIN 4 (+5V) และ 6 (GND) ครับ **   พร้อมแล้วสำหรับการใช้งานครับ ต่อไปเตรียม microSD สำหรับติดตั้ง OS กันครับ ถ้าหลายท่านเคยผ่านตา จะเห็นว่าส่วนใหญ่จะใช้โปรแกรม SD Card Formatter ครับ แต่ผมจะใช้อีกตัวนึงตามคำแนะนำของ raspberrypi.org นั่นคือ Etcher ครับ สิ่งที่ต้องมีคือ SD Card 8GB ขึ้นไป (Class 4 หรือ 10 แล้วแต่ท่านสะดวกเลยครับ ผมลองแล้ว ความเร็ว ไม่ต่างกันเท่าไหร่) Card Reader และ microSD Adapter *ถ้าจำเป็น 7-Zip หรือโปรแกรมสำหรับ Extract Zip File โปรแกรม Etcher ดาวน์โหลดได้ที่นี่ ผมติดตั้ง Raspbian เพราะงั้นต้องมี image file ซึ่ง ดาวน์โหลดได้ที่นี่ ** เมื่อเข้าไปหน้าดาวน์โหลด ท่านจะเป็น NOOBS และ RASPBIAN ให้เลือก RASPBIAN นะครับ ซึ่งจะได้ Latest Version ** ** NOOBS (New Out Of the Box Software) คือตัวติดตั้งที่ออกมาจาก Official Raspberry Pi เอง โดยจะมีพื้นฐานจาก Raspbian นั่นเอง แต่มีการปรับให้สามารถทำการติดตั้งได้ง่ายขึ้น พร้อมโปรแกรมอื่นๆ สามารถเลือกติดตั้งได้ทันทีจาก internet **   Flash SD Card    1.ทำการใส่การ์ดใน Card Reader จากนั้นเปิดโปรแกรม Ether 2.เลือก Image File จากนั้นกด Flash

Read More »

วิธีใช้ Google Sheets เป็นฐานข้อมูล เพื่อการเฝ้าระวังระบบ โดยการใช้งานผ่าน Google API Client Library for Python

ต่อจาก วิธีการใช้ Google Sheets เป็นฐานข้อมูล การใช้งาน Google Drive API ด้วย Google Client Library for Python วิธีการ Upload ไฟล์ไปบน Google Drive File Stream ด้วย Google Client Library for Python คราวนี้ ใครมีข้อมูลที่เกิดขึ้นในเซิร์ฟเวอร์ภายในองค์กร แล้วต้องการส่งไปเขียนเก็บไว้ใน Google Sheets แบบต่อท้าย (Append) เช่น ในตัวอย่างนี้ วัดระยะเวลาการโอนย้ายข้อมูล เปรียบเทียบระหว่าง rsync เพื่อสำรองข้อมูลไปไว้ในเครื่องเซิร์ฟเวอร์สำรองที่ต่างวิทยาเขต กับ การนำไปเก็บไว้ใน Google Drive ตามวิธีการที่กล่าวไว้ใน วิธีการ Upload ไฟล์ไปบน Google Drive File Stream ด้วย Google Client Library for Python ผมได้เขียนโค๊ดเอาไว้ที่ https://github.com/nagarindkx/google.git สามารถโคลนไปใช้งานได้ (ช่วย Reference กันด้วยนะครับ) ขั้นตอนการใช้งานมีดังนี้ ใช้คำสั่ง git clone https://github.com/nagarindkx/google.git cd google ติดตั้ง python, pip, google-api-python-client ตามที่เขียนไว้ใน การใช้งาน Google Drive API ด้วย Google Client Library for Python และสร้างโปรเจคใน Google Developer Console เปิดใช้งาน Google Sheets API, สร้าง Credentials > OAuth Client ID แล้ว download JSON มาไว้ในชื่อว่า client_secret.json รูปแบบคำสั่งคือ $ python append2gsheet.py –help usage: append2gsheet.py [-h] [–auth_host_name AUTH_HOST_NAME] [–noauth_local_webserver] [–auth_host_port [AUTH_HOST_PORT [AUTH_HOST_PORT …]]] [–logging_level {DEBUG,INFO,WARNING,ERROR,CRITICAL}] –data DATA –sheetid SHEETID [–range RANGE] [–value-input-option VALUEINPUTOPTION] optional arguments: -h, –help show this help message and exit –auth_host_name AUTH_HOST_NAME Hostname when running a local web server. –noauth_local_webserver Do not run a local web server. –auth_host_port [AUTH_HOST_PORT [AUTH_HOST_PORT …]] Port web server should listen on. –logging_level {DEBUG,INFO,WARNING,ERROR,CRITICAL} Set the logging level of detail. –data DATA CSV format –sheetid SHEETID Google Sheets ID –range RANGE Simply Sheet Name like ‘Sheet1!A1’ –value-input-option VALUEINPUTOPTION Optional: [RAW,USER_ENTERED] สิ่งที่ต้องมี คือ Google Sheets ที่สร้างไว้แล้ว ให้สังเกตที่ URL ตัวข้อความที่อยู่หลัง https://docs.google.com/spreadsheets/d/ จะเป็น “Sheet

Read More »