从同事处拿到一架纯手动的反射式天文望远镜,花了若干月的时间将其改造为可远程控制的自动望远镜。以下为改造攻略:
硬件:
无线网卡 Edimax EW-7811Un 150 Mbps Wireless 11n Nano Size USB Adapter x1
摄像头电缆 [url=http://www.ebay.co.uk/itm/AlienSpec-CSI-DSI-Camera-Ribbon-Cable-5cm-10cm-15cm-20cm-30cm-for-Raspberry-Pi-/121051772597?ssPageName=ADME
:OC:CA:3160]AlienSpec CSI DSI Camera Ribbon Cable[/url] 75cm x1
齿轮带 Timing Belt - 2mm 齿间距 - 6mm宽 - 1.164m长 x1
小齿轮 Timing Pulley - 6mm宽 x1
马达
联轴器 Flex Shaft Coupler - 5mm to 8mm x1
定制木盘一个用来做水平移动齿轮 x1
螺纹杆一支用于垂直移动控制 x1
马达支架Stepper Motor Mount with Hardware x2
接触传感器 Standalone Momentary Capacitive Touch Sensor Breakout x4
Raspberry Pi
GPIO接线器 Adafruit Assembled Pi Cobbler Breakout + Cable x1
面包板 Half-size breadboard x1
跳线 Premium Female/Female Jumper Wires 若干
细电线、钉子、螺丝、螺丝帽、橡皮筋、双面胶带、绳、固定胶带等
软件:
Raspbian Operating System(已配置好python开发环境、无线网卡、摄像头)
以下模块为配置python开发环境所用:
sudo apt-get install python-dev
sudo apt-get install python-smbus
sudo apt-get install python-rpi.gpio
sudo apt-get install python-picamera
sudo apt-get install python-imaging
sudo apt-get install arduino
以下模块为视频功能所需
Install ffmpeg
Install nodejs, ws (websocket), phoboslab/jsmpeg
以下模块不是必须,只是为方便开发而安装
sudo apt-get install tightvncserver
sudo apt-get install openjdk-6-jre
sudo apt-get install tree
sudo apt-get install github
工具:
项目蓝图:
实体图:
项目细节:
Raspberry Pi通过I2C接口控制步进马达,从而节省了占用的GPIO端口的数量
Raspberry Pi通过GPIO接受四个接触式传感器的状态,从而判断横向纵向移动是否到达极限
通过raspistill命令行定时获取摄像头截图。尝试用python picamera模块控制摄像头但发现该模块运行不稳定,易发生内存错误
通过设置/boot/config.txt中的disable_camera_led=1来关闭摄像头的LED灯
基于python BasicHttpServer的Web应用,提供Restful Webservice,同时用HTML5 Canvas+jQuery+css构建
体会:
双面胶是好东西
办事情要有条理,东西要分门别类放,不然会找不到
订制东西前一定要先计划好
今后的计划:
提高摄像头的解析度
Rpi firmware upgrade:
sudo rpi-update
raspistill -ss 2500000 -ISO 800 for night extra long exposure mode (2.5s)
精确定位
自动跟踪