打造一個創客專用的UbuntuKylin版本-UMaker
創客經常要干的事情都是從無到有,都將經歷一個從創意、草圖到模型、實體,然后電子電路開發、軟件設計、作品集成這樣一個完整的過程,才能將最初的創意實現出來,這里收集的軟件包括:1、二維設計,2、三維設計與數字建模,3、3D打印控制軟件,4、GIS地圖與空間數據處理,5、機器人操作系統,6、開源硬件平臺與軟件工具集。這些工具基本能夠滿足準專業級別的軟硬件融合的智能產品開發的需要,而且是完全免費、開源的。
最近做的一些東西,用到很多工具,有時候虛擬機出問題需要重裝,消耗大量的時間。以前還有一些版本不太兼容,就放到了多個虛擬機里,但使用起來還是不方便,就產生了一個想法,把各種常用的工具放到一個操作系統的版本之中,做一個專用的操作系統版本。使用UbuntuKylin15.04,馬上開干。
涉及到的軟件全部為開源軟件,包括二維設計、三維設計、3D打印、GIS、機器人操作系統等等。安裝過程如下(工程浩大,一步步驗證,遇到問題會把攻略記錄下來,供大家參考):
1、二維設計
1.1、Inkscape,矢量繪圖軟件
這個主要做前期創意的記錄和草圖繪制。
# sudo add-apt-repository ppa:inkscape.dev/stable sudo apt-get install inkscape
1.2、GIMP,影像處理軟件
媲美PhotoShop的開源影像處理軟件。需要拍一些照片,經過處理,激發靈感。就是這個了。
#www.gimp.org sudo apt-get install gimp
1.3、DarkTable,暗桌-攝影后處理軟件
專業級的攝影后處理工具。在http://www.darktable.org/
#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即可。如下:
需要安裝: openjdk-8-jre,xslt,lenfun,librsvg2-dev,libgphoto2-dev,libexiv2-dev lcms2,庫里沒找到,要到 ./configure make sudo make install 其它需要源碼的,可以照貓畫虎。
2、三維設計與數字建模
2.1、OpenSCAD,輕量而強大的模型構建工具
可以通過腳本進行模型的構建,非常方便構建三維原型。可以快速轉為STL,通過3D打印機呈現出來。
#OpenSCAD,http://www.openscad.org/
sudo add-apt-repository ppa:openscad/releases sudo apt-get install openscad
2.2、Blender,強大的交互建模與動畫制作軟件
完成設計模型的精細修改,制作動畫,演示作品的特征等。
可以用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
3、3D打印控制軟件
控制3D打印機的輸出過程,以及實現打印前的一些處理,如放縮、旋轉等等。
#Cura,https://ultimaker.com/en/products/cura-software # #下完了,直接安裝即可。
4、GIS地圖與空間數據處理
將地圖、影像、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
5、機器人操作系統
這里主要考慮ROS,是源于斯坦福的一個項目,現在由OSRF(http://www.osrf.org,開源機器人基金會)管理,相關項目的有Gazebo(http://gazebosim.org/download)機器人仿真平臺和原型機器人硬件(由項目貢獻者創建的)。現在有很多專業的機器人企業已經加入該基金會和這個項目了,這也是目前唯一的一個做類似事情的項目。
5.1 ROS安裝
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
5.2 Gazebo安裝
Gazebo是用于Robot的設計和仿真的。與ROS之間是開發平臺和運行時的關系。
wget http://osrf-distributions.s3.amazonaws.com/gazebo/gazebo5_install.sh sudo ./gazebo5_install.sh
運行:
gazebo
6、開源硬件平臺與軟件工具集
6.1 低功耗計算平臺
重量級一點的支持Android,如CubieBoard\香蕉派\Radxa\MTiles等等,足以構建一個低功耗的小型服務器。
稍輕一點的主要是支持Lubuntu及其衍生的操作系統如Raspberry等,最佳非樹莓派莫屬。
這兩個都是可以運行原生的Linux應用的,當然Android要封裝一下,Lubuntu就可以直接運行。QT可以作為一個很好的界面開發工具,再混搭HTML5,功能足夠強悍。
移動端的混合編程框架使用Cordova,可以支持本地調用和HTML5的混合使用。可以編寫一次,到多個移動OS上運行。
6.2 智能路由器平臺
這兩年智能路由器已經滿天飛了,但你可能不知道,無論是小米還是極路由,這里頭基本上全部來自于一個叫OpenWRT(http://www.openwrt.org)的開源操作系統軟件。國內有個WRTNode,是專門基于OpenWRT做智能路由器的開發板,現在還可以拿來控制機器人、無人機、小車模型等等,演示也是蠻炫的。WRTNode自帶一個300M的WiFi數據鏈路,這個就秒殺了那些個小小的MCU了。
6.3 Arduino開源電子平臺
更小的傳感器、機電控制類的最佳自然是Arduino,沒有之一。從這里獲得IDE:http://www.arduino.cc,這是各種現在流行的智能硬件的祖師爺了,即便不用,也需要去拜一拜,領會一下這些牛人的設計思想。
6.4 ESP8266無線微控制器平臺
這兩年做智能家居、傳感器應用還有一個ESP8266的芯片,也非常火,是中國人搞的的,值得一試。這個芯片直接集成了WiFi功能,是今年MCU設計的最新趨勢。ESP8266來自于xTensa這個知名的芯片設計團隊的方案,在國內外大蝦的努力下,已經搞定開源的固件開發環境了,而且一幫哥們還在上面搞了開發板和運行LUA的動態固件-NodeMCU。這里收集了很多基于ESP8266的固件項目:https://git.oschina.net/supergis/ESP8266App,也歡迎加入改進。
6.5 3DRobotics-無人機航模平臺
傳奇的創客Anders和3DRobotic搞的,參考https://github.com/3drobotics。不要跟DJI去比,搭建開放平臺、構建生態體系的和追求賣東西的數量最多的不是一路人,對不?可以直接git clone代碼下來參考。