2019年11月10日 星期日

Python縮小執行檔



  • 緣由

    自己用Python的程式,當然沒問題。但是,在一個案子裏要把程式讓其他人使用,總不能讓他們先灌Python吧? 也就是說,最好就給他一個執行檔,打開就搞定了。
    需求就是從這來的。不過,自己Python的程度,算是比入門好一些些而已。因此,這事倒是花了些時間搞定。鑑於繁中的分享不多,就來做個分享文吧。開始囉。


  • 困擾是從好用的Anaconda來的

    開始學Python時,用的書推薦使用Anaconda,自己也就從這軟體開始。Anaconda真的是一個很好用的Python套件。灌完後,該有的模組,大概都有了。而且,模組列得清清楚楚,不必什麼事都進到命令視窗去處理。加上,本身又有Spyder做為開發的圖形介面。誠心奉上100個讚。
    只是,這次要把程式編譯成執行檔(.exe),卻是撞了牆。一個執行檔,編完後,是一個300MB的程式。打開這程式,要等個約莫一分鐘,程式才開始執行。經過這篇的說明,簡單說,如果要執行檔小,就不能用Anaconda啦。經過接下來的折騰,執行程式從300MB,變成5MB,結果令人很滿意的。


  • 痛苦重灌的過程

    移除Anaconda後,重新到Python網站下載最新版本。安裝完後,手動設定一下環境變數。接著開始更新一些東西。
命令:python -m pip install --upgrade pip setuptools
這一動問題不大,問題出在安裝matplotlib.
    用python畫一些工程圖,少不了matplotlib。不過,就是怎麼樣也安裝不成功,出了一堆error code。不過,基本上就是因為沒灌Visual studio。(其實,是不是真的需要,我也沒再驗證過。)
    不同python的版本,要安裝不同的visual studio版本。不過,現在Python 3.5以後的,安裝visual studio community 2015就可以了。不過,事情似乎沒這麼單純。因為default沒有灌VC++,因此,灌好了以後,要打開visual studio,開一個專案,然後,就會在這個過程中,安裝VC++,可參考這篇的做法喔。
    安裝完Visual studio,看來只是讓錯誤代碼,變成另一個。相信這結果,看倌們一定是不滿意的。


  • 救星Wheel的出現

    wheel檔,是有善心人士,把程式先編好。讓我們可以很容易的,去安裝這個程式。以matplotlib而言,可以到這邊來下載喔。配合不同的OS,會有不同的檔案。下載時,要看一下檔名喔。
    自己衝太前面了,灌了個Python 3.8,而這時Wheel的檔案,只支援python 3.6跟3.7。所以,只好把Python重新裝過。不過,這一下來就真的解決了問題。順利的縮小了執行檔。謝謝網路上眾多的善心人士的分享~



2019年9月18日 星期三

自製螢幕距離管家

  • 緣由:
    雖然近視的主因,是來自於看書。不過,對於我們家有個近視,還沒到戴眼鏡程度的小孩,暑假長時間看著電腦螢幕,還是很讓人擔心。剛好暑假正在玩Arduino的姐姐,自告奮勇說:「我來做一個偵測器,如果妹妹太靠近螢幕,就警告的東西。」
    在帶孩子們學習Arduino的過程,常常覺得,單純的學習,是件枯燥的事,多了這一個學習的目標,是很好的前進動機。於是,當爸的就來加碼:「做得出來,奉上獎金1千元。」
    「螢幕距離管家」的案子就算開始了。

  • 入手:
    資訊真的太發達了,主要的範例用法,都可以從書上或是網上找到。個人很推趙英傑的超圖解Arduino互動設計入門,圖文並茂,很容易懂。至於部落文,不時會找到葉難的,也推薦一下。
  • 架構拆解:
    螢幕距離管家,是一個很簡單的案子,就是一個測距離的,加上一個警示器。
    測距離,主要就是紅外線和超音波。經過一番測試比較,姐姐選了超音波測距。
    警示器,姐姐選了蜂鳴器。距離太近,就叫到妹妹受不了就是了。
    電子部份就這麼簡單,如果是熟手來做,應該一天就完工了。不過,對於從沒認真玩過Arduino的姐姐是花了一週。

  • 機構:
    一塊Arduino板子,加上一個超音波板子,再加上一個蜂鳴器,就可以變成可以用的「產品」了嗎? 顯然這些離離落落的東西,必然很快就被丟到垃圾桶的嘛。怎麼辦?
    做個「殼」給他就好了嘛~ 簡單。
    一句簡單,姐姐開始學Fusion 360。
    Fusion 360是Autodesk出的3D建模軟體,功能強大,而且,對學生和營業額不大的公司,是可以申請免費使用的。
    約莫過了2週,東西就完成囉~
