Early in the development, the concept of using ssh to get to the Raspberry Pi and minicom to see the output of the serial.print was established as a natural extension of the standard Arduino serial monitor. This gives a simple way to help in debugging, however what was not implemented early on was the ability to send commands to the Arduino, this was assumed to be done solely by pressing the buttons on the front of the unit.

However, when developing the Rotator module from the comfort of the house and looking at the pass-through serial communication, it became apparent that a set of serial commands to the Arduino would be very helpful. This was implemented using code based on the standard Arduino serialEvent() functions.

After implementation, we now have two-way communication to the Arduino which allows for more detailed status and debugging to be performed as you can ask the Arduino a question and it will respond in the appropriate manner.

Currently the command interface allows the following command to be executed.

HEN9000 command help
  errors               - Get the current status and errors
  power                - Show the current power figures
  temp                 - Show the current temperatures
  lights               - Show all lights and light sensors
  doors                - Show all the door states
  pophole              - toggle the pop hole door (open <-> close
  times                - Show the important times for today
  webcam <pan> <tilt>  - Show the Webcam position or move to a position
  azimuth              - Show the last rotator azimuth angle
  rotator <command>    - Send <command> to the Solar Panel rotator
  update <slave>       - Go into pass-through mode to <slave> for firmware update
                         Type update with no argument for more help
  kick                 - Reset all slave devices via a hard reset

Note the option to send the rotator direct commands too.