Wiki/beaglebone serial terminal

Jump to: navigation, search


With this project, BeagleBone can be used as a Serial Terminal Server.

Student: Gurnoor Singh Bhatia
Mentors: Michael Welling (m_w)
Code: (Empty repo)
GSoC: GSoC entry


This project is currently just a proposal.

About me

IRC: noor_
School: San Jose State University
Country: United States
Primary language: English
Typical work hours: 6PM-11PM CDT (I will be in CDT zone during Summer. Currently I am in PDT zone)

About your project

Project name: BeagleBone-based Serial Terminal Server


Description, quoted from GSoC BeagleBone ideas page:

Goal: Often in embedded development it is valuable to have a serial terminal server which can retain a serial port connection along with buffered past I/O separate from a typical host PC, either for longer term logging of serial port data or to enable remote management of a device via serial port. Commercial units which have this capability are very expensive. The BeagleBones have 4 highly capable UARTs exposed besides UART0 through the cape connectors and a simple cape hardware could easily enable a BeagleBone to physically have all the interfaces needed to be a serial terminal server. The cape hardware does not need to be created for this project to go forward, so long as other devices which connected to the BeagleBone terminal server used 3.3 V UARTs themselves.
This project would begin with a survey of existing software which could be adapted to provide a terminal server experience (for example something as simple as using GNU screen with some adaptations over an SSH connection to the BeagleBone) and then proceed to create software changes needed to enable such operation in an easy to use and deploy way. This resulting (or found) software would likely end up being generic for Linux based serial terminal servers. The end result of this project should likely be an easy to deploy SD card image to enable someone to setup a low cost serial terminal server based on a BeagleBone in only a few minutes.
A reach goal would be to enable the cape hardware and also to potentially provide DC relays which could switch 5-12 V at 2-3 A such that development boards could be powered on and off through the same software interface as is used for the serial communications. Since hardware is not the focus of GSoC, actual development of such hardware should not be the focus of the project itself.
Hardware Skills: Datasheet/specification reading
Software Skills: C programming/Linux kernel programming
Possible Mentors: Michael Welling
Upstream Repository: N/A
References: N/A

Apart from the above requirements, a reach goal is to upload the data to cloud continuously and plot charts using D3.js.


I will most probably finish it before the summer itself, but here are the official milestones.

2017-06-06: Milestone #1
Finish surveying previous work. There are many sub-components where a suitable library might be available.
2017-06-13: Milestone #2
Deliver a basic running sample which reads serial data from UART and displays it on a GNU screen.
2017-06-20: Milestone #3
Survey and deliver a version which can be flashed to the SD card on BeagleBone.
2017-06-27: Milestone #4
Deliver the continuous upload to cloud and basic UI displaying text readings. 2017-07-04: Milestone #5
Deliver plotting using D3.js

Experience and approach

I am currently working as a Research Assistant in an IoT project. This involves interfacing devices with BeagleBone via UART. The serial monitor would be very helpful in debugging many devices while building an IoT application.
I have previously worked with UART to write a wrapper in JNI over Freescale's UART API (in C) to interface with its devices.


What will you do if you get stuck on your project and your mentor isn’t around?

The BeagleBone online community is usually very helpful to point in the right direction.


If successfully completed, what will its impact be on the community?
This project will help users to use BeagleBone as a Serial Terminal Monitor using by just flashing an image to the SD Card.