PDA

View Full Version : نوشتن نرم افزار ارسال SMS



mehr83
یک شنبه 11 فروردین 1387, 21:54 عصر
من تا حالا با دیتابیس کار کردم
می‌خوام برنامه‌ای بنویسم که از طریق مودم گوشی و سیم‌کارت بصورت انبوه SMS ارسال کنم
چیزی مثل Microsoft Sms Sender
با این تفاوت که Microsoft Sms Sender نمی تونه همزمان به چندین خط SMS ارسال کنه و باید یکی یکی شماره ها رو بهش داد
خود نرم افرار NOkia PC Suite هم این کار رو می کنه اما بعد فرستادن چند تا Sms دیگه نمیفرسته.
تو بازار نرم افزارهایی هست که با مودم گوشی و سیمکارت SMS بصورت انبوه میفرسته.
اگه دوستان تجربه‌ای دارن لطف کنن راهنمایی کنن.
من فقط دیتابیس کار کردم اصلا نمیدونم چبکار باید بکنم
اما معتقدم با کمک بچه‌های فروم میتونیم این نرم‌افزار و بنویسیم و همه ازش استفاده کنیم

----------------------------------------------------------------------
فروش ويژه مجموعه كامل محصولات آموزش برنامه نويسي AppDev
Asp.NET , Visual Basic.NET , Visual C#.NET , SQL Server 2008 , Web Service , LINQ , Html , Xml , SharePoint
اطلاعات بيشتر در
http://sadrasystem.org (http://sadrasystem.org/)

amirsajjadi
دوشنبه 12 فروردین 1387, 18:18 عصر
http://barnamenevis.org/forum/showpost.php?p=489588&postcount=2

gdevnb
سه شنبه 13 فروردین 1387, 21:42 عصر
می تونید از کمپوننت زیر استفاده کنید
Launcher mCore .NET SMS Library

mehr83
سه شنبه 13 فروردین 1387, 23:04 عصر
http://barnamenevis.org/forum/showpost.php?p=489588&postcount=2

من با Nokia N73 امتحانش کردم کار نمیکنه

----------------------------------------------------------------------
فروش ويژه مجموعه كامل محصولات آموزش برنامه نويسي AppDev
Asp.NET , Visual Basic.NET , Visual C#.NET , SQL Server 2008 , Web Service , LINQ , Html , Xml , SharePoint
اطلاعات بيشتر در
http://sadrasystem.org (http://sadrasystem.org/)

shahrdar
چهارشنبه 14 فروردین 1387, 22:06 عصر
منم با دوتا samsung امتحان کردم کار نکرد

mehr83
چهارشنبه 14 فروردین 1387, 23:23 عصر
می تونید از کمپوننت زیر استفاده کنید
Launcher mCore .NET SMS Library

این کامپوننت قابلیت ارسال sms بصورت انبوه رو داره؟ یا تک تک sms میفرسته؟

----------------------------------------------------------------------
فروش ويژه مجموعه كامل محصولات آموزش برنامه نويسي AppDev
Asp.NET , Visual Basic.NET , Visual C#.NET , SQL Server 2008 , Web Service , LINQ , Html , Xml , SharePoint
اطلاعات بيشتر در
http://sadrasystem.org (http://sadrasystem.org/)

gdevnb
پنج شنبه 15 فروردین 1387, 23:56 عصر
این کامپوننت قابلیت ارسال sms بصورت انبوه رو داره؟ یا تک تک sms میفرسته؟

این کمپوننت یکی از قویترین کمپوننت ها تو این زمینه هستش البته برای دات نت ولی من خودم ارسال انبوه رو تست نکردم اگه شما تست کردید لطف کنید و خبرشو به ما هم بدید
با تشکر

amirsajjadi
جمعه 16 فروردین 1387, 09:23 صبح
شما نیازی نیست از این جور کامپوننت ها استفاده کنید
خیلی راحت شما میتونید از AT Command ها استفاده کنید که اگه یک سرچ بزنی مطالب خوبی گیرت میاد (هم برای سونی اریکسون ، نوکیا ، سامسونگ و ...)

touraj
جمعه 16 فروردین 1387, 11:29 صبح
شما نیازی نیست از این جور کامپوننت ها استفاده کنید
خیلی راحت شما میتونید از AT Command ها استفاده کنید که اگه یک سرچ بزنی مطالب خوبی گیرت میاد (هم برای سونی اریکسون ، نوکیا ، سامسونگ و ...)

من هم AT Command رو ترجیح میدم. به نظرم هرچند زحمتش یه کم بیشتره، اما دست آدم بازتره.

