วันพุธที่ 30 กันยายน พ.ศ. 2558
Adviser meeting 1/10/2558
1. เก็บบทที่ 1 ลง bitbucket, google drive2. ติดตั้ง chrome บน Raspberry pi
3. หาวิธีให้บูท Raspberry pi แล้วเปิดเว็บมหาลัยอัตโนมัติ
4. หาวิธีบูททันทีโดยไม่สั่ง startx
5. ติดต่อพี่แหม่ม
6. ลองใช้งาน django1.8
7. ใน django cms หาข้อมูล feature ที่ใกล้เคียงกับที่พี่แหม่มใช้งานและไปเล่าให้พี่แหม่มฟัง
8. วิเคราะห์ ข้อจำกัด ปัญหา การจัดการ document ของ django cms
9. ถ้าแก้ไขปัญหาจน run django cms บน project รุ่นพี่ได้ให้ลอง run server จริง
สิ่งที่ดำเนินการไปแล้ว
1. ทดลองใช้งาน Raspberry pi
2. ทำรายงานบทที่ 1 ส่งให้ภาควิชา
3. ส่งงาน djangocms ไปทดลองรันกับ project รุ่นพี่
สิ่งที่จะดำเนินการต่อ
1. เก็บบทที่ 1 ลง bitbucket, google drive
2. ติดตั้ง chrome บน Raspberry pi
3. บูท Raspberry pi แล้วเปิดเว็บมหาลัยอัตโนมัติ
4. ติดต่อพี่แหม่ม เรื่องประเภทประกาศ
5. ลองใช้งาน django1.8 วิเคราะห์ ข้อจำกัด ปัญหา การจัดการ document ของ django cms
6. หาข้อมูล feature ที่ใกล้เคียงกับที่พี่แหม่มใช้งาน
7. ถ้าแก้ไขปัญหาจน run django cms บน project รุ่นพี่ได้ให้ลอง run server จริง
วันพุธที่ 23 กันยายน พ.ศ. 2558
Adviser meeting 24/09/2558
1. เรียงลำดับประเภทของประกาศตาม user2. ติดต่อพี่แหม่ม เรื่องประเภทบทความ บทนำและวัตถุประสงค์
3. ทดลองใช้งาน Raspberry pi
4. ติดต่อกลุ่มพี่กล้าณรงค์ ลอง run app บน project ของพี่
5. project ของกลุ่มพี่คือซอฟต์แวร์ประเภทไหน
สิ่งที่ดำเนินการไปแล้ว
1. แบ่งเนื้อหาประกาศตามกลุ่มผู้พบเห็น
2. เขียน blog ที่ได้ศึกษา django cms
3. ปรับปรุงเนื้อหาวัตถุประสงค์ ทฤษฎีที่เกี่ยวข้อง
สิ่งที่จะดำเนินการต่อไป
1.เรียงลำดับประเภทของประกาศตาม user
2. ติดต่อพี่แหม่ม
3. ลอง run app บน project ของพี่กล้าณรงค์
4. หาคำตอบ project ของกลุ่มพี่คือซอฟต์แวร์ประเภทไหน
5. ทดลองใช้งาน Raspberry pi
วันอาทิตย์ที่ 20 กันยายน พ.ศ. 2558
django cms #3 Plugin
จากบทเรียนที่ผ่านมาหน้าเว็บของเราประกอบด้วย placeholder ใน placeholder สามารถใส่ plug-in ต่างๆลงไปได้ มี static placeholder ที่แสดงอยู่ทุกหน้าของเว็บเรา ในบทนี้เราจะทำการสร้าง poll app ลงไปในเว็บเรา และนำ poll app นั้นมาสร้างเป็น plug-in สำหรับเรียกใช้งานใน placeholder ได้ติดตั้ง polls app
เปิด command shell ให้เราอยู่ใน ENV\tutorial-project แล้วพิมพ์คำสั่งpip install -e git+http://git@github.com/divio/django-polls.git#egg=django-polls
ถ้าคำสั่งด้านบนใช้ไม่ได้ให้ clone polls app จากhttps://github.com/pychuang/django-1.8-tutorial
ได้ไดเรกทอรี django-polls ดังนี้
ENV\
tutorial-project\
\polls
__init__.py
admin.py
models.py
templates/
tests.py
urls.py
views.py
เข้าไปใน ENV\tutorial-project\mysite\settings.py เพิ่ม 'polls' ลงใน INSTALL_APPS ด้วย
ในไดเรกทอรีเดิมเปิดไฟล์ urls.py
ทำการเพิ่ม url(r'^polls/', include('polls.urls', namespace='polls')), ใน urlpatterns
โดยให้ url(r'^', include('cms.urls')), เป็น url ตัวล่างสุดใน urlpetterns ดังนี้
cd .. ย้อนกลับไปยัง ENV\tutorial-project ที่มีไฟล์ manage.py อยู่แล้วพิมพ์คำสั่ง
python manage.py migrate polls
คำสั่งด้านบนทำให้เกิด database ของ polls app ของเรา เสร็จแล้วให้เราเข้าไปใน localhost:8000/admin/ เพื่อสร้าง polls และ choice สำหรับตอบคำถาม
| หน้า Polls admin |
เข้าไปใน mysite/templates/polls/base.html แล้วพิมพ์โค้ด ดังนี้
{% extends 'base.html' %} {% block content %} {% block polls_content %} {% endblock %} {% endblock %}เราจะสามารถเปิด polls app ของเราได้โดย http://localhost:8000/en/polls/
| เห็นคำถามที่เราสร้างขึ้น |
| ทดลองเลือก choice |
| แสดงผลโหวต |
สร้าง plugin
มายัง ENV\tutorial-project แล้วพิมพ์คำสั่ง python manage.py startapp polls_plugin
ได้ไดเรกทอรี ดังนี้
ENV\
\tutorial-project
\polls_plugin
__init__.py
models.py
tests.py
urls.py
views.py
สร้าง Plugin models
เข้าไปใน ENV\tutorial-project\polls_plugin\models.py แล้วพิมพ์โค้ด ดังนี้from django.db import models from cms.models import CMSPlugin from polls.models import Poll class PollPlugin(CMSPlugin): poll = models.ForeignKey(Poll) def __unicode__(self): return self.poll.questiondjangoCMS plugins สืบทอด class จาก cms.models.CMSPlugin
สร้าง Plugin Class
ใน ENV\tutorial-project\polls_plugin สร้าง cms_plugins.py พิมพ์โค้ด ดังนี้from cms.plugin_base import CMSPluginBase from cms.plugin_pool import plugin_pool from polls_plugin.models import PollPlugin from django.utils.translation import ugettext as _ class CMSPollPlugin(CMSPluginBase): model = PollPlugin # model where plugin data are saved module = _("Polls") name = _("Poll Plugin") # name of the plugin in the interface render_template = "djangocms_polls/poll_plugin.html" def render(self, context, instance, placeholder): context.update({'instance': instance}) return context plugin_pool.register_plugin(CMSPollPlugin) # register the pluginทุก plugin class สืบทอดจาก cms.plugin_base.CMSPluginBase และ register ตัวมันเองด้วย cms.plugin_pool.plugin.pool
template
เข้าไปยัง ENV\tutorial-project\polls_plugin\templates\djangocms_polls แล้วสร้างไฟล์ poll_plugin.html แล้วพิมพ์โค้ด ดังนี้<h1>{{ instance.poll.question }}</h1> <form action="{% url 'polls:vote' instance.poll.id %}" method="post"> {% csrf_token %} <div class="form-group"> {% for choice in instance.poll.choice_set.all %} <div class="radio"> <label> <input type="radio" name="choice" value="{{ choice.id }}"> {{ choice.choice_text }} </label> </div> {% endfor %} </div> <input type="submit" value="Vote" /> </form>ใส่ 'polls_plugin' ใน INSTALL_APPS เหมือนที่ทำกับ 'poll' ด้วย
มายัง ENV\tutorial-project แล้วพิมพ์คำสั่ง
python manage.py makemigrations polls_plugin
python manage.py migrate polls_plugin
ลอง run server จากนี้เราเพิ่ม Poll Plugin ลงใน placeholder ที่เราต้องการได้เลย| มี Polls Plugin ให้เราเลือก |
| Polls Plugin เริ่มทำงาน |
วันเสาร์ที่ 19 กันยายน พ.ศ. 2558
django cms #2 Templates & Placeholders
Template เป็นหน้า html ส่วน Placeholder เป็นพื้นที่ที่เราจัดสรรให้ plug-in แสดงการทำงานบนหน้า html ตัวอย่างเช่นจากรูปด้านบนดูในมุมมอง structure mode มี 2 placeholder ได้แก่ FEATURE กับ CONTENT ซึ่งทั้ง 2 placeholder นี้มี plug-in ต่างๆอยู่ภายใน ถ้าเรากดปุ่มเมนูตรงมุมขวาบนของ placeholder จะเห็นรายการ plug-in รวมอยู่ด้วย ซึ่งเราสามารถเลือก plug-in ลงไปใน placeholder ได้
ขั้นตอนต่อไปให้เราเข้าไปที่ tutorial-project\mysite\templates แล้วเปิดไฟล์ feature.html ขึ้นมาเราจะเห็น {% load cms_tags %} โดย cms_tags เป็นไฟล์ที่ถูกเรียกใช้อีกทีนึง
ต่อมาเป็น {% placeholder "feature" %} และ{% placeholder "content" %} ซึ่งทำให้ placeholder feature กับ content ปรากฎบนหน้าเว็บเรานั่นเอง
Static placeholder
ในเว็บมีหลายหน้ามีเนื้อหาบางส่วนที่แสดงเหมือนกันในทุกหน้าเว็บ ดังนั้น static placeholder คือ placeholder ที่ปรากฎในทุกหน้าเว็บของเรา ตัวอย่างเช่น footer ขั้นต่อมาเราจะทำการเพิ่ม footer ในหน้าเว็บของเรา ให้เข้าไปที่ tutorial-project\mysite\templates เปิดไฟล์ base.html แล้วเพิ่มโค้ดด้านล่างนี้ใน html tag
<footer> {% static_placeholder 'footer' %} </footer>
ทดลองเพิ่ม placeholder ใน tutorial-project\mysite\templates\feature.html
<div> {% placeholder "footer-content" %} </div>
| footer และ footer-content จะปรากฎออกมาดังรูป |
| เลือก menu มุมขวาบนของ footer-content เพิ่ม plug-in text |
| กลับมาที่ content mode จะเห็นข้อความที่เพิ่งสร้างใน footer-content |
Rendering Menus
เราเลือกใช้ munu จาก bootstrap ได้ถ้าตอนติดตั้งเราเลือกให้ติดตั้ง bootstrap ซึ่ง menu นี้อยู่ใน tutorial-project\mysite\templates\menu.html ตัวอย่างการใช้งานอยู่ใน
tutorial-project\mysite\templates\base.html โค้ดด้านล่างคือตัวอย่างการใช้งาน
<ul class="nav navbar-nav"> {% show_menu 0 1 100 100 "menu.html" %} </ul>มีการเรียกใช้ library ชื่อ menu_tags
{% load menu_tags %}
วันพฤหัสบดีที่ 17 กันยายน พ.ศ. 2558
เข้าทดลองใช้ raspbery pi 16/09/2015
การเข้าทดลองใช้งาน Raspbyrry Pi #16/09/2015
ได้ทำการทดลองต่ออุปกรณ์ Raspberry Pi2โดยมีหน้าจอ LCD ต่อเข้ากับพอร์ต HDMI ของ Raspberry Pi
มี Module Wifi ซึ่งเป็น usb, เมาส์, คีย์บอร์ด
และ SD card memory ซึ่งมี OS ของ Raspberry Pi อยู่
โดยในการทดลองใช้งานครั้งนี้ ทางนักศึกษารุ่นน้องซึ่งเป็น Teacher Assistant ในการสอนใช้งาน Raspberry Pi ได้ทำการติดตั้ง และ Setup พื้นฐานไว้หมดแล้ว อาทิเช่น OS, Wifi, โปรแกรมพื้นฐาน และโปรแกรมสำหรับสอน
![]() |
| รูปภาพที่ 1.1 |
![]() |
| รูปภาพที่ 1.2 |
![]() |
| รูปภาพที่ 1.3 |
- ส่วนที่เป็นสีน้ำเงิน จะเป็นส่วนของการเซ็ตค่าตำแหน่งของ เจ้าเหมี่ยวทางด้านขวา โดยปกติเจ้าเหมียวจะอยู่ตรงกลางหน้าจอพอดี จึงทำการเซ็ตค่าให้เจ้าเหมียวลงมาอยู่ทางด้านซ้ายล่าง ด้วยการลดตำแหน่งทางแกน x, แกน y ลง 150 และ 100 ตามลำดับ (-150, -100)
-ส่วนที่เป็นสีม่วง จะเป็น action ที่เจ้าเหมียวจะทำ โดยที่นำมาใช้จะเป็นการที่เจ้าเหมียวพูด Hello! เป็นระยะเวลา 5 วินาที
-ส่วนที่เป็นสีเหลือง จะเป็นการตั้งเงื่อนไขให้กับคำสั่งด้านล่าง โดยเงื่อนไขนี้จะเป็นการกดคลิก ที่คำสั่ง แล้วจะทำการส่งต่อไปให้ทำคำสั่งด้านล่างคำสั่งนี้ หรือก็คือ เมื่อคลิกที่คำสั่งนี้ จะทำการสั่งให้เจ้าเหมียวพูดคำว่า Hello! เป็นระยะเวลา 5 วินาที (ตามรูปภาพที่ 1.3)
และนอกเหนือจากนี้ เนื่องจากคีย์บอร์ดมีปัญหา เมื่อพิม @ บนคีย์บอร์ด อักขระที่ออกมาจากการพิมจะกลายเป็น " และกลับกันหากพิม " ผลก็คือจะได้รับ @ ออกมาแทน โดยนักศึกษารุ่นน้องได้ทำการสันนิษฐานไว้ว่าน่าจะเป็นเพราะคีย์บอร์ดที่ Config ไว้เป็น UK แต่คีย์บอร์ดที่ใช้เป็นของ US จึงได้ทำการ config คีย์บอร์ด โดยการใช้คำสั่ง
sudo dpkg-reconfigure keyboard-configuration
พิมลงใน Terminal ของ Raspbian และจะมีหน้าต่างการ Configure ขึ้นมา (ขออภัย ไม่ได้ทำการ capture ไว้) แล้วทำการค้นหาชื่อยี่ห้อ/รุ่นคีย์บอร์ดที่ตรงกับคีย์บอร์ดที่ใช้ โดยในที่นี้เป็นคีย์บอร์ดยี่ห้อ Logitech จึงทำการหา Keyboard นี้ในหน้าต่าง Config และทำการเลือกเข้าไป และทำการเลือกภาษา เป็น English US ต่อจากนั้นจึงทำการ Reboot เครื่อง ก็จะได้การใช้งานคีย์บอร์ด US มาใช้
และภาพที่ Capture มาจาก Raspbian ก็ได้จากการ Install คำสั่งการ Capture หน้าจอ ด้วยคำสั่ง
และเมื่อทำการ Install เรียบร้อยเมื่อต้องการจะ Capture หน้าจอ ก็ทำการรันคำสั่งsudo apt-get install scrot
ในเทอร์มินอล แล้วระบบจะทำการแคปเจอร์หน้าจอและเซฟลงที่ไดเรคทอรี่ของ user โดยจะมีคำสั่งอื่นๆอีกเกี่ยวกับการ Capture ภาพหน้าจอโดยที่ได้ใช้จะมีสองคำสั่งคือscrot
คำสั่งแรกนี้จะเป็นการเพิ่ม -d เข้าไปซึ่งก็คือการกำหนด delay ก่อนจะทำการ Capture โดยพารามิเตอร์ที่รับมา จะมีหน่วยเป็น วินาทีscrot -d 10
scrot /home/pi/myscreen.pngและคำสั่งที่สอง จะเป็นการ Capture และเซฟไฟล์ในตำแหน่งที่ระบุ(รวมถึงตั้งชื่อ) โดยปกติถ้าไม่ได้ตั้งชื่อ ชื่อของภาพจะได้เป็น Time Stamp เช่น "2015-09-16-125256_1318x736_scrot"
----------------------------------------------------------------
Reminder
Information blog : http://raspberrypi2u.blogspot.com/Information for configure keyboard : https://www.raspberrypi.org/forums/viewtopic.php?f=91&t=9136
Information for install and use scrot to capture screen : http://www.raspberrypi-spy.co.uk/2013/10/how-to-take-screenshots-on-the-raspberry-pi/
Boot OS : 'startx'
adviser meeting 17/09/2015
1. เนื้อหาวัตถุประสงค์ แก้ไขคำว่า "เห็นว่าจะสร้าง"2. แบ่งกลุ่มประกาศจากประเภทของประประกาศ
3. ข่าวภายใน/นอก วีดิโอ ไม่น่าเป็นชนิดประกาศ
4. หา feature ของ django cms ที่เกี่ยวข้องกับงาน
5. หาเวลามาทดลอง Raspberry pi
6. ตัดเนื้อหา cms ในที่มาและทฤษฎีที่เกี่ยวข้อง
7. ขอบเขตให้อธิบาย usecase แบบคร่าวๆ
8. ติดต่อพี่กล้าณรงค์
9. โพสสิ่งที่ศึกษาเกี่ยวกับ django cms
10. รายงานปัญหาผ่าน email ก่อน meeting
สิ่งที่ดำเนินการไปแล้ว
1. เขียนรายละเอียด usecase
2. หาข้อมูลเปรียบเทียบ wordpress กับ django cms
3. แบ่งประเภทของประกาศ
4. แก้ไขที่มาและจุดประสงค์
สิ่งที่จะดำเนินการต่อ
1.แก้ไขเนื้อหาวัตถุประสงค์ ที่มา ขอบเขตและทฤษฎีที่เกี่ยวข้อง
2.แบ่งประเภทประกาศใหม่และจัดกลุ่ม
3. ติดต่อพี่กล้าณรงค์
4. โพสสิ่งที่ศึกษาเกี่ยวกับ django cms
5. ทดลอง Raspberry pi
วันจันทร์ที่ 14 กันยายน พ.ศ. 2558
ประเภทบทความ#2
จากการไปขอข้อมูลประกาศทั้งหมด ประกอบด้วยประกาศปี พ.ศ. 2557 และ พ.ศ. 2558 สรุปได้ว่ามีเนื้อหาประกาศหลายประเภท ดังนี้ั1. รับสมัครงาน
2. รับนักศึกษาฝึกงาน
3. เชิญเข้าร่วมกิจกรรม
- อบรม
- ค่ายอาสา
- งานประกวดแข่งขัน
- งานสังสรรค์
- งานกิจกรรม
- สัมมนา
4. แสดงความยินดี
5. ข้อคิด คำคม
6. รณรงค์
7. แจ้งกำหนดการ
8. เตือนภัย
9. ความรู้ที่เป็นประโยชน์
10. เทศกาล
11. ทุนการศึกษา
12. ต้อนรับ
ประกาศสำหรับนักศึกษา
1. รับสมัครงาน
2. รับนักศึกษาฝึกงาน
3. เชิญเข้าร่วมกิจกรรม
4. แสดงความยินดี
5. ข้อคิด คำคม
6. รณรงค์
7. แจ้งกำหนดการ
8. เตือนภัย
9. ความรู้ที่เป็นประโยชน์
10. เทศกาล
11. ทุนการศึกษา
12. ต้อนรับ
13. เชิญเข้าร่วมกิจกรรม
- อบรม
- ค่ายอาสา
- งานประกวดแข่งขัน
- งานกิจกรรม
ประกาศสำหรับอาจารย์
1. แสดงความยินดี
2. ข้อคิด คำคม
3. รณรงค์
4. แจ้งกำหนดการ
5. เตือนภัย
6. ความรู้ที่เป็นประโยชน์
7. เทศกาล
8. ต้อนรับ
9. เชิญเข้าร่วมกิจกรรม
- อบรม
- งานสังสรรค์
- งานกิจกรรม
- สัมมนา
ประกาศสำหรับบุคคลทั่วไป
1. แสดงความยินดี
2. ข้อคิด คำคม
3. รณรงค์
4. แจ้งกำหนดการ
5. เตือนภัย
6. ความรู้ที่เป็นประโยชน์
7. เทศกาล
8. ต้อนรับ
Django cms กับ Wordpress
ในการสร้างเว็บไซด์มีการใช้เครื่องมือ cms ช่วยให้สร้างเว็บได้สะดวก รวดเร็วขึ้น Wordpress เป็น cms ที่ออกแบบมาสำหรับสร้าง blog แต่มี plug-in ให้เลือกใช้มากมายเพราะมีผู้ใช้งานมาก มีผู้พัฒนามาก สำหรับ Django cms พัฒนามาจาก Django framwork ต่อไปนี้จะเป็นข้อมูลเปรียบเทียบระหว่าง Wordpress กับ Django cms ตามประเด็นต่างๆ1. base-programming language
Wordpress ใช้ PHP
Django cms ใช้ python
2. การรองรับ MVC ( Model view controller )
Wordpress ไม่รองรับ
Django cms รองรับ
3. จำนวนผู้ใช้งาน ( ข้อมูล ณ วันที่ 14 กันยายน พ.ศ. 2558 )
Wordpress มากกว่า Django cms
4. ความเร็ว
Django cms เร็วกว่า Wordpress ถ้าออกแบบดี
5. ความง่ายในการใช้งาน
Wordpress ใช้งานง่ายกว่า Django cms
6. ความปลอดภัย
Django cms ปลอดภัยกว่า Wordpress เพราะ plug-in ของ Wordpress นั่นมีมากมายการติดตั้งใช้เวลาน้อย บางตัวอาจเป็นอันตรายต่อระบบ
7. template
Django ใช้ระบบ template ของตัวเอง แต่ Wordpress ใช้ html5 กับ CSS
8. เวลาในการติดตั้ง
Wordpress เร็วกว่า Django cms
พบว่าการเลือกใช้ Wordpress กับ Django cms นั้นขึ้นอยู่กับความเหมาะสมของงาน ถ้าต้องการสร้างเว็บ Blog หรือสร้างงานไม่ซับซ้อนมาก Django cms นั้นเหมาะกับงานที่มีความซับซ้อน ต้องการประสิทธิภาพและความเร็ว การใช้ Wordpress นั้นอาจโหลด template มาใช้งานได้เลย แต่บาง template อาจไม่เหมาะกับงาน Django ใช้การแก้ไขรูปแบบ CSS เองความสะดวกจะน้อยกว่าแต่เราจะได้ template ที่เหมาะสมกับงานมากขึ้น Django cms เหมาะสำหรับงานเฉพาะทางมากว่า Wordpress เพราะระบบ framework และ MVC ซึ่ง Wordpress ไม่มี
วันพุธที่ 9 กันยายน พ.ศ. 2558
adviser meeting 10/09/2558
1. แก้ไข ที่มาและวัตถุประสงค์2. usecase ของอาจารย์กับนักศึกษาจะให้เหมือนหรือแตกต่างกันดี?
3. usecase ของผู้ดูแลระบบใช้ประโยคว่า สร้างประกาศ แทน สร้างเนื้อหาประกาศ
ตัดประโยคที่มีคำว่า ไม่กระทบต่อการแสดงผล ออก
4. แก้ไขกับควบคุมเวลาแสดงประกาศให้เป็นงานเดียวกัน
5. usecase ผู้ดูแลระบบให้มี สร้าง แก้ไข ลบ ประกาศ
6. แบ่งประเภทของประกาศให้ครบ
7. หาข้อมูลเปรียบเทียบ wordpress กับ django cms
8. เขียนรายละเอียด usecase ตัวอย่างเช่น
ชื่อ usecase
ขั้นตอน 1. ...........
2. ...........
3. ...........
สิ่งที่ดำเนินงาน
1. ลองติดตั้ง ่django 1.7 ใน environment ที่ได้จากการใช้คำสั่ง vritualenv
2. เขียน blog เรื่องการ insatll django cms
3. ติดตั้ง django cms สำเร็จ จะสร้าง project ทดสอบ
4. แก้ไขเนื้อหาวัตถุประสงค์ ที่มาและความสำคัญของโครงงาน
5. แก้ไข usecase
ปัญหาที่พบ
1. ศึกษา django cms จากเว็บที่เราศึกษามีเนื้อบางส่วนผิดพลาด ทำให้การศึกษาติดขัด
สิ่งที่ดำเนินการต่อ
1. วันจันทร์ที่ 14 กันยายน พ.ศ. 2558 ส่งความคืบหน้า
2. วันพุธที่ 16 กันยายน พ.ศ. 2558 นายภูวนัย พงษ์พิทักษ์ชัย ทดลองใช้งาน Raspberry pi
3. เขียนรายละเอียด usecase
4. หาข้อมูลเปรียบเทียบ wordpress กับ django cms
5. แบ่งประเภทของประกาศให้ครบ
6. แก้ไข usecase
7. แก้ไขที่มาและจุดประสงค์
5. แก้ไข usecase
ปัญหาที่พบ
1. ศึกษา django cms จากเว็บที่เราศึกษามีเนื้อบางส่วนผิดพลาด ทำให้การศึกษาติดขัด
สิ่งที่ดำเนินการต่อ
1. วันจันทร์ที่ 14 กันยายน พ.ศ. 2558 ส่งความคืบหน้า
2. วันพุธที่ 16 กันยายน พ.ศ. 2558 นายภูวนัย พงษ์พิทักษ์ชัย ทดลองใช้งาน Raspberry pi
3. เขียนรายละเอียด usecase
4. หาข้อมูลเปรียบเทียบ wordpress กับ django cms
5. แบ่งประเภทของประกาศให้ครบ
6. แก้ไข usecase
7. แก้ไขที่มาและจุดประสงค์
วัตถุประสงค์ แนวเหตุผล ทฤษฏีสำคัญและสมมุติฐาน
ระบบควบคุมในการกระจายและเข้าถึงข่าวสาร การประกาศ
The system to control the distribution and accession of the faculty's announcement
วัตถุประสงค์
คณะวิศวกรรมศาสตร์ มหาวิทยาลัยเทคโนโลยีพระจอมเกล้าพระนครเหนือ ได้ติดตั้งหน้าจอ monitor ซึ่งแสดงประกาศและข้อมูลข่าวสารอันเป็นประโยชน์แก่นักศึกษาและบุคลากร โดยสร้างระบบช่วยให้หน้าจอ monitor มีประโยชน์แก่นักศึกษา อาจารย์และบุคคลทั่วไปมากขึ้น นักศึกษา อาจารย์และบุคคลทั่วไปดูประกาศผ่าน web browser ได้ อาจารย์ นักศึกษาส่งข้อความไปแสดงยังหน้าจอ monitor ได้และผู้ดูแลระบบใช้งานระบบจัดการข้อมูลประกาศได้สะดวก
แนวเหตุผล ทฤษฎีสำคัญหรือสมมุติฐาน
การพัฒนาระบบจัดการแสดงข้อมูลประกาศนั้น จะติดตั้งคอมพิวเตอร์เครื่องหนึ่งให้เป็น server ระบบจัดการข้อมูลประกาศแล้วส่งข้อมูลไปยัง Raspberry pi ที่เชื่อมต่อกับหน้าจอ monitor แต่ละตัวโดย Raspberry pi จะเข้าถึงข้อมูลประกาศผ่าน web browser อาจารย์หรือนักศึกษาสามารถรับข้อมูลประกาศของทุกหน้าจอ monitor และส่งข้อความไปประกาศได้ทาง web browser ในการสร้างระบบจะใช้ cms(content managment system) มาช่วย
ขอบเขตของการทำโครงการ
อาจารย์และนักศึกษารับข้อมูลประกาศและส่งข้อความไปแสดงยังหน้าจอ
monitor
ผ่าน web browser ได้
ส่วนผู้ดูแลระบบจัดการข้อมูลประกาศของหน้าจอ monitor แต่ละตัวให้แสดงข้อมูลประเภท text รูปภาพ วีดิโอ และ
pdf ได้โดยที่กำหนดให้แต่ละหน้าจอ monitor แสดงข้อมูลที่แตกต่างกันได้ และกำหนดช่วงเวลาแสดงข้อมูลได้
ประมาณการค่าใช้จ่ายในโครงการ ค่าวัสดุ - บาท
ค่าใช้จ่ายเบ็ดเตล็ด - บาท
รวมค่าใช้จ่ายในโครงการ
- บาท
ผลประโยชน์ที่คาดว่าจะได้รับ
เพิ่มความสะดวกในการเข้าถึงข้อมูลข่าวสารของคณะ
สำหรับนักศึกษา บุคลากรในคณะ และบุคคลทั่วไป
วันจันทร์ที่ 7 กันยายน พ.ศ. 2558
django cms #1 install on Windows8.1
django ได้พัฒนา cms ขึ้นมาเรียกว่า django cms เป็นระบบจัดการเนื้อหา สำหรับผู้พัฒนาสามารถสร้าง plugin ได้เอง ทำให้มีความยืดหยุ่นในการใช้งาน ต่อไปนี้จะสอนวิธีการติดตั้ง django cms บน Windows 8.1 และใช้ python 2.71. เปิดหน้าต่าง command shell ( กดปุ่ม windows + r แล้วพิมพ์ cmd ตามด้วย enter ) ขึ้นมา
2. พิมพ์คำสั่ง virtualenv ENV
virtualenv เป็นคำสั่งที่ใช้สร้างสิ่งแวดล้อมเฉพาะสำหรับสร้างงานที่ต้องการควบคุม version ของเครื่องมือต่างๆ สำหรับงานนี้เราจะได้ไดเรกทอรีชื่อ ENV ปรากฎออกมา ดังนี้
ENV
Include
Lib
Script
จากนั้นติดตั้ง djangocms ด้วยคำสั่ง pip install djangocms-installer
3. ใช้ command shell เข้าไปใน Script แล้วพิมพ์คำสั่ง activate
จะมี <ENV> ปรากฎขึ้นมาในหน้า command shell ก่อนพิมพ์คำสั่งในลักษณะนี้
<ENV> C:\user\ENV\Script>
4. พิพม์ cd .. เพื่อย้อนมายังไดเรกทอรี ENV จากนั้นทำการสร้างไดเรกทอรีใหม่ชื่อ tutorial-project ด้วยคำสั่ง mkdir tutorial-project สร้างเสร็จแล้วให้พิมพ์ cd tutorial-project เพื่อเข้าไปข้างใน
5 พิมพ์คำสั่งต่อไปนี้เพื่อสร้าง django project ชื่อ mysite
djangocms -p . mysite
จะมีคำถามปรากฎขึ้นมาให้เราตอบตามนี้ และจะมีให้กรอก username password ให้จำไว้ด้วยนะ
- Database configuration (in URL format): sqlite://localhost/project.db
- django CMS version: stable
- Django version: 1.6
- Activate Django I18N / L10N setting: yes
- Install and configure reversion support: yes
- Languages to enable. Option can be provided multiple times, or as a comma separated list: en, th
- Optional default time zone: America/Chicago:
- Activate Django timezone support: yes
- Activate CMS permission management: yes
- Use Twitter Bootstrap Theme: yes
- Use custom template set: no
- Load a starting page with examples after installation: yes
6. เปิด web browser ขึ้นมาลองเข้า http://localhost:8000/
เข้ามาแล้วจะพบหน้าแบบนี้
7. ลอง login ดูด้วยการเติม ?edit เข้าไปหลัง url เดิม จะมีแถบดังรูปด้านล่างเพิ่มขึ้นมา ให้กรอก username password ที่กรอกไว้ตอนสร้าง project
8. หลังจาก login ได้แล้วเราจะเปลี่ยน mode ได้ structure กับ content ปัจจุบันเราอยู่ content ลองเปลี่ยนเป็น structure ดู ได้ผลแบบรูปด้านล่างนี้ เห็นได้ว่ามีการแบ่งขอบเขตการแสดงผลไว้เป็น feature กับ content คลิกที่มุมขวาบนของแต่ละส่วนจะเห็นแถบให้เลือก plugin มาติดตั้งดังรูป
วันพฤหัสบดีที่ 3 กันยายน พ.ศ. 2558
เริ่มต้นใช้งาน Raspberry Pi
Raspberry Pi เป็นบอร์ด microcontroller ที่ประยุกต์ใช้งานได้หลากหลาย ราคาไม่แพงจนเกินไป เหมาะที่จะใช้ในการเรียน มีหลาย OS ให้เลือกใช้ เช่น Debrian, Raspbian เป็นต้น ในตอนเริ่มต้นให้เราติดตั้ง OS บน Raspberry pi ก่อนถึงจะใช้งานมันได้ ในการติดตั้ง OS เราจะใช้ SD card ในการติดตั้งสิ่งที่ต้องการ
1. บอร์ด Raspberry pi
2. SD card ที่มีเนื้อที่อย่างน้อย 4 GB
3. คอมพิวเตอร์ ที่มี SD card reader
4. สายที่ใช้เชื่อมต่อกับคอมพิวเตอร์
เริ่มต้นใช้งาน
1. ดาวน์โหลดไฟล์ image ที่เป็น OS สำหรับใช้งานบน Raspberry pi ก่อน ในที่นี้ใช้ Raspbian
2. ดาวน์โหลด Fedora ARM Installer หลังจากนั้นจะได้ zip file มาให้แตกไฟล์ลงบนหน้า Desktop โฟลเดอร์ที่ได้จะชื่อ faii-1.0.2.3-x32 เพราะถ้านำไปไว้ที่อื่นจะเกิดปัญหาเรื่องสิทธิการใช้งาน
3. เปิดโปรแกรม Fedora ARM Installer ขึ้นมา ให้ back up ข้อมูลสำคัญใน Hard disk ก่อนเพื่อป้องกันความผิดพลาด เพราะในการติดตั้ง OS ลง SD card เป็นการ format ด้วย
4. ใส่ SD card เข้าเครื่อง แล้ว ในโปรแกรม fii ให้เลือกไดร์ฟของ SD card จากนั้นเลือกทีอยู่ของ image file สุดท้ายกด setup
5. หลังจากนั้น ลองนำ SD card ไปใส่ใน Raspberry pi แล้วต่อ Raspberry pi เข้ากับคอมพิวเตอร์ จะได้ผลออกมาเป็นขุดข้อความเต็มไปหมด ดังรูป
การ Back up
1. ดาวน์โหลด script สำหรับ Back up
2. นำ script ที่ได้เข้าไปเก็บใน pi ให้ได้
3. นำ SD card ที่เนื้อที่เพิ่ง format มา( ต้องการ SD card ที่ว่างเปล่าไม่มีอะไรเลย )ต่อ Raspberry pi แล้วต่อ Raspberry pi เข้าคอมพิวเตอร์ ทำการ run Raspberry pi
4. เปิด Terminal window ของ pi เข้าไปยัง SD card แล้วพิมพ์คำสั่งอะไรสักอย่าง แล้วกด y แล้วก็ enter รอจนเสร็จ
5. ถ้ามีปัญหาเรื่อง mount filesystem ของ SD card ให้พิมพ์คำสั่ง unmount ใน Terminal
adviser meeting 3/09/2558
1. รวม weekly summary ใส่ลงใน adviser meeting2. ชื่อ meeting ระบุวันที่แทนเลขบอกลำดับที่
3. use case ใช้คำกริยา แบ่งตาม user type
แก้ไข user type ประเภทบุคคลทั่วไปให้เข้าถึงข้อมูลประกาศผ่าน web browser ได้ด้วย
4. รอให้เอกสารพร้อมก่อนแล้วค่อยติดต่อพี่แหม่มกับ อ.เรวัติ
เอกสาร ประกอบด้วย วัตถุประสงค์ ขอบเขตการดำเนินงานและแนวทางการแก้ไขปัญหา
สำหรับเนื้อหาของเอกสารให้เขียนลง blog ไปก่อน
5. ประเภทของบทความให้ตรวจสอบอีกที
6. เขียน blog มาก่อน meeting ครั้งถัดไป
การดำเนินงาน
1. เปลี่ยน theme ของ blog
2. ใช้งาน Label ในบล็อก จัดเนื้อหาออกเป็นหมวด Activity, Adviser meeting, User meeting และ Weekly summary
รายละเอียดแต่ละหมวด
- Activity คือกิจกรรมที่ได้ดำเนินการไปแล้ว เก็บข้อมูลที่เกี่ยวข้องกับโปรเจ็ค
- Adviser meeting เก็บสรุปจากการพบอาจารย์ที่ปรึกษา
- User meeting เก็บข้อมูลจากการพบผู้ดูแลระบบหรือบุคคลอื่นๆที่เก็บข้องกับระบบประกาศของคณะวิศวกรรมศาสตร์ มหาวิทยาลัยเทคโนโลยีพระจอมเกล้าพระนครเหนือ
- Weekly summary คือ สรุปกิจกรรมที่ดำเนินการไปแล้วทั้งหมดในรายสัปดาห์ เล่าถึงปัญหาที่เกิดขึ้นและสิ่งที่จะดำเนินการในสัปดาห์ต่อไป
3. เขียน user case ลง blog
4. ค้นหา cms ที่น่าสนใจ พบ cms ที่น่าสนใจ ได้แก่ wordpress, drupal, concrete5 และ django cms
5. ศึกษาการใช้งาน wordpress โดยทดลองสร้าง blog และลองติดตั้งลงคอมพิวเตอร์
6. ศึกษาการใช้งาน django cms โดยทำการติดตั้ง django cms ลงคอมพิวเตอร์
7. ศึกษาคำสั่ง virtualenv ที่ใช้ใน command prompt ในการติดตั้ง django cms
ปัญหาที่พบ
1. wordpress ติดตั้งลงคอมพิวเตอร์ไม่ได้ เนื่องจากติดตั้งผ่าน xampp แล้วเกิดค้างทุกครั้งที่ติดตั้งคาดว่าเกิดจากการเชื่อมต่อ internet
2. ใช้งาน wordpress แล้วยังไม่ทราบว่าจะใช้งานกับโปรเจ็คนี้ได้นอกจากเขียนเนื้อหาประกาศ
3. django cms ติดตั้งลงคอมพิวเตอร์ไม่ได้ เพราะใช้คำสั่ง assoc ใน command prompt ไม่ได้
สิ่งที่จะดำเนินการต่อ
1. หาวิธีติดตั้ง wordpress ใหม่
2. แก้ปัญหาให้ใช้คำสั่ง assoc ได้
3. ลองติดตั้ง ่django 1.7 ใน environment ที่ได้จากการใช้คำสั่ง vritualenv
4. เขียน blog เรื่องการใช้คำสั่ง virtualenv
5. ถ้าติดตั้ง django cms สำเร็จ จะสร้าง project ทดสอบ
6. ถ้าติดตั้ง wordpress สำเร็จ จะสร้าง project ทดสอบ
7. เขียน blog รายงานความคืบหน้าก่อน meeting ครั้งต่อไป
8. แก้ไข usecase
8. แก้ไข usecase
User meeting 20/08/2558
มีคอมพิวเตอร์หนึ่งเครื่องเชื่อมต่อกับหน้าจอ monitor ทุกตัวใช้เป็นไฟล์ประเภท Power point แสดงขึ้นมา
การสร้างไฟล์ power point ทำจากคอมพิวเตอร์อีกเครื่องที่ไม่ได้ต่อกับหน้าจอ monitor จากนั้นใช้วิธีเสียบ Flash Drive แล้วนำไฟล์ย้ายไปอีกเครื่องหนึ่ง
ปัญหาในการสร้างไฟล์ Power Point คือ Font ของคอมพิวเตอร์ทั้ง 2 เครื่องมีไม่เหมือนกัน บาง Font คอมพิวเตอร์เครื่องที่ต่อกับ monitor ไม่สามารถใช้งานได้
ทุกคครั้งที่มีการแก้ไขข้อมูลประกาศ จะปิดหน้าจอก่อนทุกครั้งทำให้หน้าจอ monitor ไม่ถูกใช้ประโยชน์ในช่วงเวลานั้น
ไฟล์ vedio เกิดการกระตุกในบางไฟล์เมื่อนำไปแสดงบนหน้าจอ monitor บางไฟล์ไม่กระตุก เช่น หนังสั้นของนักศึกษาของคณะวิศวกรรมศาสตร์
สมัครสมาชิก:
บทความ
(
Atom
)


