2015年5月19日 星期二

3D列印--MG966R伺服機支撐腳架

手上有好幾個 MG966R 的伺服機,設計伺服機固定腳架就可以用來製作控制機構

先在紙上打好草稿,然後到 SketchUp 製作3D圖檔

image

交給3D印表機列印(如下圖),
前幾次印出來的支架,實際安裝上馬達後,才發現尺寸不太合,又修修改改最後才成功
image

image

裝上MG966R 伺服機的樣子

image

3D列印--修理損壞的機車大燈開關

 

我的機車剛買沒多久就不小心倒地,結果把大燈開關給摔壞了(扭轉了快90度),只差一點點就身首異處,跑去機車行問問修理竟然要700元,
這也太離譜了吧,我說: [一個小塑膠開關賣50元都嫌貴了...  你們也好心點吧 ? ]
老闆解釋原因: [因為原廠將車子各部份功能模組化,所以雖然只有開關故障,也必須換掉整個模組….]
20150421_192032

clip_image002[6]

原來 [模組化] 的概念,是減輕了工廠的生產作業流程,但是對消費者而言,等於是要多花錢買沒有故障的零件,只為了幫助廠商節省庫存、人工成本。

[歸組換掉] 幾乎是大部分修車廠的標準答案,但是消費者權益又放在哪裡呢 ?

算了,不修了
為了賭一口氣,我有好長一段時間,是這樣開啟大燈開關的
20150421_192129

直到3D印表機出現~~~ 救星來了
缺開關嗎 ? 沒關係,自己畫自己印 !
clip_image002

印好的開關
image

裝到車上,剛剛好,麻麻麻,
沉痾多年的毛病終於修好了,爽 !!!
20150421_203017

2015年5月9日 星期六

使用Windows 7製作Windows 10 IoT core for Pi2的開機SD記憶卡


安裝WinRAR http://www.winrar.tw/ 找到之前下載回來的Windows10 檔案 => Windows10_InsiderPreview_x64_ZH-TW_10074.iso,使用WinRar 開啟它
clip_image002

切換到 source 子目錄裡面
image

扣除子目錄、以及install.win、boot.wim(如下圖紅線部分),把其他的檔案全部複製到硬碟中(例如 d:\iot)。
其實應該還有很多檔案都不用複製,有空的人再慢慢試看看吧。image

把稍早下載回來的 Windows_IoT_Core_RPI2_BUILD.zip 裡面的image 檔案 Flash.ffu,也複製到相同的子目錄(例如 D:\iot) 把SD記憶卡插入讀卡機內 以系統管理員身分開啟命令提示字元,輸入指令 list disk 找到SD記憶卡的磁碟編號(以下圖為例是2號)
image

接著再輸入指令如下,其中N要替換程SD記憶卡的磁碟機編號(本例N=2)

dism.exe /Apply-Image /ImageFile:flash.ffu /ApplyDrive:\\.\PhysicalDriveN /SkipPlatformCheck

稍等一下子就好了,把這片SD記憶卡插到Pi2就可以開機
[Screenshot%2520-%25202015_5_4%2520%252C%2520_U__%252007_38_52%255B3%255D.png]

2015年5月8日 星期五

安裝 Windows 10 IoT Core for Pi2—part 3

下載安裝 Visual Studio Community 2015 RC
https://dev.windows.com/en-US/downloads/install-dev-tools-visual-studio-2015

開始安裝的畫面,點選 Get the tools 就開始安裝了
image

開始安裝的畫面
image

安裝成功
image

