การเขียน shell script บน Android แบบไม่ต้องใช้ chmod

การเขียน shell script
การเขียน shell script

เคยมีนักศึกษาสายไอที ถามมา
เพราะสายอื่นเค้าคงไม่ถามแบบนี้หลอก
คำถาม “มีสมาร์ทโฟน เอามาทำอะไรได้บ้าง
แล้วก็คิดได้ว่า โทรศัพท์ที่เค้ามีเป็น android os
สามารถติดตั้ง app เพิ่ม จาก Google play store ได้
งั้นตอบว่า “ใช้เขียน shell script ได้ ลองดูนะ
ไม่ต้องกังวลเรื่อง root ด้วย เพราะไม่จำเป็นต้องทำ
แนะนำว่าต้องโหลดแอพ ดังต่อไปนี้
1. Terminal Emulator
2. Droidedit Free
3. ES File Explorer File Manager
4. Palapa Web Server
อันที่จริง ใช้แอพในข้อ 1 เป็นหลัก
ที่เหลือแนะนำว่า Developer ควรมีไว้ในเครื่อง

ขั้นตอนการเขียน shell script
บน Android แบบไม่ต้องใช้ chmod
1. โหลดแอพ Terminal Emulator
เพื่อเข้าไปจัดการกับ Script ผ่าน Shell บน Android
2. โหลดแอพ Droidedit Free
เพื่อเป็นอีดิเตอร์สำหรับเขียน Script บน Android
เพราะโหลดมาแก้ไข และ Save as ได้
3. สำรวจห้องที่จะเก็บ shell script
โดยใช้เครื่องมือ คือ Terminal Emulator
หรือ ES File Explorer File Manager ก็ได้
เข้าไปดูห้อง /mnt/sdcard
พบว่ามีห้องเก็บข้อมูลมากมาย
อาทิ ห้อง /mnt/sdcard/pws
ที่สร้างจากแอพ Palapa Web Server
4. เขียน Shell script บนแอพ Droidedit Free
แล้ว Save as ชื่อ test1 วางไว้ในห้อง /mnt/sdcard

#!/system/bin/sh
read x
echo $x

5. ใช้ Terminal Emulator สั่ง execute shell script
โดยไม่ต้องใช้คำสั่ง chmod
เพราะใช้ไม่ได้และไม่จำเป็นต้องใช้
หากต้องการใช้ shell script ให้มีคำว่า sh นำหน้า
เช่น $sh test1

6. ตัวอย่าง รับค่าจากแป้นพิมพ์มาทดสอบ

#!/system/bin/sh
read x
echo $x
if [ “$x” == “1” ]
then
echo “one”
elif [ “$x” == “2” ]
then
echo “two”
else
echo “-”
fi

อธิบาย script ว่า
ถ้า execute แล้วเค้าหยุดถาม
หากกรอกเลข 1 จะพิมพคำว่า one ออกมา
หากกรอกเลข 2 จะพิมพคำว่า two ออกมา
หากกรอกอย่างอื่น จะพิมพคำว่า – ออกมา

ใคร ๆ ก็มี พอสมัคร firebase เสร็จ ก็สร้าง project กันเลย

 

ใคร ๆ ก็ใช้ firebase เป็น webserver ของตนเอง
แต่การเริ่มต้นทำได้ด้วยการสร้าง project
เรามาเริ่มต้นสร้าง project กันเถอะ

01 firebase
01 firebase

ขั้นตอน
1. เริ่มต้นสมัคร gmail.com ก็จะได้บัญชี google.com
แล้วเข้า firebase.com จะพบหน้า “ยินดีต้อนรับกลับสู่ Firebase”
เห็นข้อความนี้เพราะเข้าไปหลายรอบแล้ว

02 project
02 project

2. ถ้ายังไม่มี project หรือโครงการ
จะพบปุ่ม “สร้างโครงการใหม่”
ระบุชื่อโครงการ “myproject1”
ระบุประเทศ “ไทย”

 

03 hosting
03 hosting

