Setting up a Virtualmin-controlled Ubuntu 12.04 LTS Precise Pangolin server on Linode

Introduction

Linode is one of the best low-cost Virtual Private Server Hosts available, offering Xen VPS Hosting for a number of popular operating systems. With the release of Ubuntu 12.04 LTS, I felt that it was past time that I upgraded my webserver (the one that runs this website, actually!), and document the little tweaks that I discovered along the way.

What we’re setting up

  • Ubuntu 12.04 LTS
  • A standard LAMP Stack (Linux, Apache, MySQL, PHP)
  • BIND DNS resolution—combined with Virtualmin below, you’ll be able to manage your own domains!
  • Linode reverse-DNS resolution
  • Virtualmin / Webmin backend server management
Read More Leave a Comment

April 27, 2012

Categories:

software

Tags:

, , , , , ,

Build season is over!

I spent the past six weeks in the chaotic design and development of the Tail of the Monkey, Team 846′s entry in this year’s FIRST competition. While we haven’t had a chance to test quite all the functionality we want to have, the robot is bagged and prepared for shipping–hopefully we’ll be able to finish things up at the New York Regional this March.

In the meanwhile, a picture:

Read More Leave a Comment

February 23, 2012

Categories:

Robotics

Moved to GitHub

Due to various reasons, not the least of which was a desire to make my code easier to access for those who want to see it, I’ve decided to move my ROS repository from my own server to GitHub.

It can be viewed here: https://github.com/rbtying/Companion-Cube

Read More Leave a Comment

December 1, 2011

Categories:

Robotics

Simple Arduino Robot Control

One of the simplest bits of functionality that is useful for small-scale robotics is the ability to control robots over the serial port, which can easily be made wireless using Pololu Wixels, XBee, bluetooth, or any other wireless serial connection. Since the Arduino Serial Monitor only sends out messages rather slowly, and it’s usually nice to have a fast response from computer to robot, I wrote a short Java application that handles the communication for you.

Download here:

Robot Controller
Source code is released into the public domain, but if you use it, I’d appreciate it if you cite me somewhere (Robert Ying).

You’ll also need to have the appropriate rxtx native library in the same folder as the jar file when running it—you can download that here

Corresponding Arduino Code:

void setup() {
  Serial.begin(115200);
}

// method that sets motor speeds from -255 to 255
// corresponding to full reverse and full forward
void setLeftMotor(int speed);
void setRightMotor(int speed);

byte nextByte() {
  unsigned long start = millis();
  while (millis() - start < 100) {
    if (Serial.available()) {
      return Serial.read();
    }
  }
  return 0x00;
]

void loop() {
  while (Serial.available()) {
    switch(Serial.read()) {
      case 0xC1: setLeftMotor(2 * nextByte()); break;
      case 0xC2: setLeftMotor(-2 * nextByte()); break;
      case 0xC5: setRightMotor(2 * nextByte()); break;
      case 0xC6: setRightMotor(-2 * nextByte()); break;
      default: setLeftMotor(0); setRightMotor(0); break;
    }
  }
}
Read More Leave a Comment

November 30, 2011

Categories:

Robotics, software

Eagle Project

A completed project

For the past two weekends I’ve been working on organizing and executing my Eagle project, which is to construct a pair of lecterns for Lynbrook High School. Noticing that we have a shortage of such pieces of furniture, and that they are rather expensive to acquire directly, I decided to build these lecterns to benefit both the faculty and the student population at my school.

Read More Leave a Comment

November 27, 2011

Categories:

News