(圖一:花了大約三週打造的螢幕距離管家)
  • 試用:

    姐姐真的把螢幕距離管家成品做出來,還是讓我們覺得不可思議,如同他六年級時做的畢業作品。
    但是,這個小黑盒怎麼跟螢幕結合呀? 看來,問題常常是在答案出來之後。
    經過一番的討論,最原本是要用3M的無痕雙面膠。很黏,只是,每次要修正程式,就要花2片的錢。所以,最後使用的是Faber-Castell的萬用黏土,這是個黏度還不錯,可重複用的黏土。

(圖二:螢幕距離管家,透過黏土貼在螢幕上)

    開始試用螢幕距離管家囉。~~沒多久,就開始看到問題了。

    包括:有時候該叫不叫;有時候不該叫卻在叫(我們家還有貓會去玩);黏土其實維持不了多久。

    總之,開始用沒多久,這管家就消失在螢幕前了。也不知道是妹妹把它收起來,還是,姐姐拿去改程式了。
    
  • 毛爸的加持:
    哎~ 為了寫這篇文,花了一天的時間,來加持一下。
    這次的加持解決2個問題。一個是跟螢幕的結合,另一個,是加上電池。為了不修改姐姐的原著,最後就變成這樣子囉。
    螢幕架除了穩定的把螢幕距離管家固定在螢幕前,還可以上下左右調整角度。嗯,這算是這陣子組鋼彈的另一個收獲喔~

(圖三:螢幕距離管家,加上電池架在螢幕前)

  • 後續:
    在寫這篇文前,妹妹就跟我說:「我現在有戴角膜塑形片了,已經不會再靠很近看電腦了,為什麼還要再改這個很吵的東西?」
    做產品這麼久了,常常看到產品常常就差一點點,就會變成好用。至於,沒變成好用的產品,最多就是在衝動消費後,被冰凍起來。
    想是這樣想,不過,回答的卻是:「我們要把一個東西做完整,事情不要做一半,沒做完是很可惜的。」


    雖然離產品還一點距離,不過,這個產品演進的過程,自己覺得價值就很足囉~ 

2019年8月28日 星期三

建立3D印表機的工作環境

    買進3D印表機剛好滿一個月。來分享一下,這一個月的心得。
    這一個月,自己從一個3D列印的白紙,累積了大概有100克列印的經驗。
第一個專案,做了一個簡單的案子(雖然,後來發現也有一些小know-how):開門燈。(目前完成90%,完成再另行分享。)
第二個應用的,希望以機構為主。因此,做了一個3D列印輔助燈架。建立起適合的3D列印的環境。今天,要來分享這個部份。
第三個應用,家裏的老大,做了一個螢幕上的測距儀。這個也之後再分享。
第四個應用,是一個走路測速的專案。這個就比較完整的案子,有機會再分享。
  • 3D印表機加上環境光    
    剛組好的印表機,是被塞在一個剛清出來的櫃子裏。這小小的印表機,原來是希望書桌的角落,就是maker的角落。不過,我的書桌實在塞不下。至於櫃子裏沒有燈,倒是容易處理,於是第一個加工就是幫這個環境打亮,不用每個開櫃子看狀況,都還要先找手電筒。
(幫在櫃子裏的3D印表機打燈囉。)
  • 3D印表機加上平面光
    打了燈的3D印表機,還是不夠。3D列印,最重要的關鍵,是一開始列印的第一層。第一層印得好,90%後面的問題就少。第一層印不好,再印也是浪費。而為環境打的燈,其實,是沒辦法讓第一層看得很清楚,不時還是要拿出超亮的手電筒打個燈。於是,設計了一個燈盒,配合最佳的打燈高度。讓列印的過程,都可以看得清清楚楚的。這小小的盒子,結合了燈光和收納,用一般品質列印,需要超過14個小時。所以,我只敢選擇用快速模式印,也印了8個多小時。
(製作燈盒,列印頭下,可以看得更清楚)
  • 燈盒改善收納部份
    眼尖的人應該會發現,露出一點頭的口紅膠。其實,不只是口紅膠,連鑷子也不時會滑到盒子裏,很不容易拿。不過,要我再設計個內裏盒,又真的有點懶了。花在這個燈盒的時間太久了些。於是,先用厚紙,折一個小盒試試。效果還不錯。再試印一個小盒放口紅膠。於是,整個燈盒就變得很好收納囉。

(收納改善後的燈盒)

  • 空氣清淨機
    雖然買的3D線材(PLA材質),都說是安全的、環保的、無毒的、無臭的。不過,心裏還是很不放心,尤其,炎炎夏日冷氣房的通風也沒多好。經過一番考量,還是買了一個車用的小型空氣清淨機。這款清淨機,除了強調負離子、除臭味。對我比較有吸引力的,是他有HEPA。為了自己身體健康,還是不要用自己的肺來過濾吧。