3. พบหน้า project สามารถเลือกได้
ว่าจะ
เพิ่ม Firebase ไปยังแอป iOS ของคุณ
เพิ่ม Firebase ไปยังแอป Android ของคุณ
เพิ่ม Firebase ไปยังแอปของคุณ
ถ้ายังไม่ถนัดการเขียนแอป ก็ยังไม่ต้องคลิ๊กเข้าไป “เพิ่ม”
จึงแนะนำให้ไปฝึกใช้ Storage กันก่อน
เพราะส่งแฟ้มเข้าไปแล้ว
สามารถแชร์เว็บเพจออกมาได้เลย
แต่เป็น .htm หรือแฟ้มมัลติมีเดียร์ที่ไม่ลิงค์กันนะครับ

04 node.js
04 node.js

4. คลิ๊ก “hosting” เพื่อการสร้างเว็บโฮสติ้งเผยแพร่เรื่องราว
คลิ๊ก “เริ่มต้น”
จะพบคำแนะนำให้ใช้ $ npm install -g firebase-tools
จะทำได้ต้องติดตั้ง Node.js ในเครื่องก่อน
โดยเข้า https://nodejs.org/en
download รุ่น V6.9.1 LTS เมื่อ 19 พ.ย.59
ได้แฟ้ม node-v6.9.1-x86.msi ขนาด 10.9 MB
จากนั้นก็คลิ๊กติดตั้งให้เรียบร้อย เพื่อใช้ Node.js

5. รายละเอียดอีกเยอะ
อ่านเพิ่มเติมที่ http://www.thaiall.com/blog/burin/7733/
ผลการใช้งาน ได้เว็บนางสาวแกรด์ 76 จังหวัด
ที่ https://missgrand2016th.firebaseapp.com

รับส่งแฟ้มหว่าง PC กับ Smartphone ผ่าน wireless usb

ปกติผมจะแนะนำนักศึกษาให้ใช้  Cloud storage
อาทิ 4shared, dropbox, google drive, onedrive
แต่ถึงทีผมแล้วไม่ได้ใช้กับห้อง DCIM ครับ
เพราะถ่ายภาพไว้เยอะ และยังไม่ได้คัดภาพบางกลุ่ม
จะต้องนำมาคัดแยก folder ทำบน PC ง่ายกว่า
จะใช้ cloud ก็กลัวเต็ม
พบเครื่องมือย้ายข้อมูลผ่านแอพบน smartphone
ลองใช้แล้วก็ง่ายดี

หากต้องการ คัดลอกภาพ วีดีโอ หรือแฟ้มออกจากโทรศัพท์
หรือจะส่ง app ที่สกุล .apk เข้าไปประมวลผลบนเครื่อง android
ก็อาจใช้สาย Data link ซึ่งเป็นวิธีที่นิยมกัน
แต่อีกวิธีที่น่าสนใจคือใช้ app : wireless usb (มีมาให้ในเครื่อง)
ซึ่งสามารถหาดาวน์โหลดได้ มีหลาย app ให้เลือก (แนะนำด้านล่าง)
เมื่อเปิดบริการผ่าน wireless และ app นี้แล้ว
ก็ถือว่า smartphone เป็น ftp server
ที่เครื่องในเครือข่ายเดียวกับ access point
จากนั้นในเครื่อง PC ก็ติดตั้ง ftp client เช่น filezilla หรือ wsftp
แล้วระบุ ip พร้อม port หรือ user(anonymous) แล้ว
เพียงเท่านี้ ก็สามารถ upload หรือ download แฟ้ม
จัดการเชื่อมโยงกันระหว่างเครื่อง PC กับโทรศัพท์ได้แล้ว
กรณีของผมใช้ i-mobile รุ่น IQ Big2 ราคา 3990 บาท
ภาพตัวอย่างคือการ download ภาพทั้งหมด
จากโทรศัพท์มาเก็บในเครื่อง จำนวน 2 ร้อยกว่าแฟ้ม
รวมขนาด 1 GB ก็ใช้เวลาไม่นานนัก

wireless usb and filezilla
wireless usb and filezilla


แนะนำ WiFi FTP (WiFi File Transfer)
https://play.google.com/store/apps/details?id=nalic.app.wifishare&hl=th

