Spanish Italian
9142 Users    

SUCKERmenu

04 Projects

Because hardware programming is a combination of languages and operative systems. It is hard to organize the projects in a linear layout. The projects will roll out according to the programming languages.

Assembly/C/C++


Hardware Interface Programming in VC++. It is a simple port access tutorial for the hardware interface developer in Windows. Sample project and source code are included.

 

 




Delphi


Engineers and others interested in using their PCs to manipulate external hardware have long been drawn to TurboPascal/Delphi, because of the combination of power, predictability and speedy compilation that it offers while avoiding some of the complexity of C++. You can afford to be a specialist at something other than the programming language. This was great under DOS, and even under W3.1 and W95 with Delphi 1. But with Delphi 2 and 3, and Win NT, the direct hardware manipulation features are not so directly accessible.

Source code is included and freely distributed.

 

BASIC/Visual BASIC

 


Interface-PC from www.thaiio.com. This site is a Thailand electronics design portal, which covers Parallel Port, Serial Port, USB, .NET, PC interfaces, articles, projects and directories for automations. Most of the sites are written in English and Thai. Source code included. And there is some interesting banner advertisement, which you have to check it out by yourself.

 

 

 


Visual Basic, VB, C# Serial Communications Example Tutorials Source Code Programs. Serial communications has lost a lot of importance over the last five to ten years. Now there are much higher speed and specialty networks. However, there are still plenty of devices in factory and laboratory automation that only have a serial interface. Hopefully this page will help you understand what it takes to read and write devices using RS232, RS422, and RS485.

Other resources include:

  • ASCII character reference chart
  • RS232 pinout
  • Industrial Networking & Communications
  • Computer - PLC communications

 

This site also offers resources regarding bar code, factory automation. You must pay a visit to this informative site and bookmark it.

 


Developerfusion.co.uk is a developer web. The following project includes two parts of code in VB and C++.

There have been projects I have been on in the past where there was certain functionality I needed but could not get from VB, or I had to do a complete workaround to get the functionality I could get from C++ very easily. In this tutorial I will show you how to create a C++ dll that you can call from VB. I figure instead of doing the norm, "HELLO WORLD", or "ADD NUMBER", routine I will show you how to resolve a domain name to an IP address and return that IP address back to VB, this is a little advanced for the beginner but if you have some C++ experience it wont be that bad. The author said.

Java


The Java Communications 3.0 API is a Java extension that facilitates developing platform-independent communications applications for technologies such as Smart Cards, embedded systems, and point-of-sale devices, financial services devices, fax, modems, display terminals, and robotic equipment.

Java Communications API offers access to RS232 and limited access to IEEE1284 (parellel port) and SPP mode.

 

 

 


The purpose of this article is to give you a good introduction to the Bluetooth protocol, including an overview of its protocol layers and profiles. We'll also cover the the classes and methods of JSR-82, the official Java Bluetooth API. Finally, we'll wrap things up by describing what software that you'll need in order to get started.

 

 

 


Java networking programming FAQ. This document contains the answers to commonly asked network programming questions posed by Java developers. It also gives websites, books and codes cited.

 

 

 

 

JavaScript


This article mainly concentrates on retrieving the hardware information of a system. All of the examples in this article can be directly tested, by simply copying and pasting the entire code (of each section) in any text file with the extension .HTM and opening the file using Microsoft Internet Explorer (preferably 5.5+).

 

 

Perl


Birthisel Engineering is a one-person consulting company based in Clinton, Wisconsin. He is a 1971 graduate of MIT with over 25 years experience in applying technology to manufacturing. On this site, he releases the serial communication module for Perl in Windows and Linux. All documentation and samples for X10 home automation is included. There are some other useful links.

Perl Serial Programming Resources with WIN32::SerialPort for Windows, Device::SerialPort.pm for Linux.

 

 


The list contains modules distribution files on CPAN for modules that are not included in the perl standard distribution but are included in the current release of Perl Module List. To keep the size of this list acceptable, it does not list which modules are in each package. To get at those, it is recommended to use the CPAN.pm module or read the detailed listing. Search the keyword "device", you can find the hardware extension modules for Perl, ranges from web camera, serial communication, GSM, modem, parallel port, USB, JTAG, USB-JTAG. The other related modules are also addressed under "IO".

 

Python


This module encapsulates the access for the serial port. It provides backends for Python running on Windows, Linux, BSD (possibly any POSIX compilant system) and Jython. The module named "serial" automatically selects the appropriate backend. The sample code is located at http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/pyserial/pyserial/examples/.

 

 


This module is another project from pySerial, which encapsulates the access for the parallel port. It provides backends for Python running on Windows and Linux. Other platforms are possible too but not yet integrated.

This module is still under development. But it may be useful for developers.
The windows version needs a compiled extension and the giveio.sys driver for Windows NT/2k/XP. The extension module can be compiled with distutils with either MSVC or GCC/mingw32.

 

 


