山姆的編程實作分享。。。

Sam Blog, Sam Sharing, Sam Studio

2019年5月19日

Arduino Robot : First Try


有了3D列印機後, 就想來嘗試做一隻機器人玩玩, 於是選擇OTTO這隻關節少的Robot來做個初體驗, 看看能不能在做好後, 拍幾集教學影片😀

立馬選擇OTTO v7版本列印出所有零件, 如下圖
疊疊樂, 看起來就很漂亮, 威風了吧!


接著開始組裝電子零組件, 這時發現
1. 這間隙也太大了, 鬆垮垮的 (紅色圈圈處)
2. 原設計只鎖一根螺絲 (黃色箭頭處), 也太不靠普了吧

這樣的組裝結構, 我自己都不滿意了, 怎麼推廣呢~
於是, 我決定停下腳步, 另尋方案~


2019年5月17日

Python 讀書筆記 (1) : What is Anaconda / Jupyter Notebbok


現在才學Python會不會太晚 ? Anyway, 活到老學到老嘛, 撩落去啦~

透過Google大神的幫忙, 從Python 開發環境的安裝, Hello World 的程式,
以及到多種 IDE 開發環境嘗試,  起手是算是練起來!
而最終我的開發環境選擇了 Visual studio Code 以及 Anaconda / Jupyter Notebook

選擇 Visual studio Code 是因為他是我熟悉且慣用的Editor, 並且她的專案管理及IntelliCode功能 非常好用.
而選擇 Anaconda  / Jupyter Notebook  則是因為她有虛擬的開發環境管理功能, 可以透過他來客製化自己開發環境, 進而清楚的知道自己的程式用了哪些packages及版本; 另外一個選擇他的原因是我想用Python來做數據分析 😀

到這階段(起手式), 來小記一下, 順便分享~

1. Visual studio code  大家應該再熟悉不過了, 我就不再多做解釋. 開發環境安裝可以參考
Getting Started with Python in VS Code

2. 至於甚麼是 Jupyter Notebook 以及 Anaconda ?
以下分享兩篇中文介紹好文給大家, 相信你看完就了解甚麼是 Jupyter Notebook 以及 Anaconda了.
Anaconda介紹及安裝教學
Jupyter Notebook介紹

3. Jupyter 操作說明可以參考這篇
Jupyter Notebook操作介紹

2019年5月15日

分享3D STL 檔案 : Nano+擴充板 保護底座


從 Fusion 360 轉換跑道到 Blender, 還真花了不少工夫 😅 還好有YouTube 大師們的分享影片, 讓我從中摸索出些門道 😀

我轉換跑道的原因是 " Why I change from Fusion 360 to Blender "

底下是用 Blender 畫出來的草圖


這個case是用來保護  Arduino Nano 結合擴充板的保護底座, 以免擴充板背面不小心短路損毀,
透過 Cura 4.0 轉出來STL檔案可在下面連接取得

底下這張照片是透過FLUX列印出來的成品, 內部上下有4個卡鉤用來卡住PCB板,
所以拆裝時要有個傾斜角.

和 "Nano + 擴充板" 結合的樣子

PS: 電源接口處有些微干涉, 我是用小刀處理掉!

2019年5月13日

Why I change from Fusion 360 to Blender


對一位 EE 背景的創客來說, 3D design 絕對是全新的領域, 在網路上搜尋及觀看影片後, 覺得Fusion 360 最容易上手, 且它內建好多 "一鍵完成" 功能, 如圓角, 導角, 所以就申請了帳號然後下載來使用, 一切如我預期的, 不到3天的時間, 我用Fusion 360劃出了 ESP8266 保護殼且用FLUX Delta 列印出來
分享3D STL 檔案 : ESP8266 WiFi 擴充板保護殼

以這樣的開發速度真的令我滿意, 但這設計過程中一直有無法開啟Fusion 360的現象, Windows 及 Macbook 都會如此; 但這無法開啟應用程式的問題又Always 發生在傍晚後, 是因為我是使用trial version? 傍晚後就因為優先權就被犧牲??? ( 這是我猜的)

就在我設計好 Nano 控制板的 case 且存好檔後, 隔天登入竟然沒有Nano 的設計檔案, 當場令我傻眼..., 常在需要它時又開啟不了應用程式再加上檔案不見, 讓我決定要來轉換跑道了, 換Blender 上路了!

2019年5月10日

Shipping a Linux Kernel with Windows