(右邊像咖啡杯的是空氣清淨機喔!)
  • 加裝鏡子
    雖然和3D印表機,只隔了一片2公分的木板,不過,要不時起身看一下列印狀況,還是麻煩。為了解決自己的懶,於是,再加裝了一面鏡子。從坐著的電腦椅,就可以清楚的看到列印的狀況囉!!



  • 小結
    為了要讓3D印表機,有一個好的工作環境。從組裝完後,已經進行了5次的改善:加環境燈、加平台燈、改善平台燈的收納、增加空氣清淨機、和加貼鏡子。小小的工作環境,就有很多可以改善的點,不論簡單或複雜,就一項項的完成。好像,過去談產品迭代也是這樣喔~
    如果,真要再改善,也許,建立恆溫環境、加入Camera,再加上緊急停止鍵。就更完美了。(不過,這三個都不簡單就是了。)


  • 關於

    從第一個3D列印殼,至今也快一年了。有意思的事,總是會有續文的。

2019年7月28日 星期日

環島前後的單車水岸

  為了做環島的熱身,在環島前一週,全家從大稻埕碼頭,騎到淡水,再騎回大稻埕碼頭。(上右圖)
  經過環島的洗禮,休息兩週後,同樣的路線,再騎一次,不過,這次因為時間上的限制到竹圍就騎回頭了。(上左圖)

  同樣的路徑,不同的心境。

  第一次騎,沿途大概休息了5次,騎得有氣無力,唉唉叫的。勉為其難的騎到淡水,可是要用盡辦法,有吃的有喝的激勵大家。還好,淡水捷運不能上腳踏車,否則,孩子們是不可能再騎的。騎回頭時,只能連拐帶騙的,一下忘了要在捷運站停車,一下不小心衝過頭,騎過了回程的一半,孩子們才比較驚覺,快騎到了。老實說,用這樣的騎車水準去環島,應該算是「憨膽」吧。

  環島後就沒什麼好說的了。環島的過程,一般都是15~25公里休息一次,大概就是每小時休息個10分鐘的概念。所以,一趟19公里,無異議的打算一次騎到底再休息。不過,四個人的速度,已經分成兩段了,領先群不時要停下來等一下。後來姐姐算了算時間,發現再騎下去,來不及去上數學課。才在竹圍就回頭了。(唉,後來數學課還是沒上到~)


    有環島經驗做基礎,好像整個人升了好幾級。不再為了區區幾公里,吵吵鬧鬧。 秋天之後,應該更能享受單車破風的快感囉~

第一次的BodyPump體驗


    有同事很熱衷BodyCombat,自己對這倒是興趣缺缺。環島時,遇到一個BodyPump的教練,點起了試看看的火苗。

    看WorldGym的課程裏有,就去體驗體驗了。

    跟第一次參加這裏的瑜珈一樣,走進去不知道要怎麼辦。連誰是老師,也不知道。還好,這次遇到一個好心人,告訴我要準備哪些東西,以及一般男生的負重。

    不過,第一次就是第一次。事情就是會朝著失控的方向去的。

    一個小時的BodyPump大約是10首歌左右。不同的歌,就會練不同的部位。對我而言,最困難的是,我的節奏永遠跟大家不同。只好,不斷注意其他人的動作。不過,遇到練臥推就麻煩了,天花板什麼都沒有,歪著頭可是超難做臥推的。

    有幾個動作,是自己很不熟的。終究自己過去練壺鈴多,練槓鈴少。練下半身多,練上半身少。盡量跟著跟著,找時間再偷減些重量,還是避不了一些手部動作,跟本就做不滿……二頭就真的沒力了呀。

    一次的BodyPump後座力超強大。大腿的肌肉,比單車環島時還要酸。2隻手幾乎伸不直,二頭酸,三頭也酸。即使按摩把它鬆開,沒個幾分鐘,又回到肌肉緊縮的狀態。這狀況從週三早上做完,一直維持到週六,差不多4個整天。


    原來,我的身體這麼欠訓練呀~ 下週再來囉。

2019年7月27日 星期六

