Space Observatory System

The telescope can be controlled and viewed by anyone using just the internet as a resource.

Similar projects worth following
This project is an initiative for making students gain knowledge in astronomy, by conducting Sky Watching sessions by Web Casting the view of the sky. By developing an excellent database of stars and planets in the heavens, it can be made easy for the user to control and align the telescope just by spotting out the desired object of the sky displayed in his screen with just a mouse click. This project is a combination of works in with Python, R-Pi and MyRio, Telescope, stepper motors and relays.

Man had always tried conquering the universe and wants to explore the space beyond. His imagination combined with technology has made him possible reach frontiers. But lack of resources has not made every interested person to come up. So this idea is one of the results of wanting a solution to make the resources available as open source, where all classes of people can get befitted out of.

Telescopes are quite expensive. Not everybody interested to learn about astronomy could buy their own one. Especially students who are really passionate about space studies or those in need of telescopes for a particular assignment, cannot put a lot of money in buying a telescope.

This project, The Remote Observatory System is designed in such a way to help people (common men and student community) who are really passionate about doing space studies but cannot afford to buy a telescope.

The Remote Observatory System lets the user to take a look at the cosmos whenever he wishes to, not having to move to the place where telescope is placed. He/she can access the telescope and receive the view through it on his Personal Computer just by booking the required session over the website of The Remote Observatory System.

The telescope can be controlled and viewed by anyone using just the internet as a resource. This could make any one with having a PC and internet connection to control the orientation of the telescope and align it to the desired direction.

The user can thus view the sky and explore the universe, sitting inside his house on a pre-booked session, in comfort, without having to stand in queues especially during rare occasions such as an eclipse.

This project is an initiative for making students gain knowledge in astronomy, by conducting Sky Watching sessions by Web Casting the view of the sky. By developing a good database of stars and planets in the sky, it can be made easy for the user to control and align the telescope just by spotting out the desired object of the sky displayed in his screen with just a mouse click.

