I think I have now a reliable network connection. Last night I was able to connect and reconnect to the RSM without a hitch, infact I successful reconnected to the robot 7 out of 8 times. So all I can say is
I found it takes about 2 minutes to find the connection each time I switch on the bot. I think my previous problems were self inflicked as to inpatient and expected the RSM to conect straight away. Even though I am now getting a better connection I will try the commands you mentioned aswell to see if the connection is faster or slower and will let you know my finding.
Cheers for the files you sent me I will try them out next week as I am away for the rest of this week.
It's great to know you used to write software for modem as I am planning on writing software to make the RSMs into a sort of Windows Live messenger robot over the internet. So when I get to start this project I will have plenty of questions to ask.
If I manage to get round to it I am going to try and look at the bluetooth connection next week. I'll let you know how I get on if I do it.
Finally one other question. Is it possible to use the same IP range on the RSM's as the ones in my home network. For example if my home network IP range is 172.30.0.1 to 172.30.10 can I make the robot IP address 172.30.0.11 172.30.0.12 or is there a reason why the robot have to use the IP address 10.0.0.2 10.0.0.3 . I haven't done a lot of work with networks other than setting up my NAS drive to access it remotely over the internet and when I did that I kept the NAS drive in the same ip range as the rest of my home network. Other than that I haven't had much experience with internet or newtork programing and I'll probably need a lot of help and advise to try and access the robot remotely over the internet.
Cheers again for the help
Sorry for the slow reply - I read your post and questions ages ago but then forgot to reply.
>Is it possible to use the same IP range on the RSM's as the ones in my home network. You could try that - it may work. But I think another (and probably better?) way would be to create two separate networks and then use Windows to 'bridge' the networks. From the Network connection dialog select BOTH networks with the mouse then right click and choose "Bridge connections". I think this should allow computers on each network to see and access computers on the other networks. (I havent tried this but it should work , in theory anyway!)
>For example if my home network IP range is 172.30.0.1 to 172.30.10 >can I make the robot IP address 172.30.0.11 172.30.0.12> or is there a reason why the robot have to use the IP address 10.0.0.2 10.0.0.3 You should be able to use any IP addresses for RSMedia. In fact it may even be possible to not specify an address in the pppd command. If no IP addresss are specified then Windows should allocate a free IP address during the PPP negoiations. But this may mean that if you have different RSMedias then they may have different IP addresses every time they connect? (Again, I havent tried this but it should work , in theory anyway!)
Thanks for the answers. I haven't done much with the RSM for the last week. I was in the process of making the RSM wiresless with the bluetooth chip below
I solder the wires on the 1st blue chip and the chip powers up but I can't communicate with it. I have the feel I know what the problem is. My soldering skills aren't the best and as the chip is so small it is very fiddlely to solder. I have found another bluetooth chip on ebay which I have ordered and it already has the pins soldered. I hope I have more joy with this one as I really want to get the RSM connecting wirelessly as I am fed up with all the cable connecting to the PC from the RSM's.(Below is the one I have ordered with the pins already soldered)
When I get the new bluetooth chip I will have ago and play with the network IP setting for the RSM as you mentioned.
A couple of comments for you. (Sorry I dont know how much you know about serial communication - so I have mentioned some basics things for you to check.)
With your original BT module, when you said you cant connect do you mean from serial side of bluetooth side?. If its the serial side then be aware that when you receive it the modules serial speed probably defaults to something quite slow (like 9600 or 19200). So you may need to connect to it the slow speed to change the default to a higher speed (RSMedia uses 115200). You may also be able to change the default serial speed over the bluetooth (after connecting to it from the PC) -not all modules allow you todo this - it depends on the module capabilities.
Also remember that the TX of the module needs to connect to the RX of RSMedia. And RX of the module needs to connect to TX of RSMedia.
Also the Bluetooth module TX & RX signals can be 3-3.3V or 5V or 12V. They should be 3-3.3V for connectiong directly to RSmedia (Your 1st module has 3.3V in , so its likely to use 3.3V for the serial lines.)
But the picture of the new module shows 5V supply (although the add syas 3.3v input??) - that may indicate that it will use 5.0v on the serial lines- which is not suitable for connecting directly to RSMedias TX/RX lines. Also may also have to find a 5V supply for the module. The add says that it uses TTL levels which is usually 5V (not 3.3V). Unfortunately the cct diagram on the add is not quite clear enough for me to see and confrim for you. (BTW I also saw in the ebay add says it defaults to 9600 speed)
A final note - if the modules are 3.3 or 5V it means you cant connect it to a PC serial port (becuase PC serial port uses +/-12V for the TX/RX lines.) You would need to use some RS232 to 3.3 or 5V converter circuitry.
Thank you for all the advice above. My serial communication knowledge is okayish as I have connected to serial devices in the past and I know that you need to have the correct speed to communicate but I have never done anything with Bluetooth serial communication. The default speed of the original chip as you stated is 9600 as default and I have just been trying to reconfigure the Bluetooth chip speed to 115200 on the computer but didn't have much joy in being able to program it. FreddyA tried to set it up for me over showmypc but after a few hours of trying we weren't able to do it. I know I am getting power to the chip as I have been able to pair it with the PC, but I'm unsure why I can't set the chips speed. I have trying swapping the RX and TX around but that didn't work. It was very fiddly to solder and I may have bridge the TX and RX on the chip together. I haven't tried the chip on the robot yet as I won't to set up the correct speed for the chip to comunicate to the robot and also if the I have bridge or not soldered the TX/RX cables correctly then I won't be able to communicate with the bot anyway, so that is why I have ordered a presoldered chip. Just waiting for it to arrive then I will try the setup again.
How did you connect the BT module to the PC? (Via BT or serial connection?)(The BT module shouldnt be connected straight to the PC (cos PC serial port is +/-12 Volts and the Bluetooth modules wants 3.3).
Wow quick response. I'm not connecting direct to the pc I am connecting it to usb port with cable on the computer via the USB to TTL chip (Below is alink to the type of chip I am connecting the Bluetooth chip through)
I am connection the bluetooth chip to the TTL chip above connectint to the 3.3v power, TX, RX and ground pins.
This USB TTL is the one I use to communicate with the robot currently.
Cool, using teh USBtoTTL converter will work fine.
One trick you can try is to loop/connect the BT modules RX & TX together (which maybe you did via solder short?) then if you us bluetooth to connect the PC and BT module, then any characters that are sent by the PC (bvia the BT virtual srial port) shoudl be received back again. This may check that your BT module is working or not , and it probably wont matter what speed the btmodule is set at. But be aware some BT modules will initially powerup in command mode (not an 'online' mode) - if your module is in command mode then the loopback wont work :-(
Freddya got me to try the loop back thing but no characters came through. so don't know what is wrong with it. Hopefully I will get the new chip soon and I can have a go on that one.
I have now got the new Bluetooth chip and have not yet connected it to the robot but I have done the loopback test you mentioned on the PC by connecting the RX to TX pin then I typed in some characters in hyperterminal and they appeared so I think this means the Bluetooth chip is working and I can comunicate with it. Is that right?
Next I have trying to reconfigure the Bluetooth chip to a baud speed of 115200 as the default is set to 9600.
Below arre the steps I went throgh to try and change the BAUD speed:
1)I have connected the Bluetooth chip to the USB-TTL chip connecting the following:
pins on USB TTL ---------> pins on Bluetooth chip
3.3v ---------> 5v
GND ---------> GND
TX ---------> RX
RX ---------> TX
2)I then connected the USB TTL to the PC via usb cable
3) Started Hyperterminal up and connected to COM3 (which is the port the USB TTL is on). I set the speed to 9600,8,N,1.
Hyperterminal shows a blank screen.Is this normal of should I see some text appear?
4)I tried typing the following to change the board speed to 115200
and excepted to see
But nothing comes up on the screen.
Am I doing something wrong if so how do I change the default baud speed? I have tried swapping the TX and RX around to see if that helps, but the result is the same.
When I type in the command to change the Baud speed do I need to press enter after the command AT+BAUD8 ? I have try both with and without pressing enter.
Is the command I am using correct?
Is there a setting in Hyperterminal that need to be set to display data from the bluetooth chip screen?
I am just stabling in the dark as I have little experience with Bluettoth serial communications.
1) You connections look OK
2),3),4) look OK.
If you get no response at 4) then there could be three reasons:
A)Connections are wrong (but yours look OK from 1)
B)Serial port speed is wrong.
-Try typing just AT (you should get response OK)
-Try setting the Com3 speed to 2400 and see if you get any characters (even garbage ones appearing. If so then keep increasing the speed until something hopely returns 'OK' when AT is typed.
C)The bluetooth module maybe in 'online' mode- this means that it is online and passing data though it - so any data received by the serial RX will be sent to the bluetooth serial port. and viceversa.
-Try opening the bluetooth serial port (maybe com4?) with another instance of hyperterminal and see if the AT characters sent by com 3 are received on com4 and vice versa. (Note that if com 3 speed is different to module speed you may get corrupted characters...but this is still progress!!)
-If you get connection from com3 to 4 then you may need to find a way to reset the BT module so it goes back to command mode- this maybe done using a reset pin on the module?
Also make sure that com3 (and com4) have Hardware flow control (or CTS/RTS) turned OFF in the serial port settings.
>When I type in the command to change the Baud speed do I need to press enter after the command AT+BAUD8 ?
> I have try both with and without pressing enter.
Yes you need to press enter. Just typing AT should give the response 'OK'.
>Is the command I am using correct?
The command depends on the bluetooth module. Unfortunately there is no standard for setting the speed.
>Is there a setting in Hyperterminal that need to be set to display data from the bluetooth chip screen?
Not sure about this question.Can you explain more?
BTW - I really dont like Hyperterminal. I recommend to use TeraTerm (free download from the net). It is much easier to use (especially when you have to keep changing speeds!!)
If you have a manual or instructions for the new BT module then post a link or email me and I can have a read and see if I can suggest anything else.
Got a bit further. I had the flow control set to Hardware. When I changed it to none I then typed AT in hyper terminal the OK is displayed on the screen. Still can't set the speed though Typed in AT-BAUD8 and thing happens.
I didn't get a manual of software with the chip but below is a link to the actal chip I bought from ebay:
I have sent a question to the supplier to see if there is a manual for the chip he can email me.
I haven't tried opening the 2nd Hyperterminal yet. I will try that and let you know what happens.
I got the 2 hyperterminal windows up as you said.(Below is a screen dump)
The left hyperterminal window is the USBTTL connection and the right hyperterminal window is the bluetooth connection.
With this setup I can not type anything in the Left hyperteminal windows (USBTTL) but can enter commands in the right one (Bluettoth) as you can see in the screen dump above.
Is there away to change the bluetooth chip speed direct from the right windows(bluetooth hyperterminal) or is this not possible. I did try typing in the command AT+BAUD8 but it returns the message ERROR.
One other thing I don't know if this will help but did the command ATIN and it return "Agere SoftModem Version 2.1.88"
You said - "One other thing I don't know if this will help but did the command ATIN and it return "Agere SoftModem Version 2.1.88""
This is very strange - I wouldnt expect it to say "Agere Modem" for your Bluetooth serial port. Are you sure this isnt a built in modem on your computer? Just to be sure -try unplugging the BT module from the USB and try the AT commands in the right window again!
If the right window is the BT module then you now need to find the correct command to set the baud and then the correct command to make it go 'online'.
So you really need the manual.
Previously you said "Got a bit further. I had the flow control set to Hardware. When I changed it to none I then typed AT in hyper terminal the OK is displayed on the screen. Still can't set the speed though Typed in AT-BAUD8 and thing happens."
So this was in the left hand window?? (ie connected to TTL USB which was connected to eh BT serial moduel)
If so do this again and type ATI and let me know the response.
We maybe able to find the correct manual from the chip used on the module. What are the markings on the big chip on the bt module?. Also you could ask the ebay seller to email you a version of the circuit diagram that you can actually read (The one posted on ebay add is too blurry to make sense of).
You were right the right hyerterminal window something else and not the bluetooth chip(Dam I got all excited and thought I was getting somewhere). When I disconnected Bluetooth chip I was still able to type in commands and get responses in the right hyperterminal windows. I know the left screen is definitely the USBTTL chip because when I disconnected it the comport disappears from the device manager and then when I reconnect the comport reappears. I will try pair the bluetooth chip on my home PC as my works pc is playing up at the and is not picking up any Bluetooth devices at the moment. I am still type AT in the left windows with the Bluetooth chip connected to the USBTTL and I get the response OK. Do I need to Check the loopback thing when I pair the bluetooth chip with my home PC?
Is it possible I will also need a drive disk for the bluetooth chip?
Below are the links to manuals for the chip the seller sent me.
The one manual is in Chinese and I sent another request to the seller to see if there is an english version. Below is the reply from the seller
Hi! I am sorry that the first link we only have the Chinese version.I gave a check for the manual, you can change the default baud speed of the chip from 9600 to 115200, but we don't suggest to use it over 115200. Here is the part of instruction we copy from the manual "Not recommended for use in more than 115,200 baud rate, signal interference make the system unstable. After setting more than 115,200 computer is not available, use the MCU programming the baud rate higher than 115200 to use this AT command set and re-issued low-Porter"Hope it will help you.
I will send the seller another email and ask how to change how to change the BAUD speed.
Markings on the Bluetooth chip
From what I can make out I think the command is in the Chinese manual to change the Baud speed to 115200 is
and the message return should be
Yippee. Hip Hip horay it is done I think
I found typing the command AT+BAUD8 directly into hyperterminal caused it to response with OK after typing just AT. So I typed AT+BAUD8 in the notepad the copy and pasted it to hyperterminal and got the response OK115200
So I think the speed in now set to a board speed of 115200 (if so yipee again)
Will try it on the robot.
Oh yes as on my last post do I need a driver disk for the bluetooth chip when I pair it with my home PC or not?
If this works I definitely recomend getting this chip with pins already attached rather than the other chip I bought which was 2 fiddly to solder wire to.
Cool, great that you got the OK115200.
You should not need a disk for the bluetooth dongle on your home PC. (the bluetooth driver/device in you home PC should know how to talk to a serial device. ) But from your PC you will still need todo the bluetooth discovery and maybe the pairing process. The chinese manual shows commands AT+NAMEgerber and AT+PIN8888, So I would try these, then use the pin 8888 for pairing.
BTW Some BT modules require another AT command to tell it to go 'online' and connect. I couldnt find an command like that in the chinese manual, so maybe its not needed? But there are some modules that will allow ATcommands when not paired and go 'online' when paired, so I hope yours is like that!
Awesome new the bot is finally wireless.
It all worked a treat. I didn't need to do any other AT commands. The pin I use to pair the Bluetooth chip was 1234 basically it was my 2nd random guess after 0000 but worked. I did this before I read your last post but thanks for the info. I have installed the chip in the bot. Below is a picture of my new wiring(My soldering skill are getting better).
I know I only needed 4 wires solder but I thought it is easier to solder all 6 to future proof it just in case the other cables are needed at a later date.
I am going to tidy up the cables and then will add the serial hack, upgrade the firmware and add the bluetooth module to the other 3 RSM I have.( My RSM army will now begin) Then I plan to start on the live video feed from the bot and file transfer.
I was thinking, I know there are alot of thread about the serial hack and bluetooth hack and connecting the robot with the stand USB cable, but now I have mine working wireless and am going to do the same to the other 3 shall I make an tutorial article step by step guide with pictures for the forum. I am going to put a tutorial in my software with all this info. What do you think?
(Helibot yo are the man. Thank you for all the help with this)
Y I P E E
Helibot, I havecno luck setting up multiple connections. I went throug the settings aand changed the ips also on the sd rsupdatapp with no change in luck.
While I do see that the robot on 10.0.0.2:10.0.0.1 seems to get the ip 10.0.0.3 and works normally i.e. web server, console. So somehow whar you said partially works?
Helibot said: BUT in Win7 incoming connection setup , I think there is a tick box for 'Allow calling computer to specify IP address' (I think its in the same dialog where you specify the IP address range). I think you should try to tick this box. Then you should be able to configure each robot differently (in the ppp script to use a different IP address.)
So in Win 7 specify IP range 10.0.0.1 - 10.0.0.10
and tick "Allow calling computer to specify IP address'
Then in each bot use one of the IP addresses pairs from the following:-
pppd /dev/ttyMX0 115200 local nodetach noauth xonxoff 10.0.0.2:10.0.0.1
pppd /dev/ttyMX0 115200 local nodetach noauth xonxoff 10.0.0.4:10.0.0.3
pppd /dev/ttyMX0 115200 local nodetach noauth xonxoff 10.0.0.6:10.0.0.5
pppd /dev/ttyMX0 115200 local nodetach noauth xonxoff 10.0.0.8:10.0.0.7
pppd /dev/ttyMX0 115200 local nodetach noauth xonxoff 10.0.0.10:10.0.0.9
I think this should work....Good luck.
Let me know how it goes ..
No Luck so far, next I try 10.0.0.1:10.0.0.3 and so on with "allow caller to specify own ip " unticked.
Hope to get 4 wireless, 1 serial and 2 usb connections going. FUN!
Hi Freddy,Glad to see you are back trying it again!!! But sorry its not working yet. I am pretty sure its possible. Just need to figure out the right config.
I will fire up my 2nd bot and see if I can get two of them connected under winXP (I can debug and log them easier in XP), if that works I can then try Win7. (I need a break from the speech recog work anyway - The audio driver in RSMedia just wont let me record any sound data...its very annoying. Getting very frustrated at the moment... so I think I will stop it and come back to it later )
>Hope to get 4 wireless, 1 serial and 2 usb connections going.Wow, that would be great - do you really have that many RSMedias?
I did a quick test in WinXP with just one robot. I found that I could specify a IP address for it from the RSMedia script. Here are the results:-
In WinXP Tick Specify IpAddresses From 10.0.0.1 To 10.0.0.10It doesnt matter if you tick or untick "Allow calling computer to specify its own IP address" - it doesnt seem to affect the behaviour.
In RSMedia script I used :-pppd /dev/ttyMX0 115200 local nodetach noauth xonxoff 10.0.0.7:10.0.0.1
And when you connect the RSMedia end of the PPP link will be allocated IP address 10.0.0.7and the WinXP will use 10.0.0.1. So it seems that WinXP will always choose its IP address as the first one available from the range specified in Networking properties tab (10.0.0.1 in this case) and RSMedia will always receive the IP address it specifies in the pppd command line (10.0.0.7 in this case).
(BTW you can specify NO Ipaddresses in RSMedia pppd command line and WinXP will allocate the next available IP address.)
Hope this helps. I hope I can try two robots tomorrow & maybe Win7 (need to charge some batteries first ;-)
Hi helibot, I tried both methods above on win7 with no luck. Strangely, I specified the ip for the first bot to be 10.0.0.2:10.0.0.1 second bot 10.0.0.3:10.0.0.1 and so on but when robot specified to ip 10.0.0.4:10.0.0.1 connected it got ip 10.0.0.3. When any one robot connects, No other robots would connect unless I disconnected the active one. Same occurs when I remove all specified ip from the pppd command, the first robot to connect seemed to get ip 10.0.0.3. and no others will connect. Still trying... Good thing I can distract you from Voice Recognition for a bit.
I have done some testing with two bots now and seems that I see the same as you:-(.
I cannot connect a second robot without disconnecting the first. I am pretty sure its supposed to allow multiple connects at once. SO I dont know why this is ahppeneing. I tried a few different configs in WinXP and RSMedia pppd commands, but nothing seems to help.
Also I found that tonight, windows is allocating IP addresses in a round robin fashon. Ie it allocates 10.0.0.2 first. Then for teh next connection it will allocate 10.0.0.3 , then 10.0.0.4 etc. It doesnt matter which IP addresses I specify in RSMedia pppd command line. I am pretty sure this is different to what I saw last noight though? (Tonight I did have multiple com ports enabled? - maybe windows changes it behaviour when that happens? Or maybe I did my testing last night using incrementing numbers so it just looked like I was setting the IP address??)
So its not looking good at the moment - we cant specify IP addresses for a particular robot and we only have one robot connected at a time :-(.
I will do a bit of reading and see if there are other pppd or winodws ICS options that could help.
So this puts a little dent in the plans for an army of RSMedias.....they can only take over the world one at a time ;-)
The show must go on! Thanks for the confirmation on that single connection issue. I'm going to try a few other things like assigning ip on the pppd and try dhcp and allow specify ip and a few combinations of that hope it get somewhere. BTW, are you connecting wireless or walking the dog (wired)? I've been tweaking my rsm web page with the screenshot tips and some buttons to send video and audio, so far i tried embeddding a wmplayer that will stream a wmv but that taked converting from avi. now i'll try a divx player to stream the avi rsm maked with no cenverting to see how that works out. Another question, can we upload to the webserver with a cgi bihind a browse pc button?
I tried a few options in pppd but with no luck, I can still only get one bot connected at once. I also tried using "Allow incoming connections" in Windows XP New connection setup, as it indicates that multiple computers can connect at once. I found a reference on the net that it should support at least 3 connections (maybe upto 10) for WinXP. So it should be able to work. From debugging output I can see that the Windows PPP server is terminating the connection immediately during the negotiations, so it must be Windows server getting upset about something...but no idea what!!
>I'm going to try a few other things like assigning ip on the pppd and try dhcp
>and allow specify ip and a few combinations of that hope it get somewhere.
Those are good things to try. Let me know how you go. I am going to try a few more pppd options relating to accepting/rejecting IP addresses and default routes, but I dont think they will help.
>BTW, are you connecting wireless or walking the dog (wired)?
I have one robot connect wired and one connecting by Bluetooth (But the bluetooth dongle I use is not working well, its a bit dodgy - I need to get another one.)
For this testing I have been booting the bots up without PPP then connecting via USBConsole , then running a script or command line to start PPP. That way I can easily change pppd options and also see the pppd debug output on the USBConsole.....but I can only connect to one robots USBconsole at once , so its a bit awkard :-(
>Another question, can we upload to the webserver with a cgi bihind a browse pc button?
Yes I think that should work, you will need to be careful to put the file to a writable area in RSMedia (like /tmp) or make the SDCard writable before you save the file from cgi.
Hi Helibot, I set aside the multi network connections and will try again soon, just wasnt getting anywhere. About the Bluetooth, If you need, I can order up a couple like Gerber bought with the pins and send them to you as I need one too. And about uplaoding files I tried a cgi script that failed and was becasue of perl, thanks to Vader for pointing out that I was barking up the wrong tree. it looked good to me as it uploaded to specific folders like photo, video and Audio.. I've been searching for a cgi upload script that could manage without perl with no luck. Thats my report for now haha
I found this http://scripts.top4download.com/jfileupload/kqtfe.html will try it now. Works with cgi but is java based.
Hi Freddy, I have got deferred from the networking as well, but how toi give it another go soon.
Regarding Bluetooth - thanks for the great offer. But give me a few days - I may need bluetooth for another project, so I need to check on that first.
Regarding file upload. The one you found looks suitable to embedd into a PC based program. I think it will then connect to an FTP server on the remote host (in our case RSMedia). Is that what you wanted?
I cant remember if I have run an ftp server on RSMedia before? If not it should be possible (I think the Freescale MX1ADS BSP root image had an ARM ftpd binary included.).
If we run an FTP server on RSMedia , then I think you could use windows explorer to drap and drop files to/from RSMedia - it would certainly make development and testing easier!
Hi Helibot, yes tfpt was the program you had got going on RSM before the networking was done if I recall correctly. I tried out the java app on the webserver and what looked to be working. After messing with the parameters for the server-side .jsp file for a few hours still no actual upload into the specified folder on the bot. I do see up traffic during the progress bar and do set the sd writable. Still at it