單車環島之感謝文




    身為一個軟腳蝦,在出發單車環島前,完全沒想過,可以完騎900公里。

    怎麼說是軟腳蝦?在4年半前,因為帶了一整天的活動,結束後膝蓋痛到走樓梯都有問題。疼痛維持了超過3個月。找過骨科醫師、復健科醫師,打過玻尿酸,做過鞋墊,效果都很有限。約莫有2,3年的時間,是過著平時生活無虞,但是,不敢做膝蓋負擔太重的運動,跑步是,單車也不能騎太遠。
    
    能夠完成單車環台一圈,首先要謝我的爸媽,讓我身上流著農夫的血。這身體被不當使用了這麼多年,還是好用的身體。環島前,最大的騎乘距離,是42公里,通常,騎完後是要廢掉整個週末休息。這樣的準備竟然可以完成每天騎100公里,而且連續騎了9天。

    另一個要大大感謝的,是瑞稞適能中心,利用2個月的時間,安排訓練計畫。每週一次的一對一訓練,加上自己課後在家的練習,讓自己的腿力大進步和臀力大覺醒。最後一堂課,負責人Ray還特別教我一些放鬆肌肉的方法,並且帶我感受騎車時,用臀大肌出力,和股四頭肌出力的差別。2年前開始去健身房,其實,也是瑞稞給的建議。真的是大感謝。健身一年,覺得進步很多,參看健身一年記。不過,健身兩年,更有感想,單車環島可算是其中之一的成果。

    能騎完不得不推一下,舒迷車坊陳大哥。陳大哥專業的bike fitting,讓我這個菜鳥不用透過自己的身體去找到適合自己身體的單車結構。這是有點偷懶,好像是偷偷讓人輸了好幾年功力一樣,不過,對我這個中年大叔來說,身體禁不起長途錯誤使用,bike fitting是十分建議的專業捷徑。如果,踩一下可以前進3公尺,這環島一圈,就是踩了30萬下,如果,姿勢不佳,對膝蓋可是很大的負擔。經過bike fitting,需要擔心的就剩核心肌力訓練不足,果不其然,這一圈最痛的是手;第二痛是屁股。訓練不足還算是明顯啦。

    騎完是一回事。能開開心心的騎完,就不得不感謝超級數字力的團隊。MJ老師可是全家出動,號召團員,規畫整個活動,讓我們有VVIP級的活動體驗。不時還會有熱情的支持者,招待當地名產,列隊歡呼,甚至,還有貼扎大師,幫忙貼札。一整個feeling so good.
    
    不只開心騎完,完整的後勤支援,才能讓整個騎的過程,順暢又安全,這就要感謝捷安特旅行社。從領騎、標兵、維修、食物與水的補給,都很完善。我們只需要把精神放在騎乘上面,專心當個九天全職單車手。

    最後,感謝太座大人,安排了這個全家的活動。一個活動,讓全家都變成單車咖,無限個讚。

     

2019年6月19日 星期三

高希鈞老師的課_活動? 運動?

  承貓老師的邀請,來參加一堂健身入門課。這陣子,除了要解決膝痛的問題開始的重訓,同時也是為了暑假要單車環島而重訓;再加上,在學校和同學組了一個肌力訓練的創業題目。對於重訓的原理和過程,相當有興趣,並且,也實際的去體驗和練習。
  這堂課,把很多重要的概念,有系統的、有體驗的跑過一次。

  關於活動與運動

  基本上是強度上的差別。所以,跟專業度不見得有很大的關係喔。所以,對於我們這些肉腳而言,不用妄自菲薄,從好的姿勢做起吧。

四步驟的進化

穩定之後活動,練習控制,最後才是負重。
聽不懂? 其實,我跟教練1對1的練了約莫2個月,幾乎都是在練「穩定」。要喚醒很多休眠許久的肌肉。而這些肌肉,都是影響平衡、穩定,和姿勢正確的關鍵喔。
  今天講的從穩定做起,是有打到我喔~

動態伸展

  在活動的狀態下做伸展。和靜態伸展最大的不同,是動態伸展會讓溫度上升,這樣會讓肌肉準備好接下來的運動。接下來Bruce就帶了一系列的動態伸展動作,這一切,都是在前面講的"穩定"的基礎上喔。

動作一:狗狗抓頭皮丟一邊

  這動作,左右邊都要做喔。要鬆開肩胛骨喔。


動作二:隻手遮天

重點:手掌推,往上/下延伸。腳要踩穩。

做完一腳,再換一邊。 

動作三:祈雨

膝蓋可微彎

一樣要換腳做喔。





動作四:蹺腳蹲

屁股到頭頂,是拉高拉直的喔。(身體不要彎)
蹺的腳記得腳尖要勾一下喔。這樣才拉得到,屁股的肌肉。

動作五:頂鞋觸地

重點:膝蓋不能彎喔!! 一樣要換手。

動作六:雲門舞鞋


重點:腳踩穩,腳不要彎來彎去喔




人體七大動作


今天,也做了棒式,重點是要手肘要推,腳要頂。
做了伏地挺身,胸有頂到地的喔!! 一做,就知道核心是不是穩定喔。

不要只有hold住喔,要推。 
還有深蹲,腳掌在那個方向,膝蓋就走那個方向
還有硬舉
還有,還有,一天上了這麼多,就算是沒有負重,也是好累囉。

  再次謝謝高希均老師還有貓老師~