Outline認識RaspberryPi嵌入式作業系統建置UbuntuMateRaspbianWindows10IOTCoreRpiLinux基礎指令設計樹莓派的初衷談起為何要開發RaspberryPi,EbenUpton表示以前在劍橋大學負責招募業務時,有感於大學生想要主修資訊工程的人數越來越少了,另外招募來的學生技能也每下愈況。明明資訊科技越來越發達,怎麼很多人會的電腦技能只有寫出簡單的HTML網頁。EbenUpton推測是聲光效果更好的遊戲器和個人電腦普及的關係,隨著8位元和16位元電腦被時間淘汱。現在個人電腦不是那麼方便用來寫程式,很難理解電腦運作的原理。學校體系裡資訊教育著重在教應用軟體像是Word以及Excel,還有撰寫網頁,也導致人們離操縱電腦越來越遠。2007年時Upton想要開始開發新的設備,這種新的設備能方便人操作電腦。樹莓派的設計理念EbenUpton夢想的新設備,需要有四項標準:能夠支援程式設計,而且越多種語言越好能引起小孩的興趣,能支援遊戲和影音播放夠精巧能讓小孩帶去學校價格便宜,因此定價25美元樹莓派命名的由來:一來是為了向以蔬果命名的公司致敬,如蘋果電腦等公司,而Pi則來自程式語言Python。CPU架構CPU:BroadcomBCM28364核心900MHzCortex-A7架構ARMv7指令集SDRAM:1Gb(LPDDR2)450MHzGPU:BroadcomVideoCoreIV支援OpenGLES2.0支援1080P底板架構USB:4個USB2.0影像輸入:15pinMIPI相機(CSI)介面影像輸出:RCA端子(PAL&NTSC)、HDMI介面音源輸入:I²S音源輸出:3.5mm插孔、HDMI電子輸出或I²S記憶卡:MicroSD網路:10/100RJ45介面GPIO:14個GPIO及HAT規格鋪設主要目標1.嵌入式系統軟體開發。2.價格低廉、體積小、省電,多種作業系統支援。3.使用者不需要具備專業的硬體架構或程式語言知識,即可著手進行開發。RaspberryPi作業系統介紹Step1選擇作業系統1.至選擇欲安裝的作業系統並下載Step2安裝記憶卡燒錄軟體1.至下載並安裝Step3燒錄記憶卡1.解壓縮於樹莓派官方網站所下載之作業系統壓縮檔,可以得到一個副檔名為.img的映象檔。2.開啟Win32DiskImager選取該映象檔之路徑,插入記憶卡使Win32DiskImager讀到記憶卡後,按下Write開始燒錄。↑1.按此選取映象檔存放位置↓2.確認是否以讀取記憶卡↑3.確認目前所選取的映象檔↓4.按此開始進行燒錄↓5.確定格式化該記憶卡Step4安裝作業系統1.將SD卡放入樹莓派主板中並開機。2.隨後即可看到4棵樹莓在螢幕左上方。3.安裝完成後即可看到UbuntuMATE開機畫面。Step5設定作業系統1.設定系統語言。2.設定地區。3.設定鍵盤形式。4.設定使用者。Step6擴大磁區空間1.以Ctrl+Alt+T開啟終端機。2.使用sudofdisk/dev/mmcblk0指令進入fdisk。3.按d再按2刪除分割區。4.之後再n再按p再enter再enter把磁區建回來,最後按w儲存。5.再使用sudoresize2fs/dev/mmcblk0p2指令把SD卡的分割磁區填滿。↑1.進入fdisk←2.按d並選擇刪除第2磁區←3.建立一個新的磁區↓3.都按Enter使用預設空間大小←4.按w儲存←5.把SD卡的分割磁區填滿Step7更新作業系統1.使用sudoapt-getupdate指令取得遠端更新伺服器的套件檔案清單。2.使用sudoapt-get-ydist-upgrade指令更新套件。3.使用sudoapt-getclean指令清除更新時所下載回來的更新(安裝)檔案。編譯C語言1.新增一個空白文件,附檔名為.c。2.編撰C語言程式碼。3.使用sudoapt-getinstallgcc指令下載編譯器。4.切換至該文件所存放之目錄下。5.使用gcc-g-Wall檔名.c-o檔名指令編譯該文件。6.使用./檔名指令執行該程式碼。↑1.安裝gcc編譯器↓2.編譯程式碼↑3.執行程式碼↑執行結果編譯C++語言1.新增一個空白文件,附檔名為.cpp。2.編撰C++語言程式碼。3.使用sudoapt-getinstallg++指令下載編譯器。4.切換至該文件所存放之目錄下。5.使用g++檔名.cpp-o檔名-Wall指令編譯該文件。6.使用./檔名指令執行該程式碼。↑1.安裝g++編譯器↓2.編譯程式碼↑3.執行程式碼↑執行結果編譯ARM組合語言1.撰寫ARM組合語言程式碼(檔名.s)2.使用as-o檔名.o檔名.s指令邊譯該程式碼3.使用gcc-o檔名檔名.o指令製作程式的執行檔4.使用./檔名;echo$?指令執行該程式碼Step1選擇作業系統1.至選擇欲安裝的作業系統並下載↓按此下載Step2安裝記憶卡燒錄軟體1.至下載並安裝Step3燒錄記憶卡1.解壓縮於樹莓派官方網站所下載之作業系統壓縮檔,可以得到一個副檔名為.img的映象檔。2.開啟Win32DiskImager選取該映象檔之路徑,插入記憶卡使Win32DiskImager讀到記憶卡後,按下Write開始燒錄。↑1.按此選取映象檔存放位置↓2.確認是否以讀取記憶卡↑3.確認目前所選取的映象檔↓4.按此開始進行燒錄↓5.確定格式化該記憶卡燒錄中…Step4安裝作業系統1.將SD卡放入樹莓派主板中並開機。2.隨後即可看到4棵樹莓在螢幕左上方。3.安裝完成後即可看到Raspbian開機畫面。4.預設帳號:pi預設密碼:raspberry。Step5擴大磁區空間1.開啟終端機。2.使用sudoraspi-config指令進入Raspbian核心管理程式。3.選擇ExpandFilesystem。選擇ExpandFilesystemStep6更新作業系統1.使用sudoapt-getupdate指令取得遠端更新伺服器的套件檔案清單。2.使用sudoapt-get-ydist-upgrade指令更新套件。3.使用sudoapt-getclean指令清除更新時所下載回來的更新(安裝)檔案。Mathematica與WolframLanguageMathematica是由英國科學家StephenWolfram開發的一款廣泛使用的科學計算軟體。它擁有強大的數值計算和符號運算能力。WolframLanguage是用於Mathematica的程式語言。這種語言覆蓋範圍非常全面和廣泛,並且可以用於解決大量專業領域的問題。例如,它的內置函數可用於生成和運行圖靈機、創建圖形和音頻、分析三維模型、求解微分方程。為了方便用戶使用,還提供了豐富的文件資料。關於PythonPython是一種物件導向、直譯式的電腦程式語言,具有近二十年的發展歷史。它包含了一組功能完備的標準函式庫,能夠輕鬆完成很多常見的任務。它的語法簡單,與其它大多數程式設計語言使用大括弧不一樣,它使用縮進(Tab)來定義語句塊。Python支援命令式程式設計、物件導向程式設計、函式程式設計、觀點導向程式設計、泛型程式設計等多種程式設計。編譯Python1.新增一個空白文件,副檔名須為.py。2.在這個文件中編撰程式碼。3.開啟終端機,並切換至該文件所放置的目錄下。4.輸入python檔名.py指令即可編譯該程式碼。↑開啟終端機Step1選擇主板類型1.至選擇欲安裝作業系統的主板類型並下載↑點此連結↑點此進行下一步↑點此進入下載頁面↓點此開始下載Win10IOTCoreRPiStep2安裝Win10IOTCore1.雙擊先前下載的iso檔(Win10新設計,不須額外安裝其他工具即可開啟iso檔)。2.雙擊裡面所含的執行檔,立即開始安裝。看到此畫面代表您已完成完整的安裝程序Step3燒錄記憶卡1.至C:\ProgramFiles(x86)\MicrosoftIoT開啟IoTCoreImageHelper記憶卡燒錄軟體。2.插入記憶卡,並確認記憶卡燒錄軟體以讀取該記憶卡資訊,隨後在記憶卡燒錄軟體中點選欲進行燒錄之記憶卡。3.選取欲燒錄檔案之路徑(C:\ProgramFiles(x86)\MicrosoftIoT\FFU\RaspberryPi2),並且開始進行燒錄。↑1.點選欲進行燒錄的記憶卡↑2.點此選取欲燒錄檔案之路徑↑開始進行燒錄燒錄中…燒錄完成,即可看到此畫面Step4安裝作業系統1.將SD卡放入樹莓派主板中並開機。2.安裝完成後即可看到Windows10IOT開機畫面。使用者與群組User(使用者):目前開啟作業系統的人Group(群組):目前開啟作業系統的人所隸屬的群體Others(其他):非目前開啟作業系統的人或群體檔案類型與權限第一格:[d]=目錄[-]=檔案[l]=連結檔(linkfile)[b]=可供儲存的周邊設備(可隨機存取裝置);[c]=序列埠設備,例如鍵盤、滑鼠(一次性讀取裝置)。第一到九格(以三格為一組):組合方式均為rwx。[r]=可讀(read)[w]=可寫(write)[x]=可執行(execute)。[-]=沒有權限。第一組為『檔案擁有者可具備的權限』第二組為『加入此群組之帳號的權限』第三組為『非本人且沒有加入本群組之其他帳號的權限』檔案屬性使用超級使用者身分,並以ls–al指令查看:第一欄:這個檔案的類型與權限(permission)第二欄:有多少檔名連結到此節點(i-node)第三欄:這個檔案(或目錄)的『擁有者帳號』第四欄:這個檔案的所屬群組第五欄:這個檔案的容量大小,預設單位為bytes第六欄:這個檔案的建檔日期或者是最近的修改日期第七欄:這個檔案的檔名目錄配置根據FilesystemHierarchyStandard(FHS)標準來制定:可分享的:可以分享給其他系統使用的目錄,所以包括執行檔與使用者的郵件等資料,是能夠分享給網路上其他主機使用的目錄;不可分享的:自己機器上面運作的裝置檔案或者是與程序有關的檔案等,由於僅與自身機器有關,所以當然就不適合分享給其他主機了。不變的:有些資料是不會經常變動的。例如函式庫、文件說明檔、系統管理員所管理的主機服務設定檔等等;可變動的:經常改變的資料,例如登錄檔、一般用戶可自行收受的新聞群組等。主要制定範圍:/(root,根目錄):開機系統相關。/usr:軟體安裝/執行相關。/var:系統運作過程相關。根目錄的子目錄FHS定義根目錄所需具備的子目錄:/bin:存放執行檔。例:ls、mv、rm、mkdir、rmdir。/boot:存放核心與開機檔。例:開機選單(grub)。/dev:存放周邊設備與裝置。例:隨身碟(usb)、記憶卡(SDCard)。/etc:存放系統主要的設定檔。例:帳號密碼、服務啟始檔。/lib:存放開機時會用到的函式庫。/media:存放可移除的裝置。例:光碟機(CD-Rom)。/mnt:用途與media目錄相同,後用來執行media下所存放的裝置。/opt:存放第三方軟體。例:KDE(桌面管理系統)。/run:存放開機後所產生的各項資訊。/sbin:存放開機、