JeVois
1.22
JeVois Smart Embedded Machine Vision Toolkit
|
|
This feature is not yet available on JeVois-Pro but will soon be...
On Linux, first look for the port that was created when you plugged in your JeVois smart camera. Most likely it will be /dev/ttyACM0 unless you already have some other modem device connected to your host computer. To find out, inspect messages displayed when you type dmesg
in a Linux terminal after you have connected your JeVois smart camera. Allow at least 10 seconds for the smart camera to boot up and to be detected by your host computer. The output of the dmesg
command should contain some messages about detection of your JeVois smart camera, both its video component and its serial port component:
[...] [4768736.704777] usb 1-1.3: new high-speed USB device number 13 using xhci_hcd [4768736.809464] usb 1-1.3: New USB device found, idVendor=1d6b, idProduct=0102 [4768736.809470] usb 1-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [4768736.809473] usb 1-1.3: Product: JeVois-A33 Smart Camera [4768736.809476] usb 1-1.3: Manufacturer: JeVois Inc [4768736.847915] uvcvideo: Found UVC 1.00 device JeVois-A33 Smart Camera (1d6b:0102) [4768736.849892] input: JeVois-A33 Smart Camera as /devices/pci0000:00/0000:00:1c.6/0000:09:00.0/usb1/1-1/1-1.3/1-1.3:1.0/input/input29 [4768736.851499] cdc_acm 1-1.3:1.2: ttyACM0: USB ACM device
In the above example, the JeVois smart camera was detected as a UVC (USB Video Class) device and a corresponding video device entry was created in /devices/pci... which typically would then also be aliased to /dev/video0 for easier access. In addition, the serial-over-USB port of the JeVois camera was detected as a CDC-ACM serial port, and was assigned device name ttyACM0 in this example.
To connect to your JeVois smart camera using the serial-over-USB link, start a terminal program. Default configuration is 115200 8N1.
On Ubuntu, a program called ModemManager is installed and runs by default. It will try to connect to any new serial-over-USB device and to probe it by sending it modem configuration commands. JeVois will ignore these commands, but ModemManager will keep sending strings to JeVois for up to a minute after JeVois is connected. So, it is better to just get rid of ModemManager:
sudo apt purge modemmanager # to get rid of it entirely, you can always re-install it later if ever needed
On Linux, by default, you may not have permission to access the JeVois serial-over-USB port. You can fix this in two ways:
sudo usermod -aG dialout $USER groups $USER # check that you are now in the dialout groupand reboot your machine for the settings to take effect.
sudo chmod 777 /dev/ttyACM0
To test the connection, the best is to use JeVois-A33: JeVois Inventor graphical user interface
sudo apt-get install screen # if not already installed sudo screen /dev/ttyACM0 115200
screen
program does not (as far as we know) provide an option for command echo (to see what you are typing). Hence, as you type, you will not see what you type. This is normal.screen
, type CTRL-A
ESC
and you can then use the arrow keys or mouse wheel to scroll up. Type RETURN
twice when you are ready to go back to interactive mode.You can also use minicom
or other serial communication software. Minicom is nice because it allows you to enable local echo (so you can see what you type):
sudo apt-get install minicom # if not already installed sudo minicom -D /dev/ttyACM0
To enable local echo, type the following keystrokes: CTRL-A
Z
(for configuration menu), then E
(local echo on/off). Note that even though minicom makes it look like you can corect typos, you still cannot; for example, typing helx
then BACKSPACE
and then p
(to correct from helx to help) will transmit the message helx
followed by a BACKSPACE
character followed by p
and this will still be an incorrect command for JeVois.
Many Linux distributions, including Ubuntu, monitor the connection of modems, so that they can be detected in a plug-and-play manner. Because the JeVois serial-over-USB port looks to a host computer like a new modem (this is so that no driver is required), your host computer may try to send modem configuration commands to JeVois as you connect it.
JeVois will safely ignore these commands, but it may take a few minutes for your host computer to give up on trying to initialize JeVois as a modem that can dial out over telephone lines. While your host computer is trying to configure JeVois as a modem, the commands it sends will interfere with any commands you may type. To avoid this and to allow you to use the serial-over-USB port as soon as it is detected by your host, turn off the modem manager feature of your Linux host. For example, on Ubuntu:
sudo killall ModemManager
JeVois v1.3
Under Linux, the jevois package provides the command jevois-cmd
in /usr/bin of the host computer (source in ~/jevois/scripts), which can be executed directly in any terminal on the host computer (as opposed to being run in the JeVois command-line interface after opening some serial terminal to it). Use it as follows:
jevois-cmd help
Connects to JeVois using the serial-over-USB port, issues the command help
to jevois, collects an displays the results returned by JeVois.
Any valid JeVois command-line command can be sent. For example:
jevois-cmd setpar cpumax 1200
should return
OK
and a subsequent
jevois-cmd info
should show the updated CPU frequency of 1200 MHz as follows:
INFO: JeVois 1.3.0 INFO: Linux version 3.4.39 INFO: CPU: 1200MHz, 28C, load: 0.98 0.53 0.22 1/59 86 INFO: MemTotal: 238452 kB, MemFree: 170188 kB INFO: OUT: YUYV 640x300 @ 60fps CAM: YUYV 320x240 @ 60fps MOD: JeVois:DemoSaliency OK