JeVois
1.22
JeVois Smart Embedded Machine Vision Toolkit
|
|
The JeVois-A33 smart camera only has two connectors:
Power through the mini-USB connector is always required for operation. You should aim to provide the following:
Many power and data scenarios are possible. A few examples are given below.
In the standard connection, JeVois is connected to one USB 3.0 or two USB 2.0 ports of a host computer. The host computer provides power to JeVois through its port(s), and also can communicate with JeVois through these ports (e.g., to stream video from JeVois to the host computer).
USB 2.0 ports are rated for 500mA maximum current output (at 5V). Note that voltage is allowed to drop below 5V as current usage increases. Hence, connecting JeVois to a single USB 2.0 port may not provide enough power to operate JeVois under a broad range of machine vision algorithms. A standard trick, which has been used previously to power external hard-drives or CD-Roms that also required more than 500mA of current, is to use a so-called Y-type cable, which connects to two USB ports, thereby combining power from both ports, and hence providing up to 1A of current to the device. Y-type cables look like this:
The wiring is as follows:
Hence:
Here is an example of connecting JeVois to two USB ports of a host computer using a Y-type cable:
Many mini-USB 2.0 cable types exist. The cheapest ones usually use the thinnest possible wires which can carry the data. These cables may not be appropriate to carry enough power to JeVois, as the very thin wires will not be able to carry enough current to JeVois.
In the USA, copper wire diameter is measured using the American Wire Gauge or AWG for short. Smaller AWG values mean thicker wires that can carry more current with less loss.
The cheapest USB cables may use 30AWG or 32AWG wire size (extremely thin). While this is appropriate for the data lines, it is insufficient to power JeVois.
If you purchase mini-USB cables, make sure they feature 24AWG or lower for the two power wires inside the cable (and those will usually also feature 28AWG for the two data wires, and hence will be labeled 24/28AWG cables). Sometimes this information is written on the cable:
The above picture shows a cable that has 1 twisted pair (1P) at 28AWG for data, and 2 conductors (2C) at 24AWG for power.
If in doubt, check out https://jevoisinc.com as all the cables there are custom-manufactured and tested to work with JeVois under full load. In fact, we have now moved our manufacturing line to all 22AWG power wires to incur the lowest possible loss in the power wires (22AWG is even thicker than 24AWG and hence is better to carry current with low loss; but 24AWG remains suitable).
Although USB 2.0 ports should be able provide 500mA of current according to the USB specifications, sometimes they are not. This is often the case in small embedded boards, which themselves are powered from a micro-USB connector, then relaying some of that power to their own USB ports.
When a host computer's ability to supply power to its USB ports is weak, you can supplement it by using a Y-type cable and connecting the short end (power only) to a stable power source. For example:
Note how in both cases above we have connected the USB-A plug with two wires (connector P1) to the USB port of the embedded computer, so that both power and data flow between JeVois and the embedded computer. We have connected the USB-A plug with only one wire (which is for power only, connector P3) to the auxiliary power source. Hence:
The micro-USB cable connected to the embedded computer at the right of the pictures is to power that computer, and it should be connected to a USB charger, USB power bank, etc. In such case, you would probably want to use a USB power bank that provides several USB outputs, as is usually the case with larger USB power banks; or, similarly, a USB charger with several outputs (the small white wall charger shown on this page has 2 ports; many USB charger models are available with 6 ports or more).
JeVois does not always stream video over its USB port. In some scenarios, it can just work as a standalone computer.
For example, the Surprise-based Video Recorder machine vision module uses JeVois as a smart surveillance camera, which will just monitor the environment and save a short video clip to its microSD card each time something surprising is detected. In such scenario, we only need to provide power to JeVois. This can be achieved using a USB charger, a USB battery bank, etc as exemplified below.
In yet other scenarios, JeVois may not stream video over USB but may issue messages over its micro-Serial port, for example to provide information to a micro-controller on an autonomous robot.
A splitter mini+micro cable can come in handy for this kind of scenario:
Make sure your USB power bank is rated for at least 1A output current.
You can use a handy Step-UP DC/DC converter to power JeVois from sources that provide less than 5V (e.g., a single Lithium cell rated 3.7V nominal). In doing so, you are essentially building your own USB battery bank (those contain a Lithium battery plus a DC/DC converter inside).
If you want to stream video data to a host computer that is too weak to power JeVois on its own, use a Y-type cable instead of the single cable shown above, as we have used in the previous scenarios.
You can use a Step-down DC/DC converter to power JeVois from power sources that have voltages greater than 5V, such as a 12V car battery. Here we show such a converter connected to a cigarette lighter adapter for a car.
You can also use a standard cigarette-lighter USB charger (which allows people to charge their phones from the cigarette lighter port of their car). Make sure it is rated to provide at least 1A of current.
If you want to stream video data to a host computer that is too weak to power JeVois on its own, use a Y-type cable instead of the single cable shown above, as we have used in the previous scenarios.
OpenWRT is an open source framework for wired and wireless network routers. OpenWRT has USB camera support, and can stream video wirelessly using the mjpg-streamer OpenWRT module, see https://wiki.openwrt.org/doc/howto/webcam
You then simply use a Y-type cable to connect JeVois to the USB port of the OpenWRT box and to an additional power source (the USB port on the OpenWRT box is unlikely to be able to power JeVois). The OpenWRT box detects JeVois as a connected USB camera, and triggers the mjpg-streamer module. There is a bit of messing around with config files and options passed down to mjpg-streamer to select the correct resolution and you are good to go. You view the video by wirelessly connecting your tablet to the OpenWRT router (which acts as a wifi access point) and then pointing your browser to some URL (see the mjpg-streamer doc) where you will see the video from JeVois.
Try a search for "GL-MT300N" or similar. Although we have not used this exact model, it should work just fine since it has OpenWRT and also a USB2.0 port to which you can connect JeVois. Note that the CPU in these OpenWRT boxes is quite slow (e.g., 200MHz single core) so the framerate at which you will be able to see the video may be limited. We could do 15fps at 320x240 MJPG in our tests. Because of the slow OpenWRT CPU, you may be better off doing compression to MJPG on JeVois and streaming MJPG video out of JeVois, so that the OpenWRT box will just forward the video frames over wifi without the need to compress them on the OpenWRT CPU.
You can measure power consumption of JeVois using a USB power tester. Just make sure that use a single port to power JeVois (USB 3.0, charger, battery, etc) and not a Y cable, otherwise you may not measure the full power that is going into JeVois.
Cables, battery banks, DC/DC converters, etc that have been certified to work with JeVois are available at http://jevoisinc.com
With thin USB cables not rated for charging, sometimes JeVois may appear to correctly startup but is not detected by the host computer, or appears to work erratically (video connection drops, etc).
On Linux, try to issue a dmesg
command in a terminal, and check for the following (exact numbers will change, but you want to see a JeVois-A33 Smart Camera detected:
[14985.916593] usb 1-1.2: new high-speed USB device number 30 using xhci_hcd [14986.021050] usb 1-1.2: New USB device found, idVendor=1d6b, idProduct=0102 [14986.021053] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [14986.021055] usb 1-1.2: Product: JeVois-A33 Smart Camera [14986.021056] usb 1-1.2: Manufacturer: JeVois Inc [14986.043758] uvcvideo: Found UVC 1.00 device JeVois-A33 Smart Camera (1d6b:0102) [14986.045193] input: JeVois-A33 Smart Camera as /devices/pci0000:00/0000:00:1c.6/0000:09:00.0/usb1/1-1/1-1.2/1-1.2:1.0/input/input48 [14986.046144] cdc_acm 1-1.2:1.2: ttyACM0: USB ACM device [14986.047206] usb-storage 1-1.2:1.4: USB Mass Storage device detected [14986.047353] scsi host32: usb-storage 1-1.2:1.4 [14987.044678] scsi 32:0:0:0: Direct-Access JeVois Smart Camera 0333 PQ: 0 ANSI: 2 [14987.045298] sd 32:0:0:0: Attached scsi generic sg8 type 0 [14987.046092] sd 32:0:0:0: [sdh] Attached SCSI removable disk
if you see errors like this:
[14977.226733] uvcvideo: Failed to query (129) UVC probe control : -19 (exp. 26). [14977.226736] uvcvideo: Failed to initialize the device (-5).
then likely your cable is bad (not able to carry enough current), our your USB port is too weak, etc.