จำนวนการดูหน้าเว็บรวม

วันศุกร์ที่ 2 กันยายน พ.ศ. 2554

การเชื่อมต่ออินเตอร์เน็ตด้วย GPRS และส่งเมล์อัตโนมัติด้วยภาษาไพธอน

การเชื่อมต่ออินเตอร์เน็ตด้วย GPRS และส่งเมล์อัตโนมัติด้วยภาษาไพธอน

ในทุกวันนี้การพัฒนาทั้งหลายมักจะเกิดจากมาตรฐานต่าง ๆ ที่ถูกกำหนดขึ้น โดยการนำเทคโนโลยีมาผนวกเข้ากับมาตรฐานเหล่านั้น ถ้าท่านสามารถเชื่อมต่อเข้ากับมาตรฐาน TCP/IP ด้วยวิธีการใด ๆ ก็ตาม ย่อมหมายความว่าท่านสามารถใช้เทคโนโลยีอื่น ๆ ที่ทำงานอยู่บนมาตรฐานนั้น ๆ ได้ เ่ช่นเดียวกันกับบทความในวันนี้ เราจะเชื่อมต่อเข้าสู่ระบบอินเตอร์เน็ตด้วยโมดูล GPRS โดยจะทำการ Dial-up เข้าใช้บริการดังกล่าว จากนั้นทำการส่งข้อมูลบางอย่างไปยังเซิร์ฟเวอร์ สุดท้ายปิดการเชื่อมต่อของ GPRS Module

ในความเป็นจริงเราสามารถเชื่อมต่อ GPRS ให้ออนไลน์ได้ตลอดเวลาอยู่แล้ว แต่เนื่องจากเหตุผลบางอย่างที่เราต้องการให้โปรแกรมทำการ Automatic Dial เมื่อมีเหตุการณ์ใด ๆ เกิดขึ้นเท่านั้น เช่น เราไม่ต้องการให้มีการใช้งาน TCP/IP ในระหว่างที่เราออนไลน์ GPRS จึงต้องปิดการสื่อสารไป ดังนั้น บทความนี้จะนำท่านศึกษารายละเอียดเหล่านั้น ซึ่งมีใจความสำคัญดังต่อไปนี้ :

ความต้องการพื้นฐาน

1. GPRS Module
2. ภาษา Python
3. อินเตอร์เฟส API (Application Programming Interface) สำหรับเชื่อมต่อกับคำสั่ง API ในระบบปฏิบัติการวินโดวส์ 32 บิตทั้งหลาย
4. Sim Card พร้อมกับการเปิดให้บริการ GPRS ปกติซิมการ์ดรุ่นใหม่มักจะมีบริการ GPRS มาพร้อมแล้ว
5. Communication Port [Com Port] โดยปกติคอมพิวเตอร์สมัยใหม่มักจะไม่ติดตั้งอนุกรมและพอร์ตขนาน ดังนั้นท่านต้องซื้ออุปกรณ์สำหรับแปลง USB เป็น Com เพิ่มให้กับระบบคอมพิวเตอร์ของท่าน

เครื่องส่ง GPRS Module

1. ลักษณะภายนอกของเครื่องส่ง GPRS Module แสดงได้ดังภาพต่อไปนี้

เครื่องส่ง GPRS Module

พอร์ตอนุกรมที่ติดกับ GPRS Module

ในการเชื่อมต่อระหว่างอุปกรณ์ GPRS Module และระบบคอมพิวเตอร์จะสื่อสารด้วยพอร์ตอนุกรม ซึ่งแสดงได้ดังภาพต่อไปนี้



แหล่งจ่ายไฟให้กับ GPRS Module

อุปกรณ์อิเล็กทรอนิกส์ทุกชนิดต้องการพลังงานจากแหล่งกำเนิดพลังงาน ในตัวอย่างนี้ใช้สวิตชิ่ง กำเนิดแรงดัน 12 โวลต์ แสดงดังภาพต่อไปนี้




เชื่อมต่อพอร์ตอนุกรมเข้ากับ GPRS Module

โมดูล GPRS ในบทความนี้ใช้การเชื่อมต่อแบบอนุกรม ท่านสามารถเชื่อมต่อสายสัญญาณได้ดังภาพต่อไปนี้




เชื่อมพอร์ตอนุกรมเข้ากับคอมพิวเตอร์

ในการเชื่อมต่อพอร์ตอนุกรมต้องเชื่อมทั้งสองด้าน คือ ระหว่าง GPRS Module และคอมพิวเตอร์ ภาพต่อไปนี้แสดงการเชื่อมสายสัญญาณเข้ากับระบบคอมพิวเตอร์


นำ SIM Card ใส่ลงในโมดูล GPRS

