Not sure if this is the right venue for this question, please direct me to the right place if it's not. I have a C program that opens the serial port /dev/ttyS0 and sends commands (as strings) back and forth to a pan-tilt-zoom camera. That works very well, but I want to use the camera with a Raspberry Pi, which of course does not have a serial port (RS232). One option is to use a RS232 to usb adapter and rewrite the C code for the usb port. So how do I go about that? Is usb serial port programming possible and documented anywhere? Thanks!
On Mon, Jul 21, 2014 at 03:19:00AM +0000, Amadeus W.M. wrote:
Not sure if this is the right venue for this question, please direct me to the right place if it's not.
I have a C program that opens the serial port /dev/ttyS0 and sends commands (as strings) back and forth to a pan-tilt-zoom camera. That works very well, but I want to use the camera with a Raspberry Pi, which of course does not have a serial port (RS232). One option is to use a RS232 to usb adapter and rewrite the C code for the usb port. So how do I go about that? Is usb serial port programming possible and documented anywhere?
Nothing to "rewrite", just point your code at /dev/ttyUSB0 instead, and away you go...
Assuming your camera is RS232, you can use a simple RS232 daughter card on the Raspberry (about $7 from MCM electronics and others). I have done this exact thing for communications with an old RS232 device. Alternative is of course a USB to RS232 adapter and as Greg writes, you just change the target device file (the $7 adapter also creates a /dev/ttyxxx device. -Bruce On Jul 21, 2014, at 12:18 PM, Greg KH <greg@kroah.com> wrote:
On Mon, Jul 21, 2014 at 03:19:00AM +0000, Amadeus W.M. wrote:
Not sure if this is the right venue for this question, please direct me to the right place if it's not.
I have a C program that opens the serial port /dev/ttyS0 and sends commands (as strings) back and forth to a pan-tilt-zoom camera. That works very well, but I want to use the camera with a Raspberry Pi, which of course does not have a serial port (RS232). One option is to use a RS232 to usb adapter and rewrite the C code for the usb port. So how do I go about that? Is usb serial port programming possible and documented anywhere?
Nothing to "rewrite", just point your code at /dev/ttyUSB0 instead, and away you go...
_______________________________________________ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
On Mon, 21 Jul 2014 12:27:44 -0600, Bruce Rowen wrote:
Assuming your camera is RS232, you can use a simple RS232 daughter card on the Raspberry (about $7 from MCM electronics and others). I have done this exact thing for communications with an old RS232 device.
Alternative is of course a USB to RS232 adapter and as Greg writes, you just change the target device file (the $7 adapter also creates a /dev/ttyxxx device.
-Bruce On Jul 21, 2014, at 12:18 PM, Greg KH <greg@kroah.com> wrote:
Thank you, that's useful. This, you mean? http://www.mcmelectronics.com/product/83-15630 This one is for Arduino. I couldn't find one for Pi on the MSM site, but knowing what to search for lead me to a plethora of expansion cards for the RPi: http://elinux.org/RPi_Expansion_Boards#RS232_to_TTL_converter Thank you for the pointer.
On Jul 21, 2014, at 1:05 PM, "Amadeus W.M." <amadeus84@verizon.net> wrote:
On Mon, 21 Jul 2014 12:27:44 -0600, Bruce Rowen wrote:
Assuming your camera is RS232, you can use a simple RS232 daughter card on the Raspberry (about $7 from MCM electronics and others). I have done this exact thing for communications with an old RS232 device.
Alternative is of course a USB to RS232 adapter and as Greg writes, you just change the target device file (the $7 adapter also creates a /dev/ttyxxx device.
-Bruce On Jul 21, 2014, at 12:18 PM, Greg KH <greg@kroah.com> wrote:
Thank you, that's useful. This, you mean?
It looks like they may no longer carry it, sorry. There are others out there, try googling 'raspberry serial port GPIO adapter'
This one is for Arduino. I couldn't find one for Pi on the MSM site, but knowing what to search for lead me to a plethora of expansion cards for the RPi:
http://elinux.org/RPi_Expansion_Boards#RS232_to_TTL_converter
The USB-serial adapter may be the more expedient solution at this point, Good luck!
Thank you for the pointer.
_______________________________________________ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
On Mon, 21 Jul 2014 11:18:28 -0700, Greg KH wrote:
On Mon, Jul 21, 2014 at 03:19:00AM +0000, Amadeus W.M. wrote:
Not sure if this is the right venue for this question, please direct me to the right place if it's not.
I have a C program that opens the serial port /dev/ttyS0 and sends commands (as strings) back and forth to a pan-tilt-zoom camera. That works very well, but I want to use the camera with a Raspberry Pi, which of course does not have a serial port (RS232). One option is to use a RS232 to usb adapter and rewrite the C code for the usb port. So how do I go about that? Is usb serial port programming possible and documented anywhere?
Nothing to "rewrite", just point your code at /dev/ttyUSB0 instead, and away you go...
Thanks for the prompt answer! That's what I was hoping for, and I would have tried that, but I don't have any /dev/ttyUSBX. I am connecting the camera to a usb to RS232 cable: http://www.amazon.com/gp/product/B000BI95W0/ref=oh_aui_detailpage_o03_s00?ie... Does this mean my adapter is not supported by linux? Also, nothing happens in /var/log/messages when I plug the cable into the usb port. This is my lsusb: 1) root:~> lsusb Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 005 Device 003: ID 0c45:1050 Microdia CF Card Reader Bus 005 Device 002: ID 046d:c016 Logitech, Inc. Optical Wheel Mouse Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 004 Device 008: ID 0764:0501 Cyber Power System, Inc. CP1500 AVR UPS Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 003 Device 005: ID 04fc:0561 Sunplus Technology Co., Ltd Flexcam 100 Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub No trace of the adapter. Should /dev/ttyUSB0 pop up when I plug the adapter into the usb port, even before I connect anything to the serial port of the cable? If the adapter is not supported, can I write a driver for it? I'll be happy to, with a little guidance to get me started. Any pointers? Thanks!
On Mon, Jul 21, 2014 at 06:55:43PM +0000, Amadeus W.M. wrote:
On Mon, 21 Jul 2014 11:18:28 -0700, Greg KH wrote:
On Mon, Jul 21, 2014 at 03:19:00AM +0000, Amadeus W.M. wrote:
Not sure if this is the right venue for this question, please direct me to the right place if it's not.
I have a C program that opens the serial port /dev/ttyS0 and sends commands (as strings) back and forth to a pan-tilt-zoom camera. That works very well, but I want to use the camera with a Raspberry Pi, which of course does not have a serial port (RS232). One option is to use a RS232 to usb adapter and rewrite the C code for the usb port. So how do I go about that? Is usb serial port programming possible and documented anywhere?
Nothing to "rewrite", just point your code at /dev/ttyUSB0 instead, and away you go...
Thanks for the prompt answer!
That's what I was hoping for, and I would have tried that, but I don't have any /dev/ttyUSBX. I am connecting the camera to a usb to RS232 cable:
http://www.amazon.com/gp/product/B000BI95W0/ref=oh_aui_detailpage_o03_s00?ie...
Does this mean my adapter is not supported by linux? Also, nothing happens in /var/log/messages when I plug the cable into the usb port. This is my lsusb:
1) root:~> lsusb Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 005 Device 003: ID 0c45:1050 Microdia CF Card Reader Bus 005 Device 002: ID 046d:c016 Logitech, Inc. Optical Wheel Mouse Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 004 Device 008: ID 0764:0501 Cyber Power System, Inc. CP1500 AVR UPS Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 003 Device 005: ID 04fc:0561 Sunplus Technology Co., Ltd Flexcam 100 Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
No trace of the adapter.
What is the: Bus 004 Device 008: ID 0764:0501 Cyber Power System, Inc. CP1500 AVR UPS device?
Should /dev/ttyUSB0 pop up when I plug the adapter into the usb port, even before I connect anything to the serial port of the cable?
Yes. What happens in the kernel log when you plug the device into the system? Try doing: dmesg -c # plug in the adapter now dmesg to just see the log messages for that, and not the whole kernel boot log.
If the adapter is not supported, can I write a driver for it? I'll be happy to, with a little guidance to get me started. Any pointers?
Odds are the device id just needs to be added to an existing driver as I do not know of any "new" usb-serial converter chips that Linux does not already support. thanks, greg k-h
What is the: Bus 004 Device 008: ID 0764:0501 Cyber Power System, Inc. CP1500 AVR UPS
device?
That's my backup power supply.
Should /dev/ttyUSB0 pop up when I plug the adapter into the usb port, even before I connect anything to the serial port of the cable?
Yes.
What happens in the kernel log when you plug the device into the system?
Try doing: dmesg -c # plug in the adapter now dmesg to just see the log messages for that, and not the whole kernel boot log.
2) root:~> dmesg -c #plug-in adapter 3) root:~> dmesg Absolutely nothing. I also did tail -f /var/log/messages then plugged in the adapter, and again, everything seems dead. The USB port is ok, because other devices (e.g. the Fushicai video grabber) do work.
If the adapter is not supported, can I write a driver for it? I'll be happy to, with a little guidance to get me started. Any pointers?
Odds are the device id just needs to be added to an existing driver as I do not know of any "new" usb-serial converter chips that Linux does not already support.
Oh, one more thing. Reading about these converters, I saw many use an ftdi chip, so I did modprobed ftdi_elan and ftdi_sio: 7) root:~> lsmod | grep ftdi ftdi_elan 36689 0 ftdi_sio 48770 0 In fact, the dmesg above was with the ftdi modules loaded.
On Mon, Jul 21, 2014 at 07:25:24PM +0000, Amadeus W.M. wrote:
What is the: Bus 004 Device 008: ID 0764:0501 Cyber Power System, Inc. CP1500 AVR UPS
device?
That's my backup power supply.
Should /dev/ttyUSB0 pop up when I plug the adapter into the usb port, even before I connect anything to the serial port of the cable?
Yes.
What happens in the kernel log when you plug the device into the system?
Try doing: dmesg -c # plug in the adapter now dmesg to just see the log messages for that, and not the whole kernel boot log.
2) root:~> dmesg -c #plug-in adapter 3) root:~> dmesg
Absolutely nothing. I also did
tail -f /var/log/messages
Then USB isn't working :( Or the device isn't, can you plug it into some other computer to test it out?
then plugged in the adapter, and again, everything seems dead. The USB port is ok, because other devices (e.g. the Fushicai video grabber) do work.
Sounds like a broken device.
If the adapter is not supported, can I write a driver for it? I'll be happy to, with a little guidance to get me started. Any pointers?
Odds are the device id just needs to be added to an existing driver as I do not know of any "new" usb-serial converter chips that Linux does not already support.
Oh, one more thing. Reading about these converters, I saw many use an ftdi chip, so I did modprobed ftdi_elan and ftdi_sio:
7) root:~> lsmod | grep ftdi ftdi_elan 36689 0 ftdi_sio 48770 0
In fact, the dmesg above was with the ftdi modules loaded.
You should get some kernel log messages when a new USB device is plugged in, no matter what type it is. The fact that you are not is a problem. greg k-h
In fact, the dmesg above was with the ftdi modules loaded.
You should get some kernel log messages when a new USB device is plugged in, no matter what type it is. The fact that you are not is a problem.
greg k-h
Do you suppose this would work? http://www.amazon.com/gp/product/B006PIU2KO/ref=ox_sc_act_title_1?ie=UTF8&ps...
On Mon, Jul 21, 2014 at 8:49 AM, Amadeus W.M. <amadeus84@verizon.net> wrote:
Not sure if this is the right venue for this question, please direct me to the right place if it's not.
I have a C program that opens the serial port /dev/ttyS0 and sends commands (as strings) back and forth to a pan-tilt-zoom camera. That works very well, but I want to use the camera with a Raspberry Pi, which of course does not have a serial port (RS232). One option is to use a RS232 to usb adapter and rewrite the C code for the usb port. So how do I go about that? Is usb serial port programming possible and documented anywhere?
Raspberry PI is not having a dedicated serial port but GPIO14 and GPIO15 are the Rx and Tx pins , so you can just connect a max3232 to have a serial port .
Raspberry PI is not having a dedicated serial port but GPIO14 and GPIO15 are the Rx and Tx pins , so you can just connect a max3232 to have a serial port .
I believe that requires some capacitors and possibly some electronics, so I ordered one ready-made from China for $3 including shipping. It's on its way. Slowly.
participants (4)
-
Amadeus W.M. -
Bruce Rowen -
Greg KH -
Sudip Mukherjee