วิธีการเปิดหน้า Web Browser อัตโนมัติบน Debian (ของอุปกรณ์ IOT2050) 

  เนื่องจาก IOT2050 มี Display Port มาให้ และภายในเป็น Debian Linux เราสามารถต่อจอเข้า Display Port และสร้าง GUI  หรือเปิด Web Browser บนตัว IOT2050 ได้เลย เพราะฉะนั้นจึงสามารถทำเป็น Local Display ดูสถานะ หรือดู Dashboard ในงานที่ตัวเครื่องรับไหวได้    ก่อนอื่นเริ่มจากลงโปรแกรมสำหรับ GUI และ Log-in    โปรแกรมที่ติดตั้งมีดังนี้  xorgDisplay server  openboxwindow manager  lightdmlog-in  iceweasel Web Browser ของ Mozilla Firefox    หลังจากนั้นจึงทำการสร้าง user ใหม่ สำหรับให้ log-in อัตโนมัติเมื่อเปิดเครื่องและเข้า lightdm ในที่นี้ตั้งชื่อว่า kiosk      ตั้งค่าใน lightdm.conf ให้ log-in user เป็น kiosk และ และไปเชื่อมต่อกับ openbox แก้ไขไฟล์โดยคำสั่ง nano ตามด้านล่างนี้    ตั้งค่าที่บรรทัดต่อไปนี้ autologin-user=kiosk และ user-session=openbox และเอา # (comment) ที่ด้านหน้าออก        หากลอง reboot ดูในขั้นตอนนี้จะพบว่ามีเมาส์ปรากฎขึ้นมา แสดงว่าสามารถ Log-in อัตโนมัติและเข้าใปใน openbox ได้แล้ว  ต่อมาจึงตั้งค่าให้เปิด Web Browser เมื่อ Startup โดยสร้างโฟลเดอร์ของ openbox ไว้ใน .config ของ user kiosk โดยใช้คำสั่ง    สร้างไฟล์ autostart ในโฟลเดอร์นี้ ซึ่งไฟล์นี้จะทำงานเมื่อ openbox เปิดขึ้นมา    ใส่คำสั่งในไฟล์ตามด้านล่างนี้  บรรทัดที่ 1 เป็นการ copy ไฟล์จาก /home/kiosk/xulstore.json (จะสร้างขึ้นมาในขั้นตอนถัดไป)  ไปยัง /home/kiosk/.mozilla/firefox/xxxxxxxx.default-esr/xulstore.json เพื่อให้ Web Browser เปิดแบบ fullscreen  (xxxxxxxx ตอนที่ติดตั้งแต่ละครั้งจะไม่เหมือนกัน ต้องเข้าไปดูในโฟล์เดอร์ /home/kiosk/.mozilla/firefox ก่อน)  บรรทัดที่ 2 sleep 30 เป็นคำสั่งให้ delay เป็นเวลา 30 วินาที ก่อนที่จะเปิด Web Browser …

Continue Reading

การให้โปรแกรมทำงานเมื่อเปิดใช้งานอุปกรณ์ IOT2050 ในรูปแบบของ Service

การให้โปรแกรมทำงานเมื่อเปิดใช้งานอุปกรณ์ IOT2050 ในรูปแบบของ Service    ขั้นตอนมีดังนี้ เมื่อเปิดอุปกรณ์ สามารถสร้าง service ให้โปรแกรมทำงานขึ้นเองได้ โดยมีขั้นตอนดังนี้  สร้างไฟล์โดยใช้คำสั่ง nano ในโฟลเดอร์ /etc/systemd/system/ ส่วนชื่อไฟล์ให้ตามด้วย .service    ภายในไฟล์ ใส่ข้อความตามด้านล่างนี้ โดยที่แก้ไขการตั้งค่าดังนี้ (ดูตั้งค่าอื่นๆเพิ่มเติมได้จากใน reference)  Description ใส่ข้อความอธิบายเกี่ยวกับ Service นี้  WorkingDirectoryโฟลเดอร์ของโปรแกรมที่จะเรียก  ExecStartคำสั่ง (command with arguments) ที่ต้องการให้ทำงานเมื่อ Service นี้เริ่มต้น   เช่น ในตัวอย่างเป็นการรัน WDConnection_Core.dll โดยใช้คำสั่งชื่อ dotnet  Restartให้ restart service เสมอ เมื่อโปรเซสหยุดทำงาน  RestartSecช่วงเวลาเป็นวินาทีก่อนที่จะ restart service  SyslogIdentifierชื่อสำหรับเก็บ System Log  Userบัญชีผู้ใช้ที่จะรันโปรแกรม      เมื่อแก้ไขเสร็จเรียบร้อย กด Ctrl+O เพื่อบันทึก และกด Enter เพื่อยืนยันการบันทึก หลังจากนั้นจึงกด Ctrl+X เพื่อออกจาก nano  ส่วนของไฟล์ที่จะให้ทำงานเป็น service นั้น ให้แก้ไขตั้งค่า File Permission เป็น executable โดยใช้คำสั่ง chmod +x ตามด้วยชื่อไฟล์ เช่น      พิมพ์คำสั่ง systemctl enable และตามด้วยชื่อ service ที่ตั้งไว้ตอนแรก เพื่อเปิดการใช้งาน เช่น      สั่งให้ server เริ่มทำงานโดยคำสั่ง systemctl start และตามด้วยชื่อ service      ดูสถานะการทำงานของ server โดยพิมพ์ systemctl status และตามด้วยชื่อ service       หากทำงานปกติจะขึ้นว่า Active (running) ดังในภาพด้านล่าง (กด Ctrl+C เพื่อออกจากหน้า status)      หากต้องการหยุด service สามารถใช้คำสั่ง systemctl stop และตามด้วยชื่อ service ได้      หลังจากนั้นจึงลอง reboot อุปกรณ์ เพื่อทดสอบว่าโปรแกรมจะทำงานเองหรือไม่ตอนเปิดขึ้นมาใหม่ โดยใช้คำสั่ง reboot และรอซักครู่หนึ่งก่อนที่จะติดต่อด้วย Putty เข้ามา แล้วเรียกดู status อีกครั้ง เพื่อยืนยันว่าโปรแกรมกำลังทำงานอยู่ …

Continue Reading