View all 6 components

  • 1
    Step 1


    To get started with Raspberry Pi one requires an operating system. RASPBIAN is an easy operating system install manager for the Raspberry Pi.


    Step 1: DOWNLOAD

    • Using a computer with an SD card reader, visit the Downloads page.
    • Click on the Download ZIP button under ‘RASPBIAN (offline and network install)’, and select a folder to save it to.
    • Extract the files from the zip.


    It is best to format your SD card before copying the RASPBIAN files onto it. To do this:

    • Visit the SD Association’s website and download SD Formatter 4.0 for either Windows or Mac.
    • Follow the instructions to install the software.
    • Insert your SD card into the computer or laptop’s SD card reader and make a note of the drive letter allocated to it, e.g. G:/
    • In SD Formatter, select the drive letter for your SD card and format it.


    • Once your SD card has been formatted, drag all the files in the extracted RASPBIAN folder and drop them onto the SD card drive.
    • The necessary files will then be transferred to your SD card.
    • When this process has finished, safely remove the SD card and insert it into your Raspberry Pi.

    Step 4: FIRST BOOT

    • Plug in your keyboard, mouse and monitor cables.
    • Now plug in the USB power cable to your Pi.
    • Your Raspberry Pi will boot, and a window will appear with a list of different operating systems that you can install. We recommend that you use Raspbian – tick the box next to Raspbian and click on Install.
    • Raspbian will then run through its installation process. Note this can take a while.
    • When the install process has completed, the Raspberry Pi configuration menu (raspi-config) will load. Here you are able to set the time and date for your region and enable a Raspberry Pi camera board, or even create users. You can exit this menu by using Tab on your keyboard to move to Finish.


    The default login for Raspbian is username pi with the password raspberry. Note you will not see any writing appear when you type the password. This is a security feature in Linux.

    To load the graphical user interface type startx.

    We can use the SSH protocol to access the raspberry terminal from any system. We can enable SSH in the raspberry pi by using the command,

    sudo raspi-config

    Enable or disable ssh server

    We can use putty for the remote interaction and also we can access the GUI of the LXDE desktop by enabling X11 forwarding and then we have to start the XMING. Now start putty where we enter the remote IP to start the session which will ask for the user name and password. After that the remote shell terminal will be opened. To access the GUI we have to use the command,

    Sudo startlxde

    Once the terminal is started, we can entirely control the raspberry pi using the putty. It is only possible in the internal network. But if we need to access the raspberry pi from the external network then we have to enable the port forwarding so that we can access it from anywhere.

    FIGURE 4.1.1 Port forwarding block diagram


    FIGURE 4.2.1 Putty window

    PUTTY is a light weight plug and play software which can be used to control shell using various protocols like ssh, serial, telnet, raw and rlogin. The communication between the end node and the computer will be encrypted using an ssh key. It uses an AES encryption standard. This is capable of working under a proxy protocols like http, https, socks4, socks5, squid.

  • 2
    Step 2


    On its own, Apache can serve HTML files over HTTP, and with additional modules can serve dynamic web pages using scripting languages such as PHP.

    --> sudo apt-get install apache2 -y
    --> cd/var/www/

    In this directory, the default webpage is added which is designed using bootstrap with file name as index.It can be seen by the command

    --> Sudo vim index.html
    Web camera configuration:
    -->sudo apt-get install motion
    -->sudo apt-get install libv4l-0
    -->sudo apt-get install uvccapture
    -->cd /etc/default/motion and set "start_motion_daemon" to yes
    -->cd /etc/motion/motion.conf with the following settings

    set "daemon on"
    set "pre_capture 2"
    set "post_capture 2"
    set "output_normal on"
    set "quality 100" 
    set "ffmpeg_cap_new on"
    set "ffmpeg_timelapse 30"
    set "ffmpeg_variable_bitrate 2"
    set "get_dir /media/webcam/motion"
    set "webcam_port 8080"
    set "control_port 8081"
    set "webcam_localhost off"
    set "width 640"
    set "height 480"
    give /media dir access rights
    --> sudo chmod 777/media

    Start motor with

    • sudo/etc/init.d/motion start
    • if you want to stop motion: sudo/etc/init.d/motion stop
    • check the browser if the picture is displayed: http://localhost:8081

    Pi Camera configuration

    Go to /usr/src/ and create a directory mjpeg-streamer there:


    --->sudo mkdir mjpg-streamer
    --->sudo chown ‘whoami’:users mjpg-streamer
    --->cd mjpg-streamer
    --->git clone


    --->apt-get install libv4l-dev libjpeg8-dev imagemagick build-essential cmake subversion
    --->cd mjpg-streamer-esperimental

    Now one should be set to start streaming the video. There are many options you can set. Here, we will do a simple example of streaming of 640×480 resolution video at 30 frames per second. If you lower the resolution, the latency will get smaller.

    --->export LD_LIBRARY-PATH=.
    --->./mjpg_streamer-o “ - ./www” –I “ –x 640 –y 480 –fps 20 –ex night”

    The export LD_LIBRARY_PATH variable sets the current directory as a path where programs should look for libraries. Our program uses and libararies found in the current directory, which is why we added that directory to LD_LIBRARY_PATH.

  • 3
    Step 3


    • Initially the user has to visit the website of the remote observatory system (as of now it cannot be accessed globally since we haven’t got patent.
    • Once done, it will be hosted to access website and motor control can be done using port forward technique) designed using bootstrap, where it includes all kind of datum such as booking the slots, research on astronomy, astro-photography and so.
    • From the booking session, user has to select the time slot and duration for the control of telescope. Once the user has selected the slot and made the payment had been done, user will receive the mail (using smtp) which has the time slot, user name, password created by the user during slot booking and the link of the control panel where all these functionalism are designed using php, CSS and HTML.
    • User can login at the slot time with clearance of 2 minutes. Once the user has logged in, he can control the telescope.


    • The server used for this project is apache2, which runs on raspberrypi.
    • Once the python program starts running in pi, it will create a connection with websocket through tornado port.
    As the user click on the control panel, server will fetch the respective values through the socket and process the values to rotate the motor, while pi will stream the camera data in continuous frame rates (30fps).

View all 3 instructions

Enjoy this project?



Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates