创客常常要干的事情都是从无到有,都将经历一个从创意、草图到模型、实体,而后电子电路开发、软件设计、做品集成这样一个完整的过程,才能将最初的创意实现出来,这里收集的软件包括:一、二维设计,二、三维设计与数字建模,三、3D打印控制软件,四、GIS地图与空间数据处理,五、机器人操做系统,六、开源硬件平台与软件工具集。这些工具基本可以知足准专业级别的软硬件融合的智能产品开发的须要,并且是彻底免费、开源的。
html
最近作的一些东西,用到不少工具,有时候虚拟机出问题须要重装,消耗大量的时间。之前还有一些版本不太兼容,就放到了多个虚拟机里,但使用起来仍是不方便,就产生了一个想法,把各类经常使用的工具放到一个操做系统的版本之中,作一个专用的操做系统版本。使用UbuntuKylin15.04,立刻开干。java
涉及到的软件所有为开源软件,包括二维设计、三维设计、3D打印、GIS、机器人操做系统等等。安装过程以下(工程浩大,一步步验证,遇到问题会把攻略记录下来,供你们参考):python
这个主要作前期创意的记录和草图绘制。
linux
# sudo add-apt-repository ppa:inkscape.dev/stable sudo apt-get install inkscape
媲美PhotoShop的开源影像处理软件。须要拍一些照片,通过处理,激发灵感。就是这个了。
git
#www.gimp.org sudo apt-get install gimp
专业级的摄影后处理工具。在http://www.darktable.org/
github
#DarkTable wget https://github.com/darktable-org/darktable/releases/download/release-1.6.7/darktable-1.6.7.tar.xz tar -vxf darktable-1.6.7.tar.xz cd darktable-1.6.7 ./build.sh
编译中发现缺乏XSLT和LENFUN的支持,使用sudo synaptic进去,搜索安装xlst-java和liblenfun-dev等库,再次运行build.sh便可。以下:web
须要安装: openjdk-8-jre,xslt,lenfun,librsvg2-dev,libgphoto2-dev,libexiv2-dev lcms2,库里没找到,要到 ./configure make sudo make install 其它须要源码的,能够照猫画虎。
能够经过脚本进行模型的构建,很是方便构建三维原型。能够快速转为STL,经过3D打印机呈现出来。
sql
#OpenSCAD,http://www.openscad.org/
shell
sudo add-apt-repository ppa:openscad/releases sudo apt-get install openscad
完成设计模型的精细修改,制做动画,演示做品的特征等。编程
能够用Python脚原本自动化和编写插件,开源多平台支持,强悍无比。
#Blender, #下载 wget http://ftp.nluug.nl/pub/graphics/blender/release/Blender2.75/blender-2.75a-linux-glibc211-x86_64.tar.bz2 tar -vxf blender-2.75a-linux-glibc211-x86_64.tar.bz2 cd blender-2.75a-linux-glibc211-x86_64 #运行,这个是绿色软件,下载完能够直接运行,不需安装。 blender
控制3D打印机的输出过程,以及实现打印前的一些处理,如放缩、旋转等等。
#Cura,https://ultimaker.com/en/products/cura-software # #下完了,直接安装便可。
将地图、影像、DEM等数据抓取下来,与做品融合在一块儿,或者从中获取创意灵感。
#QGIS, #安装须要的依赖软件,这个是大块头。GIS就这么复杂,没办法!要想简单用SuperMap。 sudo apt-get install bison cmake doxygen flex git graphviz grass-dev libexpat1-dev libfcgi-dev libgdal-dev libgeos-dev libgsl0-dev libopenscenegraph-dev libosgearth-dev libpq-dev libproj-dev libqscintilla2-dev libqt4-dev libqt4-opengl-dev libqt4-sql-sqlite libqtwebkit-dev libqwt5-qt4-dev libspatialindex-dev libspatialite-dev libsqlite3-dev lighttpd locales pkg-config poppler-utils pyqt4-dev-tools python-all python-all-dev python-pyspatialite python-qscintilla2 python-qt4 python-qt4-dev python-sip python-sip-dev qt4-doc-html spawn-fcgi txt2tags xauth xfonts-100dpi xfonts-75dpi xfonts-base xfonts-scalable xvfb cmake-curses-gui
进行安装:
#sudo gedit /etc/apt/sources.list #编辑软件源列表,而后加入下面两行: #系统版本 #sudo add-apt-repository 'deb http://qgis.org/debian vivid main' #sudo add-apt-repository 'deb-src http://qgis.org/debian vivid main' #安装最新版本 sudo add-apt-repository 'deb http://ppa.launchpad.net/ubuntugis/ubuntugis-unstable/ubuntu vivid main' #注意:vivid是Ubuntu15.04的版本号代码,若是是其它的,需相应修改。 #而后,加入源的认证码: gpg --keyserver keyserver.ubuntu.com --recv DD45F6C3 gpg --export --armor DD45F6C3 | sudo apt-key add - #最后,执行安装操做。 sudo apt-get updatesudo apt-get install qgis python-qgis qgis-plugin-grass #大功告成,进控制台,运行之。 #qgis
这里主要考虑ROS,是源于斯坦福的一个项目,如今由OSRF(http://www.osrf.org,开源机器人基金会)管理,相关项目的有Gazebo(http://gazebosim.org/download)机器人仿真平台和原型机器人硬件(由项目贡献者建立的)。如今有不少专业的机器人企业已经加入该基金会和这个项目了,这也是目前惟一的一个作相似事情的项目。
ROS是嵌入到Robot的运行硬件中的支持软件。
#ROS, http://www.ros.org #加入软件源到系统软件仓库列表 sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list' #加入软件仓库的认证码 sudo apt-key adv --keyserver hkp://pool.sks-keyservers.net --recv-key 0xB01FA116 #执行软件仓库列表更新 sudo apt-get update #安装所有桌面应用软件 sudo apt-get install ros-jade-desktop-full #安装依赖的软件部件 sudo rosdep initrosdep update echo "source /opt/ros/jade/setup.bash" >> ~/.bashrc source ~/.bashrc sudo apt-get install python-rosinstall
Gazebo是用于Robot的设计和仿真的。与ROS之间是开发平台和运行时的关系。
wget http://osrf-distributions.s3.amazonaws.com/gazebo/gazebo5_install.sh sudo ./gazebo5_install.sh
运行:
gazebo
重量级一点的支持Android,如CubieBoard\香蕉派\Radxa\MTiles等等,足以构建一个低功耗的小型服务器。
稍轻一点的主要是支持Lubuntu及其衍生的操做系统如Raspberry等,最佳非树莓派莫属。
这两个都是能够运行原生的Linux应用的,固然Android要封装一下,Lubuntu就能够直接运行。QT能够做为一个很好的界面开发工具,再混搭HTML5,功能足够强悍。
移动端的混合编程框架使用Cordova,能够支持本地调用和HTML5的混合使用。能够编写一次,到多个移动OS上运行。
这两年智能路由器已经满天飞了,但你可能不知道,不管是小米仍是极路由,这里头基本上所有来自于一个叫OpenWRT(http://www.openwrt.org)的开源操做系统软件。国内有个WRTNode,是专门基于OpenWRT作智能路由器的开发板,如今还能够拿来控制机器人、无人机、小车模型等等,演示也是蛮炫的。WRTNode自带一个300M的WiFi数据链路,这个就秒杀了那些个小小的MCU了。
更小的传感器、机电控制类的最佳天然是Arduino,没有之一。从这里得到IDE:http://www.arduino.cc,这是各类如今流行的智能硬件的祖师爷了,即使不用,也须要去拜一拜,领会一下这些牛人的设计思想。
这两年作智能家居、传感器应用还有一个ESP8266的芯片,也很是火,是中国人搞的的,值得一试。这个芯片直接集成了WiFi功能,是今年MCU设计的最新趋势。ESP8266来自于xTensa这个知名的芯片设计团队的方案,在国内外大虾的努力下,已经搞定开源的固件开发环境了,并且一帮哥们还在上面搞了开发板和运行LUA的动态固件-NodeMCU。这里收集了不少基于ESP8266的固件项目:https://git.oschina.net/supergis/ESP8266App,也欢迎加入改进。
传奇的创客Anders和3DRobotic搞的,参考https://github.com/3drobotics。不要跟DJI去比,搭建开放平台、构建生态体系的和追求卖东西的数量最多的不是一路人,对不?能够直接git clone代码下来参考。