การเชื่อมต่ออินเตอร์เน็ตด้วย GPRS ต้องใช้ซิมการ์ดโทรศัพท์ ท่านต้องแน่ใจว่าได้มีการเปิดบริการ GPRS ไว้แล้ว ในปัจจุบันนี้ซิมการ์ดรุ่นใหม่มักจะเปิดให้บริการ GPRS มาพร้อมแล้ว ดังนั้นท่านสามารถเชื่อมต่อเข้าสู่อินเตอร์เน็ตด้วย GPRS ได้เลย ถ้าท่านไม่แน่ใจอาจติดต่อไปยังศูนย์ให้บริการ GPRS ของบริการโทรศัพท์ที่ท่านใช้งานได้


ภาพด้านหน้าช่องใส่ Sim Card ถาดใส่ซิมการ์ด
GPRS รุ่นนี้ ท่านต้องกดปุ่มเล็ก ๆ ด้านขวามือของถาดใส่ซิมการ์ดเพื่อดันถาดให้เลื่อนออกมา จากนั้นจึงนำซิมการ์ดใส่ลงในถาด ดังภาพต่อไปนี้




การเชื่อมต่อทางกายภาพเสร็จเรียบร้อย

โมดูล GPRS ที่เชื่อมต่อทางกายภาพเสร็จเรียบร้อยแล้วท่านต้องทำการติดตั้งซอฟต์แวร์และการตั้งค่าต่าง ๆ ซึ่งจะกล่าวถึงในส่วนต่อไป โดยที่ภาพการเชื่อมต่อทางกายภาพสามารถแสดงได้ดังนี้




การเพิ่มฮาร์ดแวร์ใหม่เข้ามายังระบบปฏิบัติการของท่าน !!

ขั้นที่ 1. เลือก Start -> Control Panel


ขั้นที่ 2 : เลือก Phone and Modem Options


ขั้นที่ 3 : เลือก Don't detect my modem


ขั้นที่ 4 : เลือกโมเดลแบบ Standard 9600 bps Modem


ขั้นที่ 5 : เลือกพอร์ต COM1


ขั้นที่ 6 : สิ้นสุดการติดตั้งพอร์ตอนุกรมมาตรฐาน 9600 bps


ขั้นที่ 7 : กำหนดความเร็วในการรับส่ง


ขั้นที่ 8 : เลือก 9600 bps


ขั้นที่ 9 : กำหนดค่าพิเศษที่แท็บ Advanced ให้ป้อนข้อความดังภาพต่อไปนี้



สร้าง Network Connection !!

ขั้นที่ 1. เลือก Start -> Network Control (คลิ๊กขวา) -> Open



ขั้นที่ 2 : เลือก Create a new connection


ขั้นที่ 3 : เลือก Next


ขั้นที่ 4 : เลือก Connect to the Internet


ขั้นที่ 5 : เลือก Setup my connection Manually


ขั้นที่ 6: เลือก Connect Using a dial-up modem


ขั้นที่ 7 : เลือกอุปกรณ์ที่ต้องการใช้เชื่อมต่อ ตัวอย่างนี้ใช้ Standard 9600 bps Modem [COM1]


ขั้นที่ 8 : ตั้งชื่อการเชื่อมต่อ ในตัวอย่างนี้กำหนดเป็น GPRS ท่านอาจกำหนดชื่ออื่นได้ตามต้องการ


ขั้นที่ 9 : กำหนดหมายเลขการโทรศัพท์เป็น *99***1#


ขั้นที่ 10 : กำหนด Username / Password

รายละเอียดส่วนนี้สามารถติดต่อผู้ให้บริการ GPRS ได้ แต่โดยปกติมักจะใส่ชื่อบริษัทผู้ให้บริการ GPRS เช่น
- Orange ใส่ Username : orange และรหัสผ่าน : orange
- AIS ใส่ username : ais และรหัสผ่าน : ais [ขึ้นอยู่กับข้อกำหนดของผู้ให้บริการ แต่โดยปกติไม่ต้องกำหนดได้]

ขั้นที่ 11 : เสร็จสิ้นการสร้าง Network Connection




ทดสอบการ Dial-up ด้วย GPRS Module

ขั้นที่ 1. เลือก Start -> Setting -> Network connections -> GPRS


ก่อนอื่นต้องแน่ใจว่าโมเด็มของเราได้กำหนดความเร็วในการเชื่อมต่อที่ 9600 bps ก่อน ดังภาพต่อไปนี้


เลือกเมนู Configuration ปรากฎผลลัพธ์ดังภาพต่อไปนี้



การเชื่อมต่อสมบูรณ์

ในระหว่างที่กำลัง Dial-up ระบบจะแสดงภาพดังนี้

หากเชื่อมต่อได้แล้วจะปรากฎผลลัพธ์การเชื่อมต่อดังภาพด้านล่างทางดังนี้


การเขียนโปรแกรมเพื่อเชื่อมต่อเข้าระบบ GPRS และส่งเมล์