I will focus on creating networked based application using RFCOMM. The first section will be about the whys and wherefores of RFCOMM. In the second, third, and fourth sections, I will enumerate the steps necessary to create a client-server based application using RFCOMM. In the last section, a single-threaded server will be developed that uses RFCOMM to provide a file transfer service. That's the outline for this discussion.

 

PHP


Class: PHP Serial (serial port in Linux) Classes, which allows communicate with a serial port under Linux/Windows. PHP is widely used a server side scripting languages in web server, although it can be a general purpose scripting languages. Serial ports are often used to communicate with peripheral devices, such as: modems, POS terminals, special printers, etc..

This class can be used to communicate and configure peripherals connected to a serial port under Linux, simplifying the development of applications that need access serial devices. Sample code is included. You can set up a web server which needs real-time serial communication with server side peripherals, i.e. surveillance camera pan control, home automation and etc.

 

 


PHP Serial Extension - Serial port communication extension for PHP, a shareware from easyvitools.

This is a loadable extension for PHP running on Windows implementing serial port handling and communications. Once installed in PHP environment you can program PHP applications to control serial device hosted on server from remote location; these devices can be anything from video switcher, cameras pan/tilt, ham radios, media players, home automation boxes, GSM modems/terminals (send/receive SMS), only your imagination and needs are the limits. They also offers EzCom2Web, a serial communication module for web and GPS Python client.

Components for Windows

 


All Intel PCs have one or two serial ports usually referred to as Com1 and Com2. These comm ports provide voltages and pin outs consistent with RS-232C. Normally, these ports are used for mice, modems, printers, and the like.

Under DOS, it was possible to directly access these ports. However, Windows 95 and above forbid direct hardware access. Therefore, this page exists to help get around windows.

This project covers the generic references, code for VB, Microsoft Access, Delphi, C++ builder and Windows API. This OCX control can be covered in most of the popular languages programming in RS232.

 

Adding serial communications capabilities to an application is never a simple matter.It requires specialized knowledge that might be outside an individual programmer's expertise. For years, VBScript, Visual Basic and Visual C++ developers have relied upon the power, flexibility and reliability of the ActiveComport serial communications control from ActiveXperts Software. ActiveComport is a COM component, that provides an easy-to-use scripting interface for serial, asynchronous communications through a serial port. ActiveComport can control modems, ISDN modems, USB serial devices and other devices and machines that have a serial interface. All samples and documentation are included for all languages.

 


Maxim adds Windows NT/2000/XP Support to the AN3315 Parallel-Port 2-Wire Software. In this application note, DirectI/O virtual device driver is used. This project is located on http://www.direct-io.com/.

 

 

 

Cross Platform

 


This is a forum topic of discussion about how to use Windows DLL in a Linux application. You will find some useful information after reading it. You will find that it has many dependency for using DLL in Linux. In some cases, you might success. Anyway it is a reverse engineering method.

 

 

 

 


This article discusses the shared libraries concept in both Windows and Linux, and offers a walk-through through various data structures to explain how dynamic linking is done in these operating systems. The paper will be useful for developers interested in the security implications and the relative speed of dynamic linking, and assumes some prior cursory knowledge with dynamic linking.

 

 


This article details the process of calling native C/C++ code (in a DLL) from Java using JNI (Java Native Interface). This article presumes a working knowledge of the Visual C++ command-line compiler, CL.EXE.

 

 

 


Using Cygwin To Develop Windows JNI Methods. The goal of this walkthrough will be to create a native method which does not rely on the Cygwin DLL. (In other words, it will depend only on the Windows API.)

 

 

 

Linux and Open Source Projects


Acme Systems offers embedded Linux board FOX board LX, with open source SDK. This project also offers open source device driver design for I2C, 7 segments LED display and humidity sensors.

 

 

 

Porting RTOS device drivers to embedded Linux. This article surveys several common approaches to memory-mapped I/O frequently found in legacy embedded applications. These range from ad hoc use of interrupt service routines (ISRs) and user-thread hardware access to the semi-formal driver models found in some RTOS repertoires. It also presents heuristics and methodologies for transforming RTOS code into well-formed Linux device drivers. In particular, the article focuses on memory mapping in RTOS code vs. Linux, porting queue-based I/O schemes and redefining RTOS I/O for native Linux drivers and daemons.

 

 

 

Writing Portable Device Drivers. Almost all Linux kernel device drivers work on more than just one type of processor. This only happens because device-driver writers adhere to a few important rules. These rules include using the proper variable types, not relying on specific memory page sizes, being aware of endian issues with external data, setting up proper data alignment and accessing device memory locations through the proper interface. This article explains these rules, shows why it is important that they be followed and gives examples of them in use.

 

Who's new

  • pzbpan
  • danielc
  • huntata
  • nouq
  • jdt

Who's online

There are currently 2 users and 42 guests online.

Online users

  • allankliu
  • Ionela