接下來安裝 WindowsDeveloperProgramForIoT.msi
這個程式位於稍早下載的IoT for PI2 解壓縮的檔案 (例如 D:\iot\WindowsDeveloperProgramForIoT.msi
執行安裝程式畫面如下
clip_image002

clip_image004

安裝完畢後立即啟動 Windows IoT Core Watcher  image

實際上測試,Windows IoT Core Watcher  無法正常執行起來
因為這個程式的功能主要是搜尋控制板的IP位址
如果之前已經記下IP位址的話,沒有執行這個程式也沒差
或許之後更新版本,就會修正這個bug。

或是使用Advanced IP Scanner尋找區域網路內,Pi2控制板使用的IP位址,例如下圖顯示Pi2 (miniwinpc)使用的IP是 192.168.0.181
clip_image002[4]
Advanced IP Scanner 免費下載網址 http://www.advanced-ip-scanner.com/

 

 

使用VS 2015 RC實作 Hello World 程式

開啟 VS 2015 RC

clip_image002[6]

image

File -> New-> project 開啟新專案

clip_image002[8]

Install –> Templates –> Visual C# –> Windows –> Windows Universal –> Blank App (Windows Universal) Visual C# 

clip_image004[4]

開啟檔案MainPage.xaml ,捲到最下方找到以下程式片段<Grid   Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
   :
</Grid>

在中間加入以下內容,就會在畫面上加上一個textBox還有一個Button
<StackPanel HorizontalAlignment="Center" VerticalAlignment="Center">
<TextBox x:Name="HelloMessage" Text="Hello, World!" Margin="10" IsReadOnly="True"/>
<Button x:Name="ClickMe" Content="按我吧 Click Me!" Margin="10" HorizontalAlignment="Center"/>
</StackPanel>

加上程式如下圖
image

在"按我吧Click Me!" 按鈕上快按兩下,加入一行程式碼
    this.HelloMessage.Text = "歡迎來到 Windows IoT 的世界";

clip_image002[10]

點選F5本機測試,第一次編譯花很多時間,大概1~2分鐘,之後大概10秒 ,顯示如下執行畫面,若點選 "按我吧Click Me!" 按鈕,上方的textBox也會顯示訊息  "歡迎來到 Windows IoT 的世界"
image

改用遠端除錯測試,因為目的控制板是PI,所以要選擇ARM
image

Device 選擇 Remote Machine
image

設定如下,IP address 就是 PI2的IP位址
image

設定完畢後按下F5,或是點選Remote Machine,程式立即配送到遠端控制板PI2的記憶卡內,等一會兒就會開始執行
image

PI看到的畫面如下
image

以後若要本機測試,就選擇x86;
若要實際看PI2執行的效果。就選ARM

若要重新修改設定,滑鼠右鍵點選專案名稱 -> propertiesimage 

若無法連線PI2,啟動遠端除錯功能,這時候VS2015應該會顯示錯誤訊息 “Unable to connect to the Microsoft Visual Studio Remote Debugger named ‘XXXX’,代表PI2控制板上的遠端除錯程式沒有啟動,可以使用PowerShell連接到PI2控制板,使用tlist指令檢查msvsmon.exe程序是否已經執行(應該要有兩個正在執行中的preocess),若不明原因沒有執行,手動啟動的方法如下
    schtasks /run /tn StartMsvsmon

安裝 Windows 10 IoT Core for Pi2—part 2

 

使用剛才安裝好PC版本Win10 連線到PI2,(以下設定步驟使用實體PC+Win10,或是使用VMWare安裝Win10都測試成功)

在搜尋列輸入 powershell,搜尋到 PowerShell之後,以系統管理員身分執行
clip_image002

clip_image004

輸入指令 
net start WinRM
clip_image006

輸入指令  (指令最後面是剛才PI2控制板的 IP位址)
Set-Item WSMan:\localhost\Client\TrustedHosts -Value 192.168.0.181
clip_image008

輸入指令 
Enter-PsSession -ComputerName 192.168.0.181 -Credential 192.168.0.181\Administrator
clip_image010

以上三個指令整理如下,也可一次全部複製,貼上到powershell內連續執行

net start WinRM

Set-Item WSMan:\localhost\Client\TrustedHosts -Value 192.168.0.181

Enter-PsSession -ComputerName 192.168.0.181 -Credential 192.168.0.181\Administrator

 

輸入預設密碼 p@ssw0rd
clip_image012

大概等30~60秒看到遠端電腦回應,代表連線成功clip_image014

變更電腦主機名稱指令
Setcomputername <新的電腦名稱>
clip_image016

查看執行的process內容
tlist
clip_image018
(PS.很多指令都會有錯誤訊息,但是多試幾次仍然可以執行)

更新遠端PI2管理員的密碼
net user Administrator 1234
clip_image020

清除啟動程式的設定
schtasks /Delete /TN Microsoft\Windows\IoT\Startup /F
clip_image024

若要使用VS2015遠端除錯功能,必須在遠端PI2建立 VS RemoteDebugger,預設都會自動安裝,而且每次開機都會自動執行,可以使用tlist指令,查看目前執行程序,必須有兩個msvsmon.exe

輸入指令 tlist
image

若msvsmon沒有執行,手動啟動的方法如下
schtasks /run /tn StartMsvsmon

重新開機
shutdown /r /t 0
clip_image002[6]

立刻關機
shutdown /s /t 0
clip_image004[4]
但是PI2控制板關機後,還是會自動重開機, 微軟網站解釋是說: 這是PI2本身的限制,所以是正常現象 (??)

 

 

 

安裝 Windows 10 IoT Core for Pi2—part 1

 

安裝步驟有點囉嗦,我也不知道微軟幹嘛把簡單的事情搞得如此複雜,應該是要主推Win10 還有 Visual Studio 2015 吧,所以想玩 Win10 IoT 的人,都必須把這兩個軟體安裝起來。

安裝過程中,可能會要求建立帳號,請依照微軟網站顯示的畫面建立帳號

連線到微軟物連網站 https://dev.windows.com/en-US/iot
點選中間的 Get started now
image

接著選擇實驗板 => 也就是 Raspberry Pi2
Win10 也支援其他常見的控制板,有空再來試試
image

點選Pi2之後,出現安裝說明,主要有四大步驟,請依照步驟逐一完成
image
在步驟二,必須先準備好的東西:
1. 下載安裝Win10
2. 註冊一個帳號,以便下載 Win10 IoT Core 影像檔
3. 準備一塊Pi2控制板
4. 準備一個足瓦的電源供應器
5. 至少8GB Class10的micro SD記憶卡
6. 一條HDMI訊號線,連接到顯示器
7. 一條網路線

所以就先連線下載 Win10 吧
https://insider.windows.com/
image

image

 

image

image
image

下載回來得到一個3.8G 的檔案 => Windows10_InsiderPreview_x64_ZH-TW_10074.iso
接下來找台實體的電腦安裝,或是找VMPlayer安裝程虛擬機器也可以
(這兩種方法我都測試過,都可以使用)
(VMWare player 7.1.0 的下載位址 https://my.vmware.com/web/vmware/free#desktop_end_user_computing/vmware_player/7_0)

依照指示步驟,將Win10安裝完畢

啟動 Win10 畫面如下

clip_image002

接下來要下載Win10 IoT 的 image file
使用剛安裝好的 Win10,或是使用您熟悉的電腦(Win7, Win8.1)都可以
連線微軟物連網  https://connect.microsoft.com/
clip_image002[4]

這時需要申請一個帳號,申請到帳號後,重新登入網站 (https://connect.microsoft.com/windowsembeddedIot)

點選右側的 WINDOWS EMBEDDED PRE-RELEASE PROGRAMS ,接著點選下載
image

找到 4/29 這個版本,點選下載 (不過我想應該很快會推出新版本)
image
image

下載完畢,獲得一個壓縮檔案 Windows_IoT_Core_RPI2_BUILD.zip
解壓縮檔案到子目錄,例如 d:\iot,目錄裡面有四個檔案
clip_image002[6]

準備8G class10 SD記憶卡,接下來要複製image到SD記憶卡中
在VMWare 執行的 Win10 系統中,先在搜尋對話框內輸入cmd指令
找到命令提示字元後,在以系統管理員身分執行 cmd指令
clip_image002[8]
(PS: 其實也不一定要使用Win10來複製image檔案,也可以用Win7來做,但是多了一瀉步驟,有空再發文)

輸入指令 diskpart
> list disk
查詢記憶卡的磁碟代號 (例如下圖顯示 磁碟1)
image

切換到剛才放置解壓縮檔案的路徑內 (例如 d:\iot)

執行以下指令,並且把磁碟代號X設定成與稍早查詢的的磁碟代號相同(此例X要改成1)

D:\iot>dism.exe /Apply-Image /ImageFile:Flash.ffu /ApplyDrive:\\.\PhysicalDriveX /SkipPlatformCheck

clip_image002[10]

確定image寫入成功後,安全的將記憶卡退出
clip_image002[12]

把SD裝到PI2
接上HDMI、網路線、電源,立即開機 (下圖左上角的一堆電線並不需要連接,那是我實驗用的電線)
image

螢幕顯示開機畫面,記下IP位址 (例如 192.168.0.181)
image

點選畫面右上腳角的圖示image可以關機

點選畫面右下角的設定圖示image
可以使用滑鼠設定語系、時區
image

或是檢視網路設定
image
這個設定畫面很陽春,微軟應該會再持續修改

到此為止,控制板的image安裝完畢
再來就是要從PC端連線進來了

 

 


 

 

 

 


http://ms-iot.github.io/content/GetStarted.htm