ซอร์สโค๊ด : โปรแกรมเชื่อมต่อเข้าระบบ GPRS และส่งเมล์ คำอธิบาย
#-*-coding:cp874-*- บอกไพธอนให้ใช้
ตัว Character Set ภาษาไทย
import sys, smtplib, MimeWriter, base64, StringIO, win32ras
from time import sleep อิมพอร์ตฟังก์ชั่นต่าง ๆ
def send_now(imgfile):
message = StringIO.StringIO()
writer = MimeWriter.MimeWriter(message)
writer.addheader('Subject', 'รายงานความผิดพลาด : ')
writer.startmultipartbody('mixed')
# Start off with a text/plain part
part = writer.nextpart()
body = part.startbody('text/plain')
body.write('ภาพต่อไปนี้แสดงความผิดพลาดที่เกิดขึ้น : ')
# Now add an image part
part = writer.nextpart()
part.addheader('Content-Transfer-Encoding', 'base64')
body = part.startbody('image/jpeg; name=kitten.jpg')
base64.encode(open(imgfile, 'rb'), body)
# Finish it off
writer.lastpart()
smtp = smtplib.SMTP('203.146.237.138') # หมายเลขไอพีแอดเดรสเมล์เซิร์ฟเวอร์
smtp.sendmail('alert@motiondetect.net', 'nprotech@gmail.com', message.getvalue())
smtp.quit() ฟังก์ชั่น send_now()
สำหรับเรียกใช้เมื่อต้องการ
ให้มีการส่งเมล์
โดยอาร์กิวเมนต์
ที่ป้อนให้ ฟังก์ชั่นนี้คือ
ชื่อไฟล์ภาพ
นิยมใช้งานฟอร์แมต
.jpg และ .gif หรือ .png
myParams = ('GPRS','*99***1#','','','','')
while 1:
(hras, success) = win32ras.Dial(None, None, myParams, None)
if ~success:
print "Connted !!",i
break

print "กรุณารอกระทั่งได้มีการส่งเมล์เรียบร้อย !!"
send_now('.\\ชื่อไฟล์รูปที่ต้องการส่ง.jpg')
print "ส่งเมล์เรียบร้อยแล้ว !!"
win32ras.HangUp(hras) กำหนดพารามิเตอร์
เพื่อใช้สำหรับการ Dial-up
ให้วนทำการ Dial ไปเรื่อย ๆ
หากยังไม่สามารถเชื่อมต่อได้
ให้ Dial-up วนอยู่อย่างนั้น

เมื่อเชื่อมต่อได้แล้ว ให้เรียกใช้
ฟังก์ชั่น send_now()

สุดท้ายปิดการเชื่อมต่อสื่อสาร
ระหว่าง GPRS Module
ด้วยฟังก์ชั่น HangUp()
ตรวจสอบจดหมายจาก Gmail.com !!

เนื่องจากโปรแกรมนี้ได้ส่งภาพเข้ามายัง nprotech@gmail.com ดังนั้นเราจึงล็อกออนไปที่เป็นไซด์ www.gmail.com และเข้าล็อกอินของ nprotech@gmail.com จะพบเมล์เพิ่มขึ้นมาในเมล์บล็อก ดังนี้



เมื่อคลิ๊กเข้าไปตรวจสอบเมล์จะพบข้อมูลภาพที่ถูกส่งเข้ามายังเมล์ของเราจากเครื่องส่ง GPRS Module อย่างอัตโนมัติ แสดงได้ดังภาพต่อไปนี้


การส่งเข้ามือถือด้วยบริการ MMS (Multimedia Message Service)

ท่านสามารถส่งเมล์เข้าไปยังบริการ MMS ได้ ขึ้นอยู่กับการให้บริการของเครือข่ายโทรศัพท์ โดยแอดเดรสปลายทางที่ระบุถึงท่านจะแปลงเป็นตำแหน่งอีเมล์แอดเดรสได้ดังนี้
ถ้าหมายเลขโทรศัพท์ของท่านเป็น 09 1564701
ขั้นที่ 1 : เขียน +66
ขั้นที่ 2 : ตัดศูนย์ด้านซ้ายมือสุดทิ้งไป ตัวอย่างนี้เหลือเฉพาะเลข 9
ขั้นที่ 3 : หมายเลขโทรศัพท์ของท่าน ตัวอย่างนี้คือ 1564701
ขั้นที่ 4 : โดเมนเนมของผู้ให้บริการ ในตัวอย่างนี้ใช้ของ ais อาจระบุได้ในลักษณะนี้ คือ mms.mobilelife.co.th|
ดังนั้น หมายเลขอีเมล์แอดเดรสของท่านจะมีค่าเป็น +6691564701@@mms.mibilelife.co.th

ก่อนที่ท่านจะสามารถใช้บริการ MMS ได้ต้องติดต่อศูนย์ให้บริการโทรศัพท์เคลื่อนที่เพื่อเปิดบริการ MMS ก่อนเป็นอันดับแรก รายละเอียดส่วนนี้ติดต่อศูนย์ให้บริการต่อไป
เมื่อท่านส่งเมล์ด้วยอีเมล์ดังกล่าว ผู้รับสารจะสามารถได้รับ MMS จากท่านได้ตามปกติ ปัจจุบันเครือข่ายของ AIS ให้บริการเท่านั้น (23 มิถุนายน 2548)

ไม่มีความคิดเห็น:

แสดงความคิดเห็น