
Security News
NVD Concedes Inability to Keep Pace with Surging CVE Disclosures in 2025
Security experts warn that recent classification changes obscure the true scope of the NVD backlog as CVE volume hits all-time highs.
Master:
.. image:: https://travis-ci.org/jckantor/TCLab.svg?branch=master :target: https://travis-ci.org/jckantor/TCLab
.. image:: https://readthedocs.org/projects/tclab/badge/?version=latest :target: http://tclab.readthedocs.io/en/latest/?badge=latest
.. image:: https://badge.fury.io/py/tclab.svg :target: https://badge.fury.io/py/tclab
Development:
.. image:: https://travis-ci.org/jckantor/TCLab.svg?branch=development :target: https://travis-ci.org/jckantor/TCLab
TCLab
provides a Python interface to the
Temperature Control Lab <http://apmonitor.com/pdc/index.php/Main/ArduinoTemperatureControl>
_
implemented on an Arduino microcontroller over a USB interface.
TCLab
is implemented as a Python class within
the tclab
package. The tclab
package also includes:
clock
A Python generator for soft real-time implementation of
process control algorithms.Historian
A Python class to log results of a process control
experiment.Plotter
Provides an historian with real-time plotting within a
Jupyter notebook.TCLabModel
An embedded model of the temperature control lab
for off-line and faster-than-realtime simulation of process control
experiments. No hardware needs to be attached to use TCLabModel
.The companion Arduino firmware for device operation is available at the
TCLab-Sketch repository <https://github.com/jckantor/TCLab-sketch>
_.
The Arduino Temperature Control Lab <http://apmonitor.com/pdc/index.php/Main/ArduinoTemperatureControl>
_
is a modular, portable, and inexpensive solution for hands-on process
control learning. Heat output is adjusted by modulating current flow to
each of two transistors. Thermistors measure the temperatures. Energy
from the transistor output is transferred by conduction and convection
to the temperature sensor. The dynamics of heat transfer provide rich
opportunities to implement single and multivariable control systems.
The lab is integrated into a small PCB shield which can be mounted to
any Arduino <https://www.arduino.cc/>
_ or Arduino compatible
microcontroller.
Install using ::
pip install tclab
To upgrade an existing installation, use the command ::
pip install tclab --upgrade
The development version contains new features, but may be less stable. To install the development version use the command ::
pip install --upgrade https://github.com/jckantor/TCLab/archive/development.zip
Plug a compatible Arduino device (UNO, Leonardo, NHduino) with the lab attached into your computer via the USB connection. Plug the DC power adapter into the wall.
(optional) Install Arduino Drivers
If you are using Windows 10, the Arduino board should connect without additional drivers required.
For Arduino clones using the CH340G, CH34G or CH34X chipset you may need additional drivers. Only install these if you see a message saying "No Arduino device found." when connecting.
macOS <https://github.com/adrianmihalko/ch340g-ch34g-ch34x-mac-os-x-driver>
__.Windows <http://www.wch.cn/downfile/65>
__.(optional) Install Arduino Firmware
TCLab
requires the one-time installation of custom firmware on
an Arduino device. If it hasn't been pre-installed, the necessary
firmware and instructions are available from the
TCLab-Sketch repository <https://github.com/jckantor/TCLab-sketch>
_.
Execute the following code ::
import tclab
with tclab.TCLab() as lab:
print(lab.T1)
If everything has worked, you should see the following output message ::
Connecting to TCLab
TCLab Firmware Version 1.2.1 on NHduino connected to port XXXX
21.54
TCLab disconnected successfully.
The number returned is the temperature of sensor T1 in °C.
If something went wrong in the above process, refer to our troubleshooting guide in TROUBLESHOOTING.md.
The notebook directory provides examples on how to use the TCLab module.
The latest documentation is available at
Read the Docs <http://tclab.readthedocs.io/en/latest/index.html>
_.
Additional information, instructional videos, and Jupyter notebook examples are available at the following course websites.
Arduino temperature control lab page <http://apmonitor.com/pdc/index.php/Main/ArduinoTemperatureControl>
__ on the BYU Process Dynamics and Control course website.CBE 30338 <http://jckantor.github.io/CBE30338/>
__ for the Notre Dame
Chemical Process Control course website.Dynamics and Control <https://github.com/alchemyst/Dynamics-and-Control>
__ for notebooks developed at the University of Pretoria.FAQs
Python bindings for the BYU Arduino Temperature Control Lab
We found that tclab demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Security experts warn that recent classification changes obscure the true scope of the NVD backlog as CVE volume hits all-time highs.
Security Fundamentals
Attackers use obfuscation to hide malware in open source packages. Learn how to spot these techniques across npm, PyPI, Maven, and more.
Security News
Join Socket for exclusive networking events, rooftop gatherings, and one-on-one meetings during BSidesSF and RSA 2025 in San Francisco.