Difference between revisions of "BeagleBoard/GSoC/BeagleBone-based-Serial-Terminal-Server"
(Created page with "Category: BeagleBoard Category: GSoC Category: GSoCProposal =BeagleBone based Serial Terminal Server...") |
m (→Implementation) |
||
Line 44: | Line 44: | ||
* A new user will be added to the BeagleBone for users to connect to | * A new user will be added to the BeagleBone for users to connect to | ||
* The new user will have a custom prompt instead of bash | * The new user will have a custom prompt instead of bash | ||
− | * | + | * termios will be used to configure serial interfaces |
* Incoming data will be piped to a log file without buffering | * Incoming data will be piped to a log file without buffering | ||
* When a user attaches to a session, the log will be tailed to display the serial output | * When a user attaches to a session, the log will be tailed to display the serial output |
Revision as of 10:09, 17 March 2018
Contents
BeagleBone based Serial Terminal Server
Student: Harikrishnan R
Mentors: Michael Welling
Code: TBD
Wiki: http://elinux.org/BeagleBoard/GSoC/BeagleBone-based-Serial-Terminal-Server
GSoC: TBD
Status
This project is currently just a proposal.
Proposal
About you
IRC: illustris
Github: https://github.com/illustris
School: BITS Pilani, Goa campus
Country: India
Primary language: English
Typical work hours: 11:30 PM to 4.30 PM UTC
Previous GSoC participation: No previous participation.
About your project
Project name: BeagleBone based Serial Terminal Server
Task Completion: Pull request.
Description
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, with even single port serial terminal servers consting hundreds of dollars. The BeagleBone has 4 highly capable UARTs exposed besides UART0 through the cape connectors. A simple cape hardware could easily enable a BeagleBone to physically have all the interfaces needed to be a serial terminal server.
Deliverables
The project will have the following features:
- User connects to the terminal server over SSH
- A command line interface will allow users to configure and select the interfaces to monitor and log
- Logs will be split and archived every 24 hours
- User will be able to attach to and detach from individual serial terminal sessions, similar to tmux/screen
- User will be able to view logged data from the serial device
Implementation
- A new user will be added to the BeagleBone for users to connect to
- The new user will have a custom prompt instead of bash
- termios will be used to configure serial interfaces
- Incoming data will be piped to a log file without buffering
- When a user attaches to a session, the log will be tailed to display the serial output
- Input from the user will be piped to the serial device in interactive mode
- A cron job will handle log archiving
Timeline
Week | Plan |
---|---|
1 | Discuss with mentor and finalise available commands/features |
2 | Enable all UARTs, write code to read from UART and log |
3 | Implement non-interactive live log display |
4 | Implement piping of stdin to uart device |
5 | Implement basic attach/detach functionality |
6 | Implement basic attach/detach functionality |
7 | Implement "configure" CLI command to configure UARTs |
8 | Add other commands for CLI |
9 | Test |
10 | BUG fixing and documentation |
11 | BUG fixing and documentation |
12 | Package into installer |
Experience and approach
As the controls engineering lead of Hyperloop India, I have worked extensively with embedded electronics and software. One of the nodes used in the pod electronics was built around a BeagleBone with a device tree overlay for enabling DCAN1. I have also ported FreeRTOS to a RISC-V processor I helped design.
Contingency
What will you do if you get stuck on your project and your mentor isn’t around?
If Michael and Stephanie are unavailable, I would try asking for help on IRC. I would also consult relevant manpages and documentation.
Benefit
This project will allow users to monitor up to 4 UART devices over ethernet without having to use either an expensive serial terminal server, or an always-online computer with USB hubs and multiple USB-TTL converters.