As AT-Commands for SMS receiving do not work for many phones I decided to use GSM modem instead so I googled and found SIM800L (please not that L in the end, as this one is a bit cheap) to be the solution. Furthermore, I found out that TTL serial to USB module is required to get it connected to PC (I guess so). Some time ago I have used Java + AT-Commands with some Nokia phone to send SMS but the receiving commands were not supported by the phone. Now my questions are: Will these circuits (I have very limited knowledge of electronics) connect to the PC and my java program? and would I be able to issue AT-Commands from java? Plus: Is there any java library for At-Commands which would work with SIM800L to get things a bit simple.
Related
I have a HC-05 Bluetooth board. It is just a circuit board that connects to the Tx and Rx pins of a UART output of a microprocessor chip and transmits Bluetooth. On a PC I use the WinXP Bluetooth Devices program to pair the PC to the HC-05. Pairing creates two new comports, Outgoing (usually COM10) and Incoming (usually COM11) and if I use a program like Hyperterminal I can connect to the outgoing comport and receive the serial data being sent by the UART.
My problem is I can't get java to find that comport. I have tried a number of java programs that search for comports. None of them seem able to find the Outgoing port COM10. They all can find COM11 and other comports. But COM10 seems to be where the data I want is arriving.
Any ideas?
On second thought, forget it. I have been trying to solve this problem for three weeks. No one seems able to help me. Now my searches keep turning up my postings asking for help.
I will do the project in Visual Basic. It could have been completed 2.5 weeks ago.
Sorry for using the space and bandwidth.
Scenario : 1
Suppose there are two phones A and B. phone B sends a message to phone A. Phone A has that message in its inbox. Both the phones are nokia multimedia phones that can be connected with my laptop via nokia pc-suite.They can also be connected via Bluetooth with my HP laptop.
Scenario : 2
A valid sim card of my local operator is inserted into a modem and the modem is connected with my laptop. I can read messages sent in that number(sim) by using the software provided with the modem.
Question:
The received text message will be the input of my java program. How can I read that message with my java program. Solution for any of the two scenarios will solve my problem.
It would be very helpful for me if someone provide me some resources regarding this issue. I am interested to implement it by java but it would be also helpful if the resources are not in java platform but relevant to my task.
You can connect GSM modem built in Mobile Phone via bluetooth or RF232 connection, then send AT Commands. Pure java conenction functions should not be enough to make it possible. So you can use low level API coded by C programming language then connect it with Java applicatio via JNI.
I need my computer program to be able to send and receive SMS messages. The software has to run independent of the Internet so using a web based SMS gateway is not the solution.
The software should be running from a linux or a Windows machine. Windows is more important for my usecase. My program is in Java but I guess there may be solutions independent of the programming language.
I am considering one of the following options.
Kannel http://www.kannel.org/ Although supported for Linux I guess I could find a way to compile it in windows like done here: http://www.ddj.co.za/kannel-for-windows
The other one seems a more lightweight option http://smsj.sourceforge.net/
Which of these or something else that you have in mind could be a better way of sending SMS via computer without an internet connection?
I am considering using these libraries so I don't have to program all the AT Commands.
Also how do I connect my phone to the computer? For example will it be fine if I just connect my phone with a USB cable when using kannel.
Update:
I need to use simple GSM phones and not depend on IOS or Android specific features.
Perhaps not want you needed or wanted, but maybe useful for others: When I had my iPhone jailbroken there was an Cydia app I used to send SMS from my computer through my phone, BiteSMS.
You had to ssh in and then something similar to:
/Applications/biteSMS.app/biteSMS -send -carrier 077xxxxxx “The message goes here”
Obviously you replace 077xxx with the number you want to send to.
It looks like it is fairly similar process with Android, check out this question on doing this through Android. Again this requires a ssh connection to the phone. Also have a google on 'Sending sms from commandline' there are other resources available.
As for other methods, I can't see any viable options without attaching a phone to your computer and accessing the OS and ssh seems the easiest way to do this.
Try smslib.org + some GSM modem.
i heard that wol(wake on lan) will only work for desktop systems. is there any implementation in java for wol, so that it works for laptops?(wol is the mechanism of turning on the remote system by sending 'magic packet' to the system).and is there any implementation in java for android phones? i found a simple wol apps in android market, i tried to extract the functionality of these apps, by practically testing them. but no app is working for both desktop and laptop systems.i configured my windows pc, so that it allows magic packet to wake on the pc.but i dont know where its going wrong.
WOL is a BIOS setting that you will need to turn on on the individual machines (I think it is turned off by default). I don't think there is any reason that laptops cannot accept WOL packets.
Here is a simple implmentation of WOL for Java: http://www.jibble.org/wake-on-lan/
It should be easy to port it over to work on Android.
However, you have to note that WOL will only work within a LAN and that the target machines have to be in a specific power setting in order to allow them to turn on.
You have to be more specific. If your laptop is connected over WiFi then there are big chances that it won't work. If your laptop is connected over an Ethernet cable then most probably it will work. You just have to enable WOL from the BIOS, or on some devices it can be also done from the network interface properties.
I'm using WolOn Android app to wake a laptop connected over cable and it works flawlessly both on Windows and Ubuntu.
I wish to connect 10 usb modems to a windows/linux pc and send AT comments to them to send sms and receive sms from them. Is this possible in Java?
I think it is possible. You just have to know the COMM port ID for each modem. I do not know pure java way to discover these IDs. So, you need some platform specific way (e.g. WMI on windows or some command on Unix). But once you have ID it should not be a problem.
Assuming the USB modem implements a serial interface, it should get a COMM port id. If so, you can use RXTX to talk to the model.
afaik, you can use serial communication while talking to usb devices as long as device hardware contains an ftdi chip or so. I used a c++ serial lib in a Qt project, talking to an Arduino connected on a usb port. arduino appears as a com device.
otherwise, you may look at the jusb project: http://www.ibm.com/developerworks/library/j-usb/index.html