Up | Example 01 - Calculate Area | Example 02 - Calculate mean value | Example 03 - Manipulate the results from two LineFinders | Example 04 - Dynamic threshold | Example 05 - Auto Exposure | Example 06 - DrawLine | Example 07 - Overlays | Example 08 - Python Objects | Example 09 - Timing | Example 10 - Image Averaging | Example 11 - Image Resampling | Example 12 - Constant Contrast | Example 13 - Serial Communication | Example 14 - Python results | Example 15 - Making a result string | Example 16 - Running tools from a script | Example 17 - Image Manipulation using Python Scripting | Example 18 - Calculating the median angle | Example 19 - Iterating objects located by a blob | Example 20 - Resampling using non-linear calibration | Example 21 - Custom Scorpion Python extension | Example 22 - Accessing Image Pixels | Example 23 - Implementing a tcp/ip Socket Server | Example 24 - Setting ExternalReference from calculated four points | Example 25 - Rotating a reference around in a circle | Example 26 - Grabbing an image from an MOXA Video IP Server | Example 27 - Toolbox Switch | Example 28 - Color Matcher Iteration | Example 29 - Audio Notification | Example 30 - Windows MessageBox | Example 31 -  Client to tcp Socket Server | Example 32 -  Read / Write External Data from / to file | Example 33 - Changing a tool's ROI | Example 34 - Histogram Equalization | Example 35 - Robust Adam 6060 scripts | Example 36 - Bubblesort | Example 37 - Element Statistics | Example 38 - Saving 3D Image | Example 39 - Disabling Zoom in Image Windows | Example 40 - Filtering timeseries | Example 41 - Scorpion Watchdog keep system running | Example 42 - Binary Search | Example 43 - Creating an ordered pointcloud | Example 44 - UDP Socket Communication

 

  

 
Example 13 - Serial Communication
This example outline how to interface any external rs-232 device from python using the pyserial module.

Before using this python extension module your computer must be configured properly. To use pyserial the following software components must be installed after installing Scorpion. 

  1. Install Python
  2. Install Python for Windows Extensions
  3. Install pyserial

Scorpion 3.0 is compatible with Python 2.3.3 which is compatible with win32all-163 again compatible with pyserial-1.20.

All compatible set of  components are located on the Scorpion CD - Python section.

It is also available at the Scorpion support web - http://scorpion.tordivel.no

Example:

The following code may be tested from IDLE or PythonWin

PythonWin is installed with Python for Windows extensions, - very useful for debugging and testing of scripts.

from serial import *
c=Serial(0)
c.write('com port support from Python')
if c.inWaiting():
print c.read( c.inWaiting() ),'characters read'
else:
print 'no reply'
c.close()

The code opened COM1 @ default setting 9600,8,N,0

from serial import *
c=Serial(0,19200,8,'E',1)

# com port opened at 19200 baud, 8 databits, even parity, 1 stopbit
c.close()

Type help(Serial) in PytonWin or IDLE and you will get help on the syntax.

Hint : ASCII data and Python

A few words on ASCII data and Python.

use '\x03' for generating control characters or the chr() function.

make up your string to be

str='\x0a'+'\x0b'+chr(13)

or whatever.

Integrating pyserial in Scorpion

The serial script are normally added to the Central section of Scorpion

in Central.Start: # initialise

from serial import *
com=Serial(0)

in Central.Stop: # terminate

com.close()

in a PythonTool or user defined script

mystr = 'something'
com.write( mystr )

 

 

Scorpion Vision Version XII : Build 646 - Date: 20170225
Scorpion Vision Software® is a registered trademark of Tordivel AS.
Copyright © 2000 - 2017 Tordivel AS.