Webifi.me

Python Serial Port

 

Index

1. Introduction
2. Settings file
3. Run Python Serial Port

1. Introduction

The Python serial port can be used to connect any serial port to our service. The source code for this project can be downloaded from https://github.com/webifi-me/WebifiPythonSerialPort.git.

2. Settings file

The settings.ini file is used to store all the settings for the script. The following section describes all the settings:

Setting Description
connectname The connect name used for the connection. If you are unsure about these details please check our How It Works and Getting Started guides.
password The connect password used for this connection
network The network or networks this device will communicate on. The serial port data received by this script will be sent to all these networks and data received from any of these networks will be sent to the serial port. Normally you would have this script running on its own dedicated network, for example RPi for your Raspberry Pi.
encryption If set to 1 then all data over the internet will be SSL/TLS encrypted
useWebsocket If set to 1 then WebSocket will be used for communication. If set to 0 then Long Polling will be used.
datatype The data type sent with all data from this instance. This is handy if you have multiple devices on the same network and need the receiving device to easily differentiate where the data is coming from.
logDirectory If you need messages to be logged then this field must be set to a valid directory. This is used for debugging the Python scripts.
serport The name of the serial port that will be opened by this script. On Windows it will be something like: COM23. On your Raspberry Pi it will probably be /dev/ttyUSB0 if you have a USB virtual serial port connected or /dev/ttyAMA0 for the GPIO serial port (For the RPi 3 ttyAMA0 is used for Bluetooth, the GPIO serial port is called /dev/ttyS0).
parity The serial port parity.
baudrate The serial port baud rate.
numbits The number of data bits for the serial port
stopbits The number of stop bits for the serial port

3. Run Python Serial Port

Before running this script please make sure the Webifi Python libraries are installed:
pip install webifi

You also need the pySerial module to be able to communicate with the serial port:
pip install pyserial

There are two versions of the program: WebifiPythonSerialPort_p27.py for Python 2.7 and WebifiPythonSerialPort_p3.py for Python 3. To use the script on Python 2.7 enter the following:
python WebifiPythonSerialPort_p27.py
If the connection is established to the Webifi server then the message: Connection successful will be displayed. Now you will be able to communicate with your serial port over the internet. Press Control-C to close the program.

By default the script will use the settings.ini file. If you have multiple ini files you can specify which file to use, for example:
python WebifiPythonSerialPort_p27.py my_init_file.ini

We also have an install script for Python 2.7 on Linux. For example, if you have a Raspberry Pi and you would like the serial port to connect to the Webifi service each time the device starts then you can use this script. When you run the script it will ask for the following details:

  • Connect name
  • Password
  • Network
  • Whether encryption should be used
  • Serial port name
  • Baud rate

To install the script run:
sudo install_p27.sh

To uninstall the script:
sudo uninstall_p27.sh