創客常常要乾的事情都是從無到有,都將經歷一個從創意、草圖到模型、實體,而後電子電路開發、軟件設計、做品集成這樣一個完整的過程,才能將最初的創意實現出來,這裏收集的軟件包括:一、二維設計,二、三維設計與數字建模,三、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代碼下來參考。