Environment Monitoring Programs

Information and example programs for an educational programming project.

This project was started in November 2007 and has been useful for testing purposes by embedded software engineers a number of times.  Here is one description of usage and there are several others on this page.

Want to "jump right in"? The "Hello World" page has the simplest programs but the "Easy fpGUI" page (with the more complex and useful programs) gets updated and used the most.

New! Two web sites resulting from this project are CtrlTerm and CtrlPascal.

New! A web page:
  Running Linux console apps on Android ARM devices

In June 2012 we started adding tutorials designed to introduce new programmers (using PCs with Windows) to Free Pascal:
"Hello World" Tutorial doc - PDF - web
"Simple Serial" Tutorial doc - PDF - web

We hope to add similar tutorials soon for Linux users which includes the popular Raspberry Pi. The arm-linux code here does work on the Raspberry Pi and also on the BeagleBone boards.

LinuxCNC is a nice application and here is a new blog that shows it working on a Beaglebone Black:
  http://blog.machinekit.io/
LinuxCNC Week in Wichita was held in 2013 at MPM IncHere I am with an anonymous person at MPM in front of their largest milling machine which I think runs LinuxCNC (just like the Beaglebone Black shown on the blog above).
New! Blog article about Machinekit Meetup

A few notes and links on programming mobile devices and Arduino boards (also see new web page listed above).

Books available:
Lessons In Industrial Instrumentation, version 1.31 - 2945 pages! (source info)
Lessons In Electric Circuits (same author as above)

Note that the text below is an outline of development of this project and while it describes many useful example programs it is not yet written to introduce new programmers to Free Pascal.


A) Pick two devices (serial and ethernet) to measure temperature. Please see the devices page for more information.

B) Create console programs that communicate with the devices and simply print readings to the screen. Use Synapse and Synaser libraries so there is no need to install any Delphi VCL components (also good for Free Pascal).

We are working on this step in phases. First, here are small "Hello World" files that allow you to see the Free Pascal compiler work on various systems. Next we are releasing similar files for a "Simple Serial" program that reads the temperature from the DLP-TEMP-G board (or a simulator). New!! Tutorials for i386 Win32 systems now available on these two pages.

C) Monitor the temperature and be able to send emails or text messages.  Here are "Easy Email" files for sending emails and text messages.

D) Create GUI program to monitor database (for alerts and charting). Here are "Easy fpGUI" files for various platforms using the fpGUI widget library.  Here are "Simple Window" files for several Linux systems.

E) Improve console programs so readings are put into a database.

F) Use the programs above to extend the Parallax educational offerings to include PC programming. RadioShack sells the What's a Microcontroller BASIC Stamp Kit (Catalog #: 276-625) at a very affordable price.

For some ideas, here is a Perl program:
http://www.klein.com/thermd/
Here is a list of serial and ethernet devices supported:
http://www.klein.com/thermd/devices.shtml

PascalSCADA is an interesting project.

Some notes about using the Free Pascal compiler on embedded systems.


Please share your ideas, comments and suggestions. Thanks!
-- Paul Breneman

TurboControl.com
Contact information on home page