前不久我才自己打開Windows 10 在 build 14393 後新釋放的一個新功能 - WSL (Windows Subsystem for Linux), 然後嘗試這個新功能, 並且發文 (It's time to use Linux / Ubuntu by using Windows Subsystem) 鼓勵大家使用; 而這個新功能打開後, 使用者還必須自己去安裝 Linux kernel, 但在 May 6th這個時間點, Microsoft devblog 釋出以下的訊息

訊息連結 : Shipping a Linux Kernel with Windows
也就說, 再不久, Windows 10 就 build-in Linux Kernel, 我們真的可以擺脫 VM 或雙系統了😃

事實上, 從 Stack overflow 的9萬份的市調, 可以看到 Linux 已經是developer 心中開發平台的首選了, 姑且不論Microsoft 此舉是力挽狂瀾 ? 或順應潮流 ? 但這做法是我們期待的, 畢竟 Windows 是我們熟悉的, 日常的工作也都是在Windows 環境下.

Linux and Windows are the most common platforms

2019年5月9日

Google Flutter is ready for iOS, Android, Desktop (Mac, Linux, and Windows) and embedded devices, like Raspberry


才在3天前 PO 文 ( 還在猶豫要不要跳入 Dart / Flutter ? ) , 建議大家可以開始研究一下 Flutter SDK,
就在昨天的 Google IO 2019的大會上, Google 更強化Flutter SDK了 / 或稱更接近他之前訂下的目標了 - Beyond Mobile (超越行動裝置)



底下是Google IO 2019 開發者大會針對 Flutter 的介紹
Developer Keynote (Google I/O '19) (Flutter 的Keynote 在55分鐘處)
Beyond Mobile: Building Flutter Apps for iOS, Android, Chrome OS, and Web (Google I/O'19)

在這段Google Flutter 介紹影片中, 可以看到Google 在 Dart / Flutter的努力, 你是否也隱約嗅到Google 為下一代Android OS催生而努力呢?

但至少我已經看到了 single Flutter codebase 現在不只是可以build出 iOS 和 Android app 而已, 還可build 出可以在desktop PC ( Mac, Linux, Windows) 上跑的app了, 甚至下一階段的 Embedded device - Raspberry...

所以, 想寫App 的你, 不要猶豫了, 可以一頭栽進去了😀




2019年5月8日

Anki is no longer manufacturing robots



看到這篇報導真令人傷感 😨
設計這麼優良的玩具機器人竟然也撐不下去, 還想買台來研究說...
The once-hot robotics startup Anki is shutting down after raising more than $200 million

這也間接的告訴我們, 機器人的研發不能只靠單項 "使人快樂" 而存活下來,
未來的機器人還必須具備 "幫助人類”這個因子,進而產生" 依賴” , 例如: 醫療, 家居照護...等等. 這樣產品週期才會長。

2019年5月7日

分享3D STL 檔案 : ESP8266 WiFi 擴充板保護殼


終於有了3D 列印機了😄,  一開始是列印玩家分享的一些3D模型來練練基本功及熟悉 FLUX 的脾氣, 再來, 當然就是自己設計3D模型 ~

底下這個是使用Fusion 360 軟體設計出來的3D模型,

這個case是用來保護 ESP8266 WiFi 模組, 以免模組背面不小心短路損毀,
透過 Cura 4.0 轉出來STL檔案可在下面連接取得
ESP8266 保護殼 STL 檔案

底下這張照片是透過FLUX列印出來的成品, 內部上下有4個卡鉤用來卡住PCB板,
所以拆裝時要有個傾斜角.

和ESP8266模組結合的樣子

2019年5月6日

Arduino 教學影片


還在猶豫要不要跳入 Dart / Flutter ?



還在猶豫要不要跳入 Dart / Flutter ? 底下這篇文章或許可以幫你做出決定

Why you should use Google Flutter ?

以我個人使用過後的感想是 "值得投資".

原因如下:

1. 文章中的 "Fast development", "Flexible UI".... 等等的這些制式優點我就不再論述了.

2. Hot Reload 真的很酷,  不僅僅是在PC Emulator端可以做到Hot Reload, 連實機的debug都可做到, 這對工程師而言真的是一項開發福音. (PS: 事實上, iOS app的開發, 在Swift導入的同時也就一併提供這項功能.)

3. Performance / Speed: 從目前丟出來的一些數據真的不差, 代表它體質好!

4. Flutter is Free. 這項對大眾真的有感. 要做到 single codebase 可以build出 iOS 和 Android app, Flutter 並不是首例, 但是加上 "Free" 就真的是一項創舉了, 這對平台的推廣真的是一項大助力, 這也是我看好它會成功的原因之一, 畢竟Google 推的東西並不是樣樣成功😁.

5. Flutter is open source framework. 這項對個體戶而言就幫助不大了, 畢竟Resource有限, Resource要花在刀口上; 但就研發團隊而言就是另一項助力了. 因為受制於3rd party (=黑盒子)一直是軟體開發的一個痛, 而時效, 差異化往往又是產品成敗的關鍵. 所以對講求開發時程以及製作差異化的研發團隊而言open source 就是很大的優點. 想必這open source 的做法也是Google針對平台的推廣拉攏公司團隊下的一步棋.

一項產品的成功與否, 不是產品本身要好就可以了, 在我看來Flutter本身是一個很好又有潛力的開發平台, 它已具備成功的基因, 再加上 "Free" 以及 " Open Source" 這兩項因素, 個人認為它至少會是下一個Android App 共同開發平台,  所以我給它 "值得投資"的評語, 也因此我在年初也跳入 Flutter 開發行列, 你呢 ?

熱門文章