iAstroHub is:
- the world's first mobile astrophotography solution. A user can interact with all astrophotography devices from any mobile device using a web browser.
- developed by Anat Ruangrassamee, Ph.D., Bangkok Thailand. (aruangra at yahoo dot com)
How does iAstroHub work?
- iAstroHub is installed on MK808 (or RK3066 device)
- Astrophotograpy devices are connected to the MK808.
- iAstroHub will function as a web server with all engines running in background.
- A mobile phone or tablet can connect to iAstroHub directly. Control of all devices is done via a web browser.
Supported devices.
1. Autoguider: Orion Starshoot autoguider, QHY5, QHY5-II, QHY5L-II, QHY6
2. DSLR
3. CCD: QHY5,6,8,8L,9,11,12
4. Filter wheel: Starlight Xpress
5. Focuser: Robofocus
6. Flat fielder: Flip-Flat
5. USB serial adapter (PL2303-based) for controlling a mount via a serial port. I recommend ATEN UC232A.
6. Powered USB hub
7. TRONSMART MK808 (with RK901 wifi) or MK808B (with RK903 wifi). I got it from geekbuying.com. Or any RK3066 mini PC stick + an external Ralink5370 usb wifi adapter.
8. Class-10 micro SD card (at least 8GB).
Features
- only need a web browser on a mobile device to control everything! ( "i" stands for internet)
- control Orion Starshoot autoguider, QHY5, QHY5-II, QHY5L-II, or QHY6 for autoguiding using customized Linguider engine
- control a DSLR camera (tested on Canon and Nikon DSLR cameras)
- control DSLR setting and Liveview from DslrDashboard on Android
- support DSLR Mirror Lock-Up using DSUSB
- control QHY5,6,8,8L,9,11,12 for imaging using OpenSkyImager engine
- control a Starlight Xpress filter wheel
- control a Robofocus focuser
- autofocus by finding best focus point from V-curve
- control Flip-Flat for flat-fielder and lens cover
- show real-time guiding error graphs and alert logs
- preview images taken by a camera
- perform dithering between frames
- manipulate histogram of images from a CCD camera
- assist polar alignment
- perform plate-solving using the standalone Astrometry.net engine
- re-align mount based on the position from plate solving
- show skychart and control mount from built-in Skychart (Cartes du Ciel)
- show a plate-solving result directly in Skysafari and re-align the mount from Skysafari
- support the control of a mount from Skysafari on iOS and Android
- save all images on a USB flash drive
- support an external Ralink5370 wifi usb adapter for any RK3066 device
****************** EASY WAY: TO USE PRE-BUILT IMAGE *************************
Step-by-Step Guide to setup and use iAstroHub
1) Download the complete iAstroHub image (2.3GB) from:
https://drive.google.com/file/d/0B3RSuv91xWggdUp6VzRjUVJwQ2M/edit?usp=sharing
and uncompress the file.
2) Write the image to a micro SD card (at least 8GB)
For Win: http://sourceforge.net/projects/win32diskimager/
3) Now you need to make the MK808 boot Linux in the micro SD card directly instead of Android. This process is called "Flashing Kernel".
3.1) Download the Linux kernel image from:
https://drive.google.com/file/d/0B3RSuv91xWggTGFWZ05xeEZYTm8/edit?usp=sharing
3.2) Download RKAndroidTools v1.35 and the Finless ROM from:
http://www.freaktab.com/showthread.php?3207-MK808-Finless-1-6-Custom-ROM
3.3) Unzip the Finless ROM and follow the instruction to install the device driver.
3.4) Run RKandroidTools
3.4.1) Erase IDB
3.4.2) Leave all checks as default but replace the recovery image with the new "Kernel_iAstroHub_MK808.img" by clicking the rightmost column.
3.4.3) Flash ROM
3.5) Then the device will boot to Linux
3.6) Unplug the device.
4) Insert the micro SD card and supply the power. The device will boot to Linux. And iAstroHub is available for you.
5) MK808 can be accessed from Wifi. You will see iAstroHub as an access point. The password is "1234512345123"
6) Open a web browser and go to http://10.0.0.1/. You will see the iAstroHub web interface.
7) Configure Linguider
7.1) Click "Admin" on the main page and Click "Start Apps" on the Admin page.
7.2) Click "Start VNC Server"
7.3) Use a VNC client program (for example tightvnc client) on your PC to connect to iAstroHub at 10.0.0.1 Port 5900 (or 5901). You will see Linguider interface.
7.4) Setup your autoguider device and guider scope.
Setup > Guider Setup > Device
Setup > Guider Setup > Frame
Setup > Guider Setup > Focal length. (If you prefer the unit of the guiding error as Pixel instead of Arcsec, input the focal length = pixel size (um) x 206.27)
Setup > Drive Setup > Device
Setup > Settings > Check "drift data" (Make sure that it is checked)
Processing > Calibration > Check "two axis" and "auto mode" (Make sure that it is checked)
7.5) Exit Linguider in order to save the configuration file.
7.6) Click "Stop Apps"
7.7) Click "Start Apps". You will see that Linguider connects to your autoguider.
7.8) The configuration for Linguider is completed. You do not have to do this configuration again.
8) Upload plate solving index files
8.1) Index files are needed to use the plate-solving feature. Download the index files from:
http://data.astrometry.net/4200/
You need only some of them. Read the instruction in
http://astrometry.net/doc/readme.html
From my experience, if the image scale is above 40-50 arcsecs, I can get the solution within 30 sec when using the files: 4206 - 4209.
8.2) Upload the index files to iAstroHub using an SFTP client. I recommend the SSH, SFTP and X client program called MobaXterm from http://mobaxterm.mobatek.net/
Use the command: ssh -l root 10.0.0.1
The username is "root"
and the password is "ubuntu"
Upload FITS files to /usr/local/astrometry/data/
8.3) You can speed up the computation by specify "Minimum FOV" in the Admin page. Try 1.0 deg first.
9) Customize the skyset file for SkySafari.
Plate-solving results can be shown on Skysafari. iAstroHub automatically "cooks" your SkySafari setting file (.skyset).
9.1) Save and email the Skysafari setting file to your email. And download it to your PC.
9.2) Rename the skyset file as "setting.skyset"
9.3) Upload the file to /home/pi/www/
Skysafari can connect to iAstroHub at Port 3300, IP 10.0.0.1.
This video shows how iAstroHub works with Skysafari. I hope you like it:
http://www.youtube.com/watch?v=2kYv98nKM8w
10) You can shutdown iAstroHub from the Admin page.
--------------------------------------
Now, iAstroHub is ready to control astrophotography devices from your tablet.
Next time you boot MK808, just click "Start Apps" to start using it.
To start autoguiding:
1. Goto Admin, Press "Start Apps"
2. On the main page, you can set the RA DEC gain. (set 0 when doing the drift alignment, and set about 100 when guiding)
3. Press "Manual" to open a star finder page. Press "Auto" to choose a star automatically.
4. On the star finder page, you can choose a star by dragging the star you want and release your finger. The position is registered when dragging stops. Then press "Set position"
5. Back to the main page, press "Calibration" and then "autoguide"
Please see how to use iAstroHub from
http://www.youtube.com/watch?v=Sncd3j8ipBQ
I think you understand how the interface works. The detailed instruction will come soon.
******************* HARD WAY: TO BUILD THE PACKAGE *************************
1. install Ubuntu prealpha 0.3
http://www.slatedroid.com/topic/41654-pre-alpha-03-ubuntu-linux-for-mk802-iii-ug802-mk808-ug007-imito-mx1/
format as ext4 and named as "linuxroot"
AS ROOT...
tar xf linuxroot-0.3.tar.gz
cp -a * /media/linuxroot/.
There is only one user:
user ubuntu
password ubuntu
2. Set Date
sudo date +%Y%m%d -s 20140420
3. sudo visudo
*** add this in the bottom line ****
ALL ALL=(ALL) NOPASSWD: ALL
"Ctrl-k + x" to save and exit
4. Change root password
sudo passwd
Input password: ubuntu
5. sudo apt-get update
6. sudo apt-get upgrade
7. sudo apt-get install nano aptitude gcc g++ make usbutils bc wget build-essential
8. Webserver
sudo mkdir /home/pi
sudo mkdir /home/pi/www
sudo chmod 777 /home/pi/www -R
sudo apt-get install nginx php5-fpm php5-cgi php5-cli php5-common
sudo nano /etc/nginx/sites-enabled/default
root /home/pi/www;
index index.html index.htm;
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
# NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
# With php5-cgi alone:
fastcgi_pass 127.0.0.1:9000;
# # With php5-fpm:
# fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}
sudo nano /etc/php5/fpm/pool.d/www.conf
; The address on which to accept FastCGI requests.
; Valid syntaxes are:
; 'ip.add.re.ss:port' - to listen on a TCP socket to a specific address on
; a specific port;
; 'port' - to listen on a TCP socket to all addresses on a
; specific port;
; '/path/to/unix/socket' - to listen on a unix socket.
; Note: This value is mandatory.
;listen = /var/run/php5-fpm.sock
listen = 127.0.0.1:9000
sudo service php5-fpm restart
sudo service nginx restart
nano /etc/rc.local
sudo mkdir /var/log/nginx
sudo service nginx restart
9. gphoto2
sudo apt-get install subversion dh-autoreconf libusb-dev libusb-1.0-0-dev libexif-dev libpopt-dev libfuse-dev mono-devel monodoc-base libmono-2.0.1 mono-gmcs python-pyrex libglib2.0-dev
sudo mkdir /home/pi/gphoto
cd /home/pi/gphoto
svn checkout https://gphoto.svn.sourceforge.net/svnroot/gphoto/trunk/gphoto-suite
cd gphoto-suite/src/
rm -Rf gphoto2
rm -Rf libgphoto2
wget http://sourceforge.net/projects/gphoto/files/gphoto/2.5.4/gphoto2-2.5.4.tar.gz
wget http://sourceforge.net/projects/gphoto/files/libgphoto/2.5.4/libgphoto2-2.5.4.tar.gz
tar xvf gphoto2-2.5.4.tar.gz
tar xvf libgphoto2-2.5.4.tar.gz
mv gphoto2-2.5.4 gphoto2
mv libgphoto2-2.5.4 libgphoto2
cd ../..
autoreconf -vis gphoto-suite
mkdir gphoto-suite-build
cd gphoto-suite-build
../gphoto-suite/configure --prefix=/usr
make
make install
10. Lin_guider
sudo apt-get install libusb-1.0-0-dev libqt4-dev libftdi-dev fxload
sudo tar -xvf lin_guider-2.10.0.tar.bz2
**************** copy modified files.
cd lin_guider_pack/lin_guider/
sudo ./configure
sudo make
************* SETUP **********************
Setup > Guider Setup > Device
Setup > Guider Setup > Frame
Setup > Guider Setup > Focal length
Setup > Drive Setup > Device
Setup > Settings > Check "drift data"
Processing > Calibration > Check "two axis" and "auto mode"
11. Install firmware
sudo dpkg -i firmware-ccd_1.1_all.deb
12. xvfb and vnc
sudo apt-get install xvfb x11vnc xfonts-cyrillic xfonts-75dpi xfonts-scalable
13. Astrometry
sudo apt-get install python-dev python-pip
pip install pyephem
sudo apt-get install python-pyfits
python -c "import pyfits"
sudo apt-get install libcairo2-dev libnetpbm10-dev netpbm libpng12-dev libjpeg-dev python-numpy zlib1g-dev
sudo wget http://www.astrometry.net/downloads/astrometry.net-0.40.tar.bz2
sudo tar xjf astrometry.net-0.40.tar.bz2
**************** copy modified files.
cd astrometry.net-0.40
sudo make
sudo make install
sudo make install-indexes
14. Skychart
sudo apt-get install fpc
wget http://sourceforge.net/projects/lazarus/files/Lazarus%20Zip%20_%20GZip/Lazarus%201.0.4/lazarus-1.0.4-1.tar.gz
sudo tar -zxvf lazarus-1.0.4-1.tar.gz
cd lazarus
sudo make clean all
sudo ./lazarus
Click...Start IDE, Ignore
Menu>Package>Install/Uninstall Packages
Install the components Printer4Lazarus and TurboPowerIPro
Click...save and rebuild IDE
wait until the program is restarted. Then quit.
wget https://sourceforge.net/projects/skychart/files/1-%20cdc-skychart/version_3.8/skychart-3.8-2450-src.tar.bz2
sudo tar -xvf skychart-3.8-2450-src.tar.bz2
sudo mkdir /home/pi/skychart-3.8-2450-src/skychart/component/lib/arm-linux-gtk2
sudo mkdir /home/pi/skychart-3.8-2450-src/skychart/units/arm-linux-gtk2
sudo mkdir /home/pi/skychart-3.8-2450-src/varobs/units/arm-linux-gtk2
cd /home/pi/skychart-3.8-2450-src/
sudo ./configure fpc=/usr/lib/fpc/2.6.0 lazarus=/home/pi/lazarus prefix=/usr/local
sudo make
sudo make install
sudo ldconfig
sudo make install_data
sudo make install_cat1
sudo make install_cat2
sudo make install_pict
************* SETUP **********************
skychart
Setup > Observatory
Setup > Chart, coordinate > check Equatorial, Apparent
Setup > Catalog > Check "Tycho 2"
Setup > Display > uncheck finders, show labels, show mark index.
15. TCP to Serial
sudo apt-get install ser2net
sudo nano /etc/ser2net.conf
3300:raw:0:/dev/ttyUSB0:9600 NONE 1STOPBIT 8DATABITS
sudo /etc/init.d/ser2net restart
16. ddserver
sudo apt-get install git libusb-1.0-0-dev
git clone git://github.com/hubaiz/DslrDashboardServer
cd DslrDashboardServer/src
g++ -Wall main.cpp communicator.cpp -I/usr/include/libusb-1.0/ -L/usr/lib /usr/lib/arm-linux-gnueabihf/libusb-1.0.a -lpthread -lrt -lstdc++ -o ddserver
chmod +x ddserver
cp ddserver /home/pi/www/.
17. CCD control by OpenSkyImager
REFERENCE: https://github.com/OpenSkyProject/OpenSkyImager
sudo apt-get install libgtk2.0-dev libcfitsio3-dev
unzip OpenSkyImager-master.zip
cd OpenSkyImager-master
make GTK_VERSION=2
cp gtk2Imager gtkImager
cd ..
mv OpenSkyImager-master osi
cd osi
./gtkImager
apt-get install imagemagick
18. apt-get install gparted
19. Set CPU
sudo apt-get install cpufrequtils
nano /etc/rc.local
******* ADD *******
cpufreq-set -g userspace
cpufreq-set -u 1200000
cpufreq-set -d 252000
20. sudo nano /etc/rc.local
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
echo " " > /etc/udev/rules.d/70-persistent-net.rules
depmod -a
modprobe bcm40181
cpufreq-set -g userspace
cpufreq-set -u 1200000
cpufreq-set -d 252000
# Disable screen blanking:
echo 0 > /sys/class/graphics/fb0/blank
sudo mkdir /var/log/nginx
sudo service nginx restart
date +%Y%m%d -s "20140422"
sudo echo "0 " > /home/pi/www/hist_L.txt
sudo echo "65535 " > /home/pi/www/hist_U.txt
sudo echo " " > /home/pi/www/image.txt
sudo echo " " > /home/pi/www/photo.txt
Xvfb :1 -screen 0 800x600x16 -ac &
perl /home/pi/www/event_monitor3.pl &
Xvfb :2 -screen 0 800x600x16 -ac &
file="/home/pi/www/status_guiding"
if [ -f "$file" ]; then
sudo rm /home/pi/www/status_guiding
fi
file="/home/pi/www/status_capture"
if [ -f "$file" ]; then
sudo rm /home/pi/www/status_capture
fi
file="/home/pi/www/status_ccd"
if [ -f "$file" ]; then
sudo rm /home/pi/www/status_ccd
fi
file="/home/pi/www/status_dslr"
if [ -f "$file" ]; then
sudo rm /home/pi/www/status_dslr
fi
file="/home/pi/www/status_loading"
if [ -f "$file" ]; then
sudo rm /home/pi/www/status_loading
fi
sudo /home/pi/www/./monitor_camera > /dev/null 2>&1 &
sudo ifconfig eth0 down
sudo ifconfig eth0 10.0.0.1 netmask 255.255.255.0 up
sudo service hostapd restart
sudo service dnsmasq restart
exit 0
21. Wifi
copy all modules and flash kernel...
sudo depmod -a
sudo modprobe bcm40181
lsmod
22. Setup AP
sudo apt-get install iw hostapd dnsmasq
sudo nano /etc/default/hostapd
******* ADD *******
DAEMON_CONF="/etc/hostapd/hostapd.conf"
sudo nano /etc/hostapd/hostapd.conf
******* ADD *******
interface=eth0
driver=nl80211
channel=7
hw_mode=g
macaddr_acl=0
ignore_broadcast_ssid=0
auth_algs=1
wep_default_key=0
wep_key0="1234512345123"
ssid=iAstroHub
sudo nano /etc/dnsmasq.conf
******* ADD *******
interface=eth0
dhcp-range=10.0.0.2,10.0.0.5,255.255.255.0,12h
sudo ifconfig eth0 down
sudo ifconfig eth0 10.0.0.1 netmask 255.255.255.0 up
sudo service hostapd restart
sudo service dnsmasq restart
23. HID Devices: DSUSB and SX Filer Wheel
REFERENCE:
http://www.signal11.us/oss/hidapi/
https://github.com/signal11/hidapi
sudo apt-get install libudev-dev libusb-1.0-0-dev
sudo apt-get install autotools-dev autoconf automake libtool
nano /etc/udev/rules.d/99-hiddevice.rules
# SX Filer Wheel
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1278", ATTRS{idProduct}=="0920", MODE="0666"
# DSUSB USB Shutter Control Adapter
SUBSYSTEMS=="usb", ATTRS{idVendor}=="134A", ATTRS{idProduct}=="9021", MODE="0666"
root@rk3066dev:/home/pi/hidapi-master/libusb# nano ../hidtest/hidtest.cpp
root@rk3066dev:/home/pi/hidapi-master/libusb# make clean all -f Makefile-manual
24. libftdi
REFERENCE: http://www.intra2net.com/en/developer/libftdi/index.php
sudo apt-get install cmake
wget http://www.intra2net.com/en/developer/libftdi/download/libftdi1-1.1.tar.bz2
tar xvf libftdi1-1.1.tar.bz2
cd libftdi1-1.1
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX="/usr" ../
make
sudo make install
root@rk3066dev:/home/pi/libftdi1-1.1/build/examples# gcc open.c -o open -lftdi