แนะนำ WiFi File Transfer – FTP
https://play.google.com/store/apps/details?id=com.wifi.filetransfer.sharing.file.data.ftp&hl=th

แนะนำ FTPServer ซึ่งตัวนี้มีตัวเลือกมากมาย เคยใช้แล้วครับ ติดใจเลย
https://play.google.com/store/apps/details?id=lutey.FTPServer&hl=th

เรื่อง FTP Server กับ Client เคยเล่าไว้ที่
http://www.thaiall.com/learn/useftp.htm

สมาร์ทโฟนของไมโครซอฟท์ อย่าง Lumia ไม่น่าจะตายได้ แต่ปี 2559 ก็ต้องออกตลาดไป

ที่มาของคำว่า Lumia ที่ชวนให้ชาวสเปนนึกถึง แสง และ สไตล์
ส่วนในฟินแลนด์ หมายถึง หิมะ
http://news.siamphone.com/news-06958.html

หลายปีก่อนหน้านี้ Nokia พ่ายแพ้ในตลาดโทรศัพท์ที่เปลี่ยนไปเป็นสมาร์ทโฟน
จนต้องขายกิจการ เพื่อพยุงกิจการให้อยู่ต่อไป
เมื่อ Microsoft ตกลงซื้อกิจการ Nokia มูลค่า 7.2 พันล้านเหรียญ เมื่อปี 2556
สถานการณ์ก็ไม่ได้ดีขึ้น ตามที่ Microsoft คาด
http://apptube.blogspot.com/2013/09/microsoft-nokia-72.html

ในสงครามสมาร์ทโฟน ไม่ได้โรยด้วยกลีบกุหลาบ
มีการเปลี่ยนชื่อจาก Nokia Lumia เป็น Microsoft Lumia
แต่ก็ไม่ทำให้ยอดขายเพิ่มขึ้น พบว่า พฤษภาคม 2559
วินโดวส์ โฟน มีส่วนแบ่งตลาดในตลาดโลกไม่ถึง 1 เปอร์เซ็นต์ และลดลงต่อเนื่อง
จึงมีนโยบาย (Policy) “ลดขนาดธุรกิจสมาร์ทโฟน” ด้วยการให้พนักงาน 1850 ตำแหน่งออกงาน
ส่วนใหญ่เป็นอดีตพนักงานของโนเกียในฟินแลนด์
http://www.manager.co.th/CyberBiz/ViewNews.aspx?NewsID=9590000052692

smartphone os in Q4 of 2015
smartphone os in Q4 of 2015

ข้อมูล Market Share ในไตรมาสที่ 4 ของปี 2015 โดยประมาณ
1. Android 80.7%
2. iOS 17.7%
3. Windows 1.1%
4. Blackberry 0.2%
5. Other 0.2%
http://www.macthai.com/2016/02/19/ios-android-market-share-q4-15-gartner/

Blockly คือเครื่องมือช่วยพัฒนาโปรแกรมแบบวิชวล

blockly
blockly
1. ที่มา
Blockly คือ เครื่องมือพัฒนาโปรแกรมแบบวิชวล (Visual) โดยใช้สัญลักษณ์ภาพแบบจิ๊กซอล แทนคำสั่งมาเรียงต่อกันตามเงื่อนไขที่ต้องการ พัฒนาโดย google for education แล้วเปิดให้ทดลองใช้ (Try Blockly) บนเว็บของกูเกิ้ล หรือนักพัฒนาจะดาวน์โหลดไปติดตั้งบน website ของตนเอง เพื่อพัฒนาต่อยอดได้ ในเครื่องมีอนี้มีกลุ่มของสัญลักษณ์ที่ประกอบด้วย Logic, Loops, Math, Text, Lists, Colour, Variables, Functions
2. รับโปรแกรม (get the code)
โดย download แฟ้ม .zip เมื่อแตกแล้วก็นำไปวางบน server ที่บริการภาษา python
หน้าตาที่ได้ก็จะเป็น blockly แบบที่พบได้ใน demo ซึ่งจะทำงานบน client-side
3. Playground on the demo sever.
บริการใช้งาน Blockly แล้วสร้างเป็น source code : javascript แล้วคัดลอกออกมาได้
เพื่อนำไปใช้ใน compiler ต่อไปได้ แต่ทดสอบประมวลผลไม่ได้
4. บริการ Live Demo : JS Interpreter
สำหรับทดสอบประมวลผล Blockly และรายงานผลผ่านสัญลักษณ์ print ได้
แต่ copy : javascript ไม่ได้
5. code editor + run
ที่ block แล้วมองเห็น code ภาษาต่าง ๆ ทั้ง block, javascript, python, dart, xml
แล้วสั่ง run เพื่อดูผลลัพธ์ หรือ copy code ไปใช้ได้
6. มี Demos ให้ทดสอบการใช้งาน Blockly แบบต่าง ๆ
สร้างเครื่องบิน หรือ code editor ที่สลับไปมาระหว่าง source กับ symbol
7. ตัวอย่างบริการ blockly จากเว็บไซต์ต่าง ๆ
เช่น Blockly Games ใช้สร้างเกมง่าย ๆ ได้
หรือ Appinventor สำหรับ Android apps
8. ตัวอย่าง XML
<xml>
<block type=”variables_set” id=”642″ inline=”true” x=”-51″ y=”18″>
<field name=”VAR”>a</field>
<value name=”VALUE”>
<block type=”text” id=”643″>
<field name=”TEXT”>a</field>
</block>
</value>
<next>
<block type=”controls_repeat_ext” id=”644″ inline=”true”>
<value name=”TIMES”>
<block type=”math_number” id=”645″>
<field name=”NUM”>5</field>
</block>
</value>
<statement name=”DO”>
<block type=”text_append” id=”646″ inline=”false”>
<field name=”VAR”>a</field>
<value name=”TEXT”>
<block type=”text” id=”647″>
<field name=”TEXT”>b</field>
</block>
</value>
</block>
</statement>
<next>
<block type=”text_print” id=”648″ inline=”false”>
<value name=”TEXT”>
<block type=”variables_get” id=”649″>
<field name=”VAR”>a</field>
</block>
</value>
</block>
</next>
</block>
</next>
</block>
</xml>

บทเรียนการใช้ Terminal emulator

30 พ.ย.56 ทำ tutorial ให้นักศึกษาได้เรียนรู้
ด้วยการใช้กล้องวีดีโอบันทึกจอภาพของ tabletpc โดยตรง
ไม่ได้ใช้ capture screen เหมือนบน desktop
เพราะครั้งนี้ screen อยู่บน tabletpc

รายละเอียดเพิ่มเติม
1. จับจอภาพของโปรแกรม Terminal emulator
2. กำหนด font size เป็น 20pt
3. ไม่ได้ใช้หลอดไฟช่วย แต่เปิดจอ LCD ด้านขวา
4. กำหนดแสงของจอภาพต่ำสุด และผู้บรรยายนั่งด้านซ้าย
5. กล้อง Sanyo Xacti VPC-CG65GX
http://camera.manualsonline.com/manuals/mfg/sanyo/vpc-cg65.html

รายละเอียดในคลิ๊ป ที่เปิดใน LCD เป็นแนวในการบรรยาย
https://www.facebook.com/thaiall/posts/10152034454772272

การใช้ terminal emulator app บน samsung tab 10.1

การใช้ terminal emulator app บน samsung tab 10.1
การสำรวจเครื่องครั้งนี้ มีการดำเนินการ 2 ส่วน
1. การสำรวจระบบ android linux
2. การจัดการแฟ้ม และสารบบ

http://www.thaiall.com/android
โดยใช้คำสั่งต่าง ๆ เรียงลำดับก่อนหลังดังนี้
[1. การสำรวจระบบ android linux]
1. pwd ดูว่าปัจจุบันอยู่ใน folder อะไร พบว่าอยู่ใน /
2. id ดูชื่อ และรหัสตนเอง พบว่าตนเองชื่อ app_125 มี id คือ 10125
3. df ดูว่าในเรื่องมีพื้นที่เท่าใด
4. env ดูข้อมูลสาพแวดล้อม
5. ps ดูว่ามี process อะไรประมวลผลอยู่
6. netstat ดูว่าเปิด port อะไร และติดต่อไปข้างนอกอยู่หรือเปล่า
7. netcfg ดูว่าเชื่อมต่อออกไปใช้ ip อะไร
8. ls ดูรายชื่อแฟ้ม
9. du ดูขนาดแต่ละ folder ทั้งหมด
10. ping www.facebook.com ดูว่าเชื่อมต่อกับ fb ได้ความเร็วกลับมาเท่าใด
11. date ดูว่ากี่โมง และวันที่เท่าใด
12. mount ดูว่ามีอุปกรณ์อะไรเชื่อมต่อไว้บ้าง เช่น sdcard
13. top ดูว่า process อะไรใช้ทรัพยากรมาก
[2. การจัดการแฟ้ม และสารบบ]
1. cd เพื่อย้ายตำแหน่งไปยัง app_HOME
2. du / > a เพื่อสร้างแฟ้มชื่อ a
3. ls -al เพื่อแสดงรายชื่อ และขนาดของแฟ้ม
4. tail a เพื่อดูส่วนหางของแฟ้ม เพียง 10 บรรทัดทุดท้าย
5. mkdir x เพื่อสร้าง folder ชื่อ x
6. mv a x เพื่อย้ายแฟ้ม a ไปใน x
7. cd x เพื่อเข้าห้อง x
8. cp a b เพื่อคัดลอกแฟ้ม a เป็น b
9. find เพื่อแสดงรายชื่อแฟ้ม หรือ find a หรือ find c
10. find > c เพื่อนำชื่อแฟ้มไปสร้างเป็นแฟ้ม c
11. vi c เพื่อแก้ไขแฟ้ม c
12. cd .. เพื่อออกจากห้อง x
13. rm x/* เพื่อลบทุกแฟ้มในห้อง x
14. rmdir x เพื่อลบห้อง x
15. ls -al เพื่อแสดงรายชื่อ และขนาดของแฟ้ม

คลิ๊ปการใช้งาน ที่ http://www.thaiall.com/blog/burin/5647/

อัพเดทสถิติระบบปฏิบัติการใหม่ (itinlife420)

windows 8.1 apps
windows 8.1 apps

มีข่าวว่าไมโครซอฟท์วินโดวส์จะหยุดให้การสนับสนุนวินโดวส์เอ็กพี (Windows XP) ตั้งแต่ 8 เมษายน 2557  หลังผลิตภัณฑ์นี้มีอายุในตลาดยาวนานที่สุดถึง 12 ปี นับตั้งแต่ปี 2554 มีผลให้ผู้ที่ใช้อยู่จะใช้งานได้ต่อไป แต่จะไม่มีการอัพเดทด้านความปลอดภัย ไม่แก้ปัญหาการใช้งาน และไม่สนับสนุนผู้ใช้อีกต่อไป แล้วแนะนำให้ใช้ระบบปฏิบัติการใหม่ของบริษัทแทน ตามข้อมูลเดือนกันยายน 2556 ของ StatCounter.com พบว่า คอมพิวเตอร์ที่ใช้ระบบปฏิบัติการ Windows XP ในไทยคิดเป็นร้อยละ 28.86 หรือราว 5.7 ล้านเครื่องจากจำนวนคอมพิวเตอร์ทั้งหมด 20 ล้านเครื่องในไทย
วินโดวส์ 7 เปิดตัวในไทย 31 ตุลาคม 2552 และวินโดวส์ 8 เปิดตัว 26 ตุลาคม 2555 ซึ่งรุ่นล่าสุดนี้ถูกพัฒนาโดยเน้นการใช้งานบนอุปกรณ์พกพา (Mobile Device) อาทิ แท็บเล็ต (TabletPC) หรือสมาร์ทโฟน (Smart Phone) เพื่อแข่งขันกับระบบปฏิบัติการที่อยู่ในตลาดขณะนี้คือ แม็คโอเอส (MacOS) ไอโอเอส (iOS) และแอนดรอย (Android) ที่รองรับการติดต่อกับผู้ใช้ผ่านหน้าจอสัมผัส (Touch Screen)  ได้อย่างมีประสิทธิภาพ ผู้ใช้ยังไม่ทันหายตื่นเต้นกับวินโดวส์ 8 ก็มีข่าวว่าไมโครซอฟท์จะออกชุดอัพเกรดเป็นวินโดวส์ 8.1 ในวันที่ 18 ตุลาคม 2013 ถ้ามีวินโดวส์ 8 อยู่แล้วก็สามารถอัพเกรดได้ฟรี แต่หากต้องการติดตั้งใหม่ผ่านแผ่นดีวีดีก็มีรุ่นมาตรฐานราคา 4,590 บาท ส่วนรุ่นโปรราคา 7,990 บาท
ปัจจุบันผู้ใช้มีทางเลือกมากมายที่จะใช้ระบบปฏิบัติการ สำหรับข้อมูลสถิติทั่วโลกเมื่อเดือนกันยายน 2556 พบว่า วินโดวส์ 7 มีผู้ใช้มากที่สุดคิดเป็นร้อยละ 51.98 รองลงมาคือวินโดว์เอ็กพีมีร้อยละ 20.59 ส่วนอันดับสามที่แซงขึ้นมาเป็นเดือนแรกคือ วินโดวส์ 8 มีร้อยละ 7.46 โดยอันดับสี่คือ แม็คโอเอสมีร้อยละ 6.98 อีกไม่นานคงได้เห็นวินโดวส์ 8 ขึ้นมากินส่วนแบ่งตลาดระบบปฏิบัติการเพิ่มขึ้น แต่จะกระโดดขึ้นมาเป็นอันดับหนึ่งได้หรือไม่คงต้องติดตามกันต่อไป เพราะทั้ง 3 อันดับแรกเป็นของไมโครซอฟท์ทั้งหมด ก็คาดได้ไม่ยากว่าบริษัทนี้จะปันใจให้กับระบบปฏิบัติการใด

http://notebookspec.com/topics/windows-8-1/
http://tech.mthai.com/it-news/25772.html
http://gs.statcounter.com/#os-ww-monthly-201209-201309
http://www.it24hrs.com/2013/1-year-left-to-stop-support-update-windows-xp/
http://men.kapook.com/view60152.html
http://www.extremetech.com/wp-content/uploads/2013/06/windows-8.1-apps-view-search.jpg

ทดสอบเชื่อมต่อ telnet เข้า win7

telnet from android to win7
telnet from android to win7

เล่าสู่กันฟัง
วันนี้ฤกษ์ดี นำ tabletpc จากที่บ้าน samsung galaxy tab 10.1 ซึ่ง root เครื่องแล้ว และติดตั้ง busybox โดยตั้งใจจะใช้คำสั่ง telnet เข้าไปยัง 172.50.0.7 ซึ่งเป็นเครื่องคอมพิวเตอร์หนึ่งในที่ทำงาน ที่เป็น win7 แล้วเปิดบริการ telnet server ผ่าน control panel, programs and features เมื่อใช้ netstat -na ก็พบว่าเปิด port 23 รอให้บริการอยู่ หากไม่เปิดก็ต้องใช้ services.msc เข้าไป start

telnet client on samsung galaxy tab 10.1
telnet client on samsung galaxy tab 10.1

จากกนั้นก็ใช้ terminal emulator บน android โดยใช้คำสั่ง telnet 172.50.0.7 แล้ว connect เข้าไปผ่านสิทธิ์ของ user & password ที่เจ้าของเครื่องอนุญาต  ซึ่งคำสั่ง telnet มาจาก busybox ถูกใช้เพื่อร้องขอการติดต่อกับเครื่องปลายทาง ก็พบว่าใช้คำสั่งต่าง ๆ ใน DOS ได้ อาทิ nslookup หรือ net view เมื่อทดสอบเสร็จก็ไปสั่ง stop service ต่าง ๆ  บนเครื่อง win7 เพราะไม่คิดจะใช้ หากจะใช้ก็จะเปิดเป็นกรณีไป

คลิ๊ปแนะนำการ root android บน samsung galaxy tab 10.1
http://www.thedroiddemos.com/2011/08/28/how-to-root-the-samsung-galaxy-tab-10-1-video-walkthrough/