saman_itc
جمعه 16 فروردین 1387, 12:12 عصر
AT Componet مجانی نیست و کرک داره
کرکش هم نمیشه گیر اورد!!!
touraj (http://barnamenevis.org/forum/member.php?u=17220) جان شما ازش استفاده کردی؟

amirsajjadi
جمعه 16 فروردین 1387, 17:43 عصر
دوست عزیز AT Command یکسری دستوره که با مودم های GSM کار میکنه
مثلا دستور :

ATD "Number Phone";
شماره گیری میکنه
یا

ATH
تماس رو Hold میکنه و ...

linux
جمعه 16 فروردین 1387, 20:17 عصر
AT Command مجانی نیست و کرک داره
کرکش هم نمیشه گیر اورد!!!
touraj (http://barnamenevis.org/forum/member.php?u=17220) جان شما ازش استفاده کردی؟

http://www.gsm-modem.de/gsm-modem-faq.html

linux
جمعه 16 فروردین 1387, 20:21 عصر
AT Command مجانی نیست و کرک داره
کرکش هم نمیشه گیر اورد!!!
touraj (http://barnamenevis.org/forum/member.php?u=17220) جان شما ازش استفاده کردی؟
http://www.developershome.com/sms/howToUseHyperTerminal.asp
http://www.gsm-modem.de/gsm-modem-faq.html

mehr83
جمعه 16 فروردین 1387, 21:56 عصر
من اصلا نمیدونم از کجا باید شروع کنم

----------------------------------------------------------------------
فروش ويژه مجموعه كامل محصولات آموزش برنامه نويسي AppDev
Asp.NET , Visual Basic.NET , Visual C#.NET , SQL Server 2008 , Web Service , LINQ , Html , Xml , SharePoint
اطلاعات بيشتر در
http://sadrasystem.org (http://sadrasystem.org/)

mojtaba-saleh
جمعه 16 فروردین 1387, 22:37 عصر
سلام
شما دنبال کامپوننت ActiveXperts sms toolkit بگردید.
من خودم نسخه اصلیشو دارم.
ولی یکی از دوستان کیجنش رو تونسته بود پیداکنه.

mojtaba-saleh
جمعه 16 فروردین 1387, 22:39 عصر
کار کردن با این کمپوننت خیلی راحته و من خودم برای ارسال گروهی ازش استفاده کردم.
ولی نمی شه مثلا 100 تا رو یه جا بفرسته باید با یک حلقه For یکی یکی براش مشخص کنیم

linux
شنبه 17 فروردین 1387, 00:36 صبح
من اصلا نمیدونم از کجا باید شروع کنم
گوشی موبایلت چی هست؟

Dariuosh
شنبه 17 فروردین 1387, 12:17 عصر
یه کلاس درست میکنیم


OptionExplicitOn
Imports System
Imports System.Threading
Imports System.ComponentModel
Imports System.IO.Ports
Class SMSCOMMS
PrivateWithEvents SMSPort As SerialPort
Private SMSThread As Thread
Private ReadThread As Thread
Shared _Continue AsBoolean = False

Shared _ContSMS AsBoolean = False
Private _Wait AsBoolean = False
Shared _ReadPort AsBoolean = False
PublicEvent Sending(ByVal Done AsBoolean)
PublicEvent DataReceived(ByVal Message AsString)
PublicSubNew(ByRef COMMPORT AsString)
SMSPort = New SerialPort
With SMSPort
.PortName = COMMPORT
.BaudRate = 9600
.Parity = Parity.None
.DataBits = 8
.StopBits = StopBits.One
.Handshake = Handshake.RequestToSend
.DtrEnable = True
.RtsEnable = True
.NewLine = vbCrLf
EndWith
ReadThread = New Thread(AddressOf ReadPort)
EndSub
PublicFunction SendSMS(ByVal CellNumber AsString, ByVal SMSMessage AsString) AsBoolean
Dim MyMessage AsString = Nothing
'Check if Message Length <= 160
If SMSMessage.Length <= 160 Then
MyMessage = SMSMessage
Else
MyMessage = Mid(SMSMessage, 1, 160)
EndIf
If IsOpen = TrueThen
SMSPort.WriteLine("AT+CMGS=" & CellNumber & vbCr)
_ContSMS = False
SMSPort.WriteLine(MyMessage & vbCrLf & Chr(26))
_Continue = False
RaiseEvent Sending(False)
EndIf
EndFunction
PrivateSub ReadPort()
Dim SerialIn AsString = Nothing
Dim RXBuffer(SMSPort.ReadBufferSize) AsByte
Dim SMSMessage AsString = Nothing
Dim Strpos AsInteger = 0
Dim TmpStr AsString = Nothing
While SMSPort.IsOpen = True
If (SMSPort.BytesToRead <> 0) And (SMSPort.IsOpen = True) Then
While SMSPort.BytesToRead <> 0
SMSPort.Read(RXBuffer, 0, SMSPort.ReadBufferSize)
SerialIn = SerialIn & System.Text.Encoding.ASCII.GetString(RXBuffer)
If SerialIn.Contains(">") = TrueThen
_ContSMS = True
EndIf
If SerialIn.Contains("+CMGS:") = TrueThen
_Continue = True
RaiseEvent Sending(True)
_Wait = False
SerialIn = String.Empty
ReDim RXBuffer(SMSPort.ReadBufferSize)
EndIf
EndWhile
RaiseEvent DataReceived(SerialIn)
SerialIn = String.Empty
ReDim RXBuffer(SMSPort.ReadBufferSize)
EndIf
EndWhile
EndSub
PublicReadOnlyProperty IsOpen() AsBoolean
Get
If SMSPort.IsOpen = TrueThen
IsOpen = True
Else : IsOpen = False
EndIf
EndGet
EndProperty
PublicSub Open()
If IsOpen = FalseThen
SMSPort.Open()
ReadThread.Start()
EndIf
EndSub
PublicSub Close()
If IsOpen = TrueThen
SMSPort.Close()
EndIf
EndSub
EndClass

طریقه مصرف


Dim SMSEngine = New SMSCOMMS("COM1")
SMSEngine.Open()
SMSEngine.SendSMS("09121234567", "SMS Testing")
SMSEngine.Close()

منبع (http://www.codeproject.com/KB/IP/Sending_SMS_using_Net.aspx)

VB.NET2005
شنبه 17 فروردین 1387, 14:24 عصر
کسی این کامپوننت رو داره . ؟

linux
شنبه 17 فروردین 1387, 14:41 عصر
کسی این کامپوننت رو داره . ؟
کاری که می توانی با چند خط خودت انجام بدهی برای چی دنبال کامپوننت هستی؟

VB.NET2005
شنبه 17 فروردین 1387, 14:44 عصر
یعنی با همین کدهای آقای داریوش میشه ارسال کرد ؟

mehr83
شنبه 17 فروردین 1387, 15:24 عصر
کدی که Dariuosh گفته بود رو تست کردم مشکل در پورتش هست یا هنگ میکنه یا میگه وجود نداره.
گوشی من Nokia N73 هست و به USB خود برد (پشت کیس ) وصل می‌کنم. بردم GIGABYTE S-series
GA-945PL-DS3/S3
هست

----------------------------------------------------------------------
فروش ويژه مجموعه كامل محصولات آموزش برنامه نويسي AppDev
Asp.NET , Visual Basic.NET , Visual C#.NET , SQL Server 2008 , Web Service , LINQ , Html , Xml , SharePoint
اطلاعات بيشتر در
http://sadrasystem.org (http://sadrasystem.org/)

Dariuosh
شنبه 17 فروردین 1387, 16:05 عصر
Com رو ست میکنی ؟

VB.NET2005
شنبه 17 فروردین 1387, 18:56 عصر
آره دوست عزیز منم با N95 - N70 تست کردم هنگ میکنه ؟

Com رو ست میکنی ؟ (یعنی چی ؟ ؟ ؟ ؟)

linux
شنبه 17 فروردین 1387, 20:16 عصر
کدی که Dariuosh گفته بود رو تست کردم مشکل در پورتش هست یا هنگ میکنه یا میگه وجود نداره.
گوشی من Nokia N73 هست و به USB خود برد (پشت کیس ) وصل می‌کنم. بردم GIGABYTE S-series
GA-945PL-DS3/S3
هست
خوب! وقتی وصل می کنی کدام com را نشان می دهد؟
از این طریق می توانی پیدا کنی
control panel --->phon and modem options-->modem tab
http://fedho.com/image/thumb/32428.jpeg (http://fedho.com/image/view/32428)
وقتی این کار را انجام دادی می توانی برنامه hyper terminal را اجرا کنی و به com port مناسب وصل بشی پورت سریالی که گوشی من استفاده می کنه com5 هست
http://fedho.com/image/thumb/32435.jpeg (http://fedho.com/image/view/32435)
و برای مثال می توانی این دستورات را اجرا کنی
http://fedho.com/image/thumb/32456.jpeg (http://fedho.com/image/view/32456)

Dariuosh
شنبه 17 فروردین 1387, 22:50 عصر
وقتی از مودم گوشی Properties میگیرین تو تبه Diagnostics یه Quary Modem داره اونو که بزنید اگه مودم قابل استفاده باشه یه سری اطلاعات میده که درواقع همون دستورات مودم که دونه دونه خودش اجرا میکنه و اطلاعاتش رو بر میگردونه

اینم یه FAQ (http://www.gsm-modem.de/gsm-faq.html) راجع به مودم GSM

hamid2006zaman
یک شنبه 18 فروردین 1387, 15:30 عصر
برنامه ای میخوام که از طریق اینترنت اس ام اس بفرسته و احتیاج به مودم جی اس ام یا ثبت نام در سایت نداشته باشه.و توی ایران هم جواب بده.

mojtaba-saleh
یک شنبه 18 فروردین 1387, 21:57 عصر
کاری که می توانی با چند خط خودت انجام بدهی برای چی دنبال کامپوننت هستی؟

این چند خط کد sms یونی کد هم میفرسته؟ دلایوری چه جوری میشه باهاش گرفت ؟ sms فلش چی؟ اون رو چیکار باید کنیم؟ برای گوشی های که فرمت PDU می گیره باید چیکار کرد؟

mojtaba-saleh
یک شنبه 18 فروردین 1387, 21:59 عصر
فکر نکنم اینقدر ها هم که میگید راحت باشه.
وگرنه قیمت این کامپوننت چهارصد و خورده ای دلار نبود

saraIT
سه شنبه 20 فروردین 1387, 12:14 عصر
من یک سامسونگ e250 دارم که وقتی از طریق Hyper terminal به آن وصل می شم( از پورت com شناسایی شده )نمی تونم هیچ دستوری را وارد کنم کسی می دونه چه مشکلی داره ؟ وقتی هم که برنامه فرستادن sms را اجرا می کنم فقط نشان می ده که connect شده و ارسال نداره

Dariuosh
سه شنبه 20 فروردین 1387, 12:34 عصر
اکثراً چون خود برنامه گوشی ها رو دستگاه نصب شده و در حال اجرا هستن ، وقتی گوشی رو وصل میکنید خود برنامه پورت رو اشغال میکنه و به گوشی وصل میشه برا همین اول باید کامل از برنامه خارج شید بعداً هر کاری میخواید بکنید

saraIT
سه شنبه 20 فروردین 1387, 12:52 عصر
اکثراً چون خود برنامه گوشی ها رو دستگاه نصب شده و در حال اجرا هستن ، وقتی گوشی رو وصل میکنید خود برنامه پورت رو اشغال میکنه و به گوشی وصل میشه برا همین اول باید کامل از برنامه خارج شید بعداً هر کاری میخواید بکنید

من کلا از برنامه خارج می شوم و هیچ پنجره ای باز نمی ماند ولی باز اجازه تایپ هیچ کاراکتری را نمی دهد!

مهبد راد
چهارشنبه 28 فروردین 1387, 17:49 عصر
دوست عزیز در واقع اکثر dllها و کامپوننتهایی که در زمینه ارسال اس ام اس استفاده میشود با دستورات AT COMMAND نوشته شده اند این ابزار که توسط دیگران نوشته شده است کار شما را راحتتر میکند و هزینه نوشتن برنامه توسط شما را کاهش میدهد.
اگر میخواهید از AT COMMAND استفاده کنید تا آموزش ببینید یک بحث دیگر است. که آن هم بسیار ساده است مودم یا گوشیتان را به کامپیوتر وصل کنید.
یک کانکشن بسازید
از پنجره هایپر ترمینال ویندوز دستورات AT را بنویسید و ببینید که چقد ساده پیامها ارسال میشود و یا پیامهای داخل سیم کارت خوانده میشود.
به شرطی که گوشیتان دستورات AT را پشتیبانی کند.
البته نکات فنی هم در این زمینه و مخصوصاً گوشی های نوکیا وجود دارد.
من این برنامه را که میخواهید نوشته ام و در سایتم به آدرس زیر میفروشم
www.abshar-system.com (http://www.abshar-system.com)
در آنجا توضیحات مختلفی در مورد نرم افزار داده ام مشاهده آن خالی از لطف نیست.
اگر هدفتان این است که نرم افزار را بنویسید و رایگان در اختیار دیگران قرار بدهید پس حتماً تصمیم دارید که ما را ورشکست کنید!

arsalansalar
پنج شنبه 29 فروردین 1387, 09:21 صبح
با سلام
این برنامه رو دوست خوبم raravaice (http://barnamenevis.org/forum/member.php?u=37086) نوشته
یک نگاه بندازید.
http://barnamenevis.org/forum/showthread.php?t=87880