古人智慧

Just Do it!
上士聞道,勤而行之;中士聞道,若存若亡;下士聞道,大笑之。不笑,不足以爲道。
~ 道德經 41

「實現夢想不是追逐成功,而是在於賦予生命意義,人生中的每個決定與聲音都有其重要含義。」"The key to realizing a dream is to focus not on success but on significance — and then even the small steps and little victories along your path will take on greater meaning."
電視名人-歐普拉·溫芙蕾(OPRAH WINFREY)

搜尋此網誌

Translation

2015年12月25日 星期五

Spider Robot open source心得

心中糾結好一段時間,Spider Robot是自己犧牲假日與休息時間一點一滴弄出來的作品,全公開?!!

開發Spider過程中使用的工具與設計都是Open source & Freeware,例如SketchUp、Cura、Prusa i3、Arduino、OpenSCAD、PyCharmCE等等,這也偉大開發者的心血。他們能做到,為何我不能?

當Spider初次亮相時,很多同好開始詢問取得設計的期望,這也讓我感受到對作品有極大的興趣,這也是驅動open的動力之一。

台灣下一代教育

觀察台灣教育,只能以“慘不忍睹”來形容~
小孩子只會用眼睛看書,拼命補習,然後應付考試,一堆不會唸書的小孩也進大學,然後翹課或在課堂上睡覺,學校招不到學生也就不敢執行嚴格的“當”~惡性循環~

大學時期,這精華時間混了4年,社會與企業招不到員工,動能緩下來,整個環境都緩下來,整個學生都浪費生命在補習與打混,這國家社會有可能進步? 真的好可怕!

很難想像台灣的未來!
口喊著“Maker DIY”,有用嗎?

DIY理念

有不少同好會覺得我為何用一些奇奇怪怪的材料應用在作品上,明明有的零件或材料還要自己DIY,認為有點像苦行憎的做法,甚至認為很辛苦或stupid。

是的,我最初衷的想法很簡單~
如果用最普通的零件或剩餘、過期的材料,可以把作品做出某程度的效果,那才是真正有成就感。

或許買貴一點、穩一點、小一點、速度快一點等等,可以讓作品更有效果與競爭力,但這些並不是我的選項。

個人認為,很多技術不論怎麼發展,其原理是相通的,如果可以從源頭了解更多,那發展出不同想法也不錯。而且,在這過程中,我體會到以前在工作或學習的時期並沒有注意到一些細節,這讓我更開心!!!

DIY的精神不僅僅只是把作品做出來,過程中解決問題的方法與態度才是真正的精髓!!

Anyway,我這就是奇怪的Maker~~~

Cyclone-PCB-Factory- PCB雕刻机[5/18] ﹣home sensor config and test

Homing的流程是很有趣的部份,GRBL提供了很方便的設定模式,直接在firmware設定:
在console的模式,透過uart直接下command,細節參考[這裡]

設定方法與流程:
1. 確定stop sensor:一般的機械式微動開關,$5=0,如果用IR紅外線sensor,設定$5=1
2. 打開homing cycle,$22=1

2015年12月20日 星期日

Cyclone-PCB-Factory- PCB雕刻机[4/18] ﹣make the print parts

Cyclone-PCB-Factory v2.2 下載 https://github.com/carlosgs/Cyclone-PCB-Factory/archive/v2.2.zip
本來以為直接下載STL來打印就可以搞定,結果印了幾個齒輪,發現齒輪的軸心孔和螺絲孔tolerance好大,check the file - configs/Default_config.h and found
// --- Tolerances ---
Y_threaded_rod_Tolerance = 0.5;
Y_linearBearing_pressureFitTolerance = 0.5;
PCB_holder_tolerance = 1;
axes_Xsmooth_separation_tolerance = 0.5;
X_threaded_rod_Tolerance = 0.5;
Z_linearBearingHole_tolerance = 0.25;
Z_radialBearingHole_tolerance = 0.25;
LinearBearingPressureFitTolerance = 0.4;
screwHoleTolerance = 0.4;
Z_threaded_rod_Tolerance = 0.5;

2015年12月18日 星期五

Cyclone-PCB-Factory- PCB雕刻机[3/18] ﹣Config GRBL

間隔了好一陣子沒進度了,正職有些事讓人煩心~
這段期間研究GBRL的source code,也越來越清楚如何“客製”這些GPIO pins。
因為PCB-CNCv1.0的layout做了些改變,必須修改Grbl的pin define。

 cpu_map_atmega328p.h:


#define X_STEP_BIT      3  // Uno Digital Pin 3
#define Y_STEP_BIT      4  // Uno Digital Pin 4
#define Z_STEP_BIT      6  // Uno Digital Pin 6
#define X_DIRECTION_BIT   2  // Uno Digital Pin 2
#define Y_DIRECTION_BIT   5  // Uno Digital Pin 5
#define Z_DIRECTION_BIT   7  // Uno Digital Pin 7
#define X_LIMIT_BIT      4  // Uno Digital Pin 12
#define Y_LIMIT_BIT      3  // Uno Digital Pin 11
#define Z_LIMIT_BIT      1  // Uno Digital Pin 9
//Regis
// Define probe switch input pin.
#define PROBE_DDR       DDRB
#define PROBE_PIN       PINB
#define PROBE_PORT      PORTB
#define PROBE_BIT       2  // Uno Digital Pin 10

在Auto probe的部份,我搞了好久才搞懂如何與bCNC做自動測距!我一直以為是Z軸的pin,原來還有一根probe來設定。
參考這篇:Connecting Grbl
https://github.com/grbl/grbl/wiki/Connecting-Grbl
然後,設定X/Y/Z軸的 步進數(步數/mm)
公式:步進數 = 360/步距角/螺距 x A4988微步細分 x 齒輪減速比

42步進電機:
步距角:1.8°
M8螺距:1.25mm
A4988: 16 step
X/Y軸 步進數 = 360/1.8/1.25 x 16 x (21/21) = 2560
Z軸 步進數 = 360/1.8/1.25 x 16 x (15/8) = 4800
有兩種方法:
修改defaults_generic.h
  #define DEFAULT_X_STEPS_PER_MM 2560
  #define DEFAULT_Y_STEPS_PER_MM 2560
  #define DEFAULT_Z_STEPS_PER_MM 4800
或者透過UART直接在GRBL firmware內設定:
  $100=2560
  $101=2560
  $102=4800
更多command參考:https://github.com/grbl/grbl/wiki/Configuring-Grbl-v0.9

全部設定:

$0=4 (step pulse, usec)
$1=25 (step idle delay, msec)
$2=0 (step port invert mask:00000000)
$3=3 (dir port invert mask:00000011)
$4=0 (step enable invert, bool)
$5=0 (limit pins invert, bool)
$6=0 (probe pin invert, bool)
$10=3 (status report mask:00000011)
$11=0.010 (junction deviation, mm)
$12=0.002 (arc tolerance, mm)
$13=0 (report inches, bool)
$20=1 (soft limits, bool)
$21=0 (hard limits, bool)
$22=1 (homing cycle, bool)
$23=3 (homing dir invert mask:00000011)
$24=30.000 (homing feed, mm/min)
$25=400.000 (homing seek, mm/min)
$26=25 (homing debounce, msec)
$27=1.500 (homing pull-off, mm)
$100=2560.000 (x, step/mm)
$101=2560.000 (y, step/mm)
$102=4800.000 (z, step/mm)
$110=400.000 (x max rate, mm/min)
$111=400.000 (y max rate, mm/min)
$112=400.000 (z max rate, mm/min)
$120=5.000 (x accel, mm/sec^2)
$121=5.000 (y accel, mm/sec^2)
$122=10.000 (z accel, mm/sec^2)
$130=160.000 (x max travel, mm)
$131=100.000 (y max travel, mm)
$132=33.000 (z max travel, mm)


現在PCB與firmware都差不多設定完成,列印件是個挑戰了,因為每一件都很大件,打印時間都要好幾個小時,尤其是X軸的frame,左右兩邊各自要6個多小時啊!!!!




2015年11月26日 星期四

Cyclone-PCB-Factory- PCB雕刻机[2/18] ﹣Making a PCB

不由自主把Eagle PCB打開~~
原理圖就給他畫下去,跑個autorouter結果就是這樣

2015年11月22日 星期日

[Study] ESP8266初體驗

小小一個module﹣ESP8266 便宜的 WiFi 晶片已經風靡maker界,我也隨著潮流買了2個,ESP01 & ESP03


[3D DIY]18650 Battery case,電池盒

為啥做這個? 電池盒到處都買得到也可以下載,還自己畫3D結構?
話是沒錯,可是我就是想畫想印啊~任性無誤~

《正視圖》

2015年11月15日 星期日

Cyclone-PCB-Factory- PCB雕刻机[1/18]

前些日子做PCB DIY的時候,鑽孔對我而言非常辛苦,老花+散光根本對不到孔~~而且越來越嚴重,心想,如果有自動鑽孔機不知多好!

這幾個月斷斷續續Google的找,淘寶也找,大多是用CNC車床結構來實現,其中有用鋁擠2020 or 3030做結構。不會用來車鐵或其他硬的物件,對精度要求也不會太高0.2mm就夠用了。所以,CNC車床並不是最佳的選擇。

昨天,突然看到這一台 Cyclone-PCB-Factory,是Open Source的,而且大部分都是3D打印件,機台真是夢寐以求啊,太適合了!

Cyclone v2.2


避免忘記,把重點記下來:

2015年11月1日 星期日

Robot Neck Mechanism Study with Gundam Head [1]

Gundam的頭印出來也上色,在把玩時在想~~如果他可以上下左右擺動應該很帥吧?
Google上網找資料﹣ Key word "Neck robot"找出不少專業的文章與影片。

其中,這一篇非常適合我現有的工具與零件
https://youtu.be/pB4tqn9tUX0


2015年10月27日 星期二

Gundam鋼彈3D列印

最近苦悶啊,找不到題目~
就幫我的Prusa i3的marlin firmware升級到v1.1.0

Download:
https://github.com/MarlinFirmware/Marlin/tree/RC

把code比對了一下,順便溫習一下,老外寫的真的很棒!!!

升級後當然要試試效果如何,到Thingsgiverse下載鋼彈來印。
3D modeling download
http://www.thingiverse.com/thing:663120

打印時間約花了3個多小時,整體成型效果還ok,但是表面凹凹凸凸,要上色會很困難。。。

2015年10月18日 星期日

[SpiderRobot] 國外同好的回應 ﹣ Instructable的作品



截止2015﹣10﹣18,目前已經有2萬8千多個人有興趣看!

有個國外同好回應讓人窩心,他說我的SpiderRobot作品很有啟發性,而且在Fablab發表獲得投資者的好評,開心!!


原文如下:







Congratulations for your works - great source of inspiration

Dear
I would like to thank you for sharing your works that will be a great source of inspiration for us for future developments.
My soon (11 years old) and I, have decided to build one for different reasons:
- it's funny first
- it's an amazing project
- it's not so expensive compared to other robot projects (essentially because using common 9G servos),
- it's a way to learn many things (and to teach other ones - see remark bellow),
- I like the idea to make my own remote controler

2015年10月11日 星期日

[指甲彩繪] 作品

今天被抓去出公差,幫女王指甲彩繪,還被指定要龍貓啊。。。
戴著老花眼鏡,在小小的指甲上畫圖還真辛苦,一筆一筆很小心的畫,傷眼又耗時間。
畫這幾片指甲就要1個多小時超累!!!
還好手藝還沒退化~~~


畫的如何?


[Banana] send email through gmail server

用ADSL最麻煩就是IP時常會被更換,如果架設server就很頭疼。
我想到一個方法就是每隔一段時間,自動由Banana送出一個email內含IP address就可解決。

由Linux系統送Email經過Gmail的server
http://www.arthurtoday.com/2011/08/ubuntu-google-apps-gmail-smtp-relay.html

安装mail server
sudo apt-get install msmtp

sudo apt-get install sendmail mailutils sendmail-bin

設定msmtp為sendmail
sudo ln -s /usr/bin/msmtp /usr/sbin/sendmail

裝好之後,要人工來建立這個 msmtp 的設定檔,請在 /etc 下建立一個叫做「msmtprc」的檔案,然後,在 /etc/msmtprc 檔案裡,加入下列設定內容。

$ sudo nano /etc/msmtprc

account gmail
host smtp.gmail.com
protocol smtp
port 587
auth on
user arthur.yu@arthurtoday.com
password 12345678
tls on
tls_trust_file /usr/share/ca-certificates/mozilla/Equifax_Secure_CA.crt
from arthur.yu@arthurtoday.com
account default: gmail

有個問題就是要調整Gmail的權限保護,不然會被Gmail擋住。
然後設定例行工作:
http://linux.vbird.org/linux_basic/0430cron.php#cron
取得外網IP:
http://ipecho.net/plain

實例解說:

2015年10月4日 星期日

蜘蛛Robot - Quadruped Robot - 《PCB handmade》《PCB 製作 v2.0》

10-11 update:
把 Spider PCB v2.0 開放下載 http://www.instructables.com/id/DIY-Spider-RobotQuad-robot-Quadruped/

2016-01-06
Spider PCB v2.0 - Eagle file open source
https://github.com/regishsu/SpiderRobot

*************************************


PCBv1.0的經驗讓我洗PCB的信心大增,雖然Power鍵設計錯誤而且I2C與analog的IO都需要跳線才能使用。。。
這次升級v2.0,把零件重新排列,以線距離最短為主要placement的要件,經過幾天的實驗,終於設計出完全不用跳線而且PCB尺寸還更小,真是棒極了!!!

《銅箔面》

2015年10月3日 星期六

[Household DIY] 大樓停水後水壓變小的解決方式,馬桶進水器修護

杜鵑颱風的威力真是超級大,當天下午3點左右開車出門去接小孩,不少機車騎士被吹得都站不穩。旁邊的路樹都搖晃劇烈都快被連根拔起,嚇死人了。。。
除了停電還停水,經過一天折騰後,自來水恢復供應了。

但是,洗澡的時候發現水怎麼變小了? 
有可能剛剛供水,還需要時間恢復吧,心裡盤算著。
更要命的的是有一個馬桶的進水器好像掛了,要查查問題原因。
經過2天了,怎麼還是很小,以過去經驗分析的結果,應該是這兩個問題:
1. 水龍頭被小沙子污水堵住
2. 水管裡面有空氣

今天週六就好好把問題解決吧。

1. 水龍頭清理:
水龍頭的出口都有一個軟水器,裡面有濾網,要常常拆出來清洗。
拆的方式很簡單,逆時針方向是拆下來,順時針就是鎖回去固定。


拆出來後,會有很多細沙子,把他們清除再裝回去。

2. 排水管內空氣:
然後,就是把水管裡面的氣排出來。
找出家中最終端而且最低的位置著手,這位置一般是馬桶的進水口。
如果是豪宅,那就找離水塔最遠的廁所的馬桶。。。


準備好工具,一字起子魚口鉗
先用一字起子旋轉水閥來鎖緊進水,確保水不會噴出來。把水管拆離水閥後,再把水閥打開。一邊旋開水閥,水就開始湧出,然後越來越強!


把水閥開到最大,水會噴得到處都是,最好用桶子蓋住,才不會變成潑水節
讓水狂噴,等個20﹣30秒,會發現水開始會斷斷續續,接下來就會聽見有空氣從水管噴出來「噗噗噗」的聲音。讓他噴個3分鐘左右,水壓會變得很穩定的噴出來,而且不會斷斷續續,就把水閥關起來,再把水管接回去就大功告成了!
馬桶進水器用久之後很容易被小沙子堵住,常常被判定故障沒救,要換新不止費用高,而且很麻煩
其實只是進水器被被小沙子堵住而已,是很容易維修的,只要把進水器拆下來,把止水器的部份打開,裡面有一個橡皮的結構,只要把兩邊的小孔清乾淨,肯定又是一尾活龍!!!



後來,又意猶未盡,再把另一個馬桶裝上洗屁屁器,但是遇到空間不夠裝3通管子,只好去水電材料行買個延長管裝上去,有點醜但是至少有解!!




再把洗澡的蓮蓬頭全部換新,看來爽度很高!!


《維修心得》
這次維修主要是水電部分,大樓的水壓時常因為清洗水塔造成停水,水管內部都會積壓空氣。所以建議半年做一次放水的工作,確保水壓正常,也可以將積壓在管內的髒水排除


2015年9月21日 星期一

蜘蛛Robot - Quadruped Robot - 《PCB change》《PCB 更換》


2015﹣09﹣21
今天同好 Wing Hui在facebook發文通知,我的蜘蛛Robot上了Arduino官網的首頁
開心!!




Anyway,今天還是要繼續蜘蛛robot的改造計劃。
上篇完成了PCB handmade手工洗板,準備換腦。



2015年9月20日 星期日

蜘蛛Robot - Quadruped Robot - 《PCB handmade》《PCB 製作 - 熱轉印+蝕刻+上料錫焊》




上次因為Laser printer直接插USB打印,輸出的圖像被scale,造成尺寸不合。
這次用PC打印,且確定尺寸沒問題,再重新來一次。

重點:
這次打印的時候,要把紙張的種類設定為光面紙,這可以讓碳粉更容易吸附在轉印紙上。

這次grond設定為solid,設定光面紙後打印在轉印紙上效果比較好,然後用電熨斗加熱轉印到裸銅板約2分鐘,記得4邊與角落都要特別關注一下,確保把碳粉轉移到銅箔面。
等板子冷了之後,拆除轉印紙檢查碳粉是否完美轉移,也可以用油性筆把坑坑洞洞的地方補好。




2015年9月19日 星期六

蜘蛛Robot - Quadruped Robot - 《PCB 製作 - 熱轉印+蝕刻》﹣ Fail

等了好久,才有機會把材料帶回來。

延續上次的實作 蜘蛛Robot - Quadruped Robot - 《PCB 製作 - 熱轉印實驗》 開始真正用覆銅片製作。


材料與工具準備:
1. 覆銅板
2. 蝕刻劑
3. 轉印紙
4. 電熨斗
5. 棉花棒 與 小杯蓋

首先,先用一般A4紙把layout圖印出,然後再把轉印紙裁切好疊在要印的區域再印一次,產生真正要轉印到覆銅板的部份。
在打印之前,參考前人的經驗,轉印紙最好用橡皮擦把表面擦拭過一遍,讓碳粉可以比較好附著在紙上。

這是輸出到轉印紙,感覺還不錯。


2015年9月12日 星期六

蜘蛛Robot - Quadruped Robot - 《Instruction guide & Open Hardware & Open source》


為了把設計open給同好,這幾天用了好多睡覺時間把設計資料重新整理與拍照,還用破破的英文擠出一些說明,終於在Instructables網站發佈了,而且,在短短12小時內就有1800的views,開心!!
http://www.instructables.com/id/DIY-Spider-RobotQuad-robot-Quadruped/

接下來,要想想有什麼好玩的了。。。。

2015年9月3日 星期四

蜘蛛Robot - Quadruped Robot - 《遥控器制作 Remoter 》

用手機或PC/Mac遙控蜘蛛Robot實在沒什麼感覺,想想應該來做個遙控器吧。。。
翻翻零件庫,哇!有兩個Joystick,太開心了。。。。
一般我的做法是先用麵包板做實驗,把電路模擬一次,確定無誤後再施工會比較不浪費時間。



2015年8月29日 星期六

蜘蛛Robot - Quadruped Robot - 《IR避障器: fc-51 IR Infrared obstacle avoidance》


開始讓蜘蛛有感知的能力,如果蜘蛛可以sense到前面的障礙物,
那就可以用適當的行動來處理,譬如繞過或後退,那應該會更有趣!

就是這個module FC-51,紅外線避障器,可以調整3﹣60cm的偵測距離。



2015年8月28日 星期五

蜘蛛Robot - MakerPro 0827 Demo Night 分享簡報

感謝MakerPro http://makerpro.cc/ 主辦單位的邀約,可以分享蜘蛛Robot的作品。

第一次在這樣的場合上台分享,表達有點離離落落的。。。 
Anyway,這是很棒的經驗,謝謝同好對蜘蛛Robot的欣賞。

這個作品是提供一個簡單的想法,3DP + Arduino可以實現我們腦海裡有趣的想法。

當天的簡報,就分享在這。



2015年8月27日 星期四

2015年8月21日 星期五

蜘蛛Robot - Quadruped Robot - 《PCB 製作 - Eagle CAD》


話說這robot的電路板雖然還算穩定,但是畢竟是用洞洞板做的,感覺不是很專業,也不好看。



自稱為業餘Maker,當然首先使用免費的PCB layout軟件,試過了幾套:
FreePCB         http://www.freepcb.com/
Fritzing           http://fritzing.org/home/
Eagle CAD     http://www.cadsoftusa.com/download-eagle/freeware/

經過一番研究,FreePCB太簡陋,Fritzing有很多資源,但是整個軟件跑起來很卡,也常常crash,Eagle是一開始不是很容易上手,但是穩定度很高,而且功能完整,Arduino的PCB也是用Eagle來設計。

2015年7月28日 星期二

蜘蛛Robot - Quadruped Robot 《all new design> - Software portion - vPython




《Spider Robot 威力演出》









前幾天設計好的機構如所預期的堅固,但是腳的長度有變化,而且Servo方向也改變了,所以軟件的部份也要做一些修改。

Arduino雖然容易開發,但是每次改完code都要upland,這不只傷flash,也浪費時間。
最麻煩還不止如此,要print out 一些message 或 debug 都不是很容易。

2015年7月26日 星期日

[ArduPilot] building the Firmware


Ubuntu

regis@lemaker:~$ sudo apt-get install gawk
regis@lemaker:~$ git clone https://github.com/diydrones/ardupilot
regis@lemaker:~$ ardupilot/Tools/scripts/install-prereqs-ubuntu.sh -y
regis@lemaker:~$ cd ardupilot/ArduCopter
regis@lemaker:~/ardupilot/ArduCopter$ make

Targets
 -------
  apm1 - the APM1 board
  apm2 - the APM2 board
  px4-v1 - the PX4v1 board
  px4-v2 - the Pixhawk
  pxf - the Beagle Bone Black (BBB) + PXF cape combination
  navio - the RaspberryPi + NavIO cape combination
  linux - a generic Linux build
  flymaple - the FlyMaple board
  vrbrain - the VRBrain boards
  sitl - the SITL Software In The Loop simulation
  bbbmini - the Beagle Bone Black mini

regis@lemaker:~/ardupilot/ArduCopter$ make linux


2015年7月19日 星期日

蜘蛛Robot - Quadruped Robot 《Re-design> - 3 - Round Corner

很多上市的商品都會將結構的邊緣銳角柔化,這是R角設計的效果。

邊緣R角的設計可以讓產品的連接處更強化與美觀和良好的觸感,而且具備商業價值。

上一篇的設計,每個零件的邊緣都是很銳利,看了不是很舒服,本次設計就著重在各直角的邊的R角設計。

那如何在 Sketchup 如何實現這個效果?

Sketchup Make是個很不錯的3D建模的免費軟件,而且很多免費的Plugin強化各項特殊功能。例如,就有一個很不錯的plugin - RoundCorner,就是專做R角設計- 參考 這裡的安裝步驟

安裝成功後,Sketchup會出現如下圖有RoundCorner的圖標:


至於如何使用RoundCorner, 參考這 影片 還不錯。

2015年7月15日 星期三

蜘蛛Robot - Quadruped Robot 《Re-design> - 2

根據上篇 蜘蛛運動 的實驗後,雖然行動很順暢與穩定,但是發現腳的自由度運作空間太小,容易“卡”腳,身體螺絲鎖付的部分也太脆弱。

步態研究參考:
http://blog.kevinbrianchen.com/2014/08/quadruped-robot-walking.html



本次是把這隻蜘蛛再重新設計一次,主要目的是提升robot腳的結實度與轉動的自由度。
先把Sketchup設計的美圖放上,過幾天會轉成STL再印出來。

2015年7月5日 星期日

蜘蛛Robot - Quadruped Robot upgrade

做這個專案讓我有點挫折,好多三角函數、座標轉換搞的頭昏腦漲,
真後悔年少沒認真唸書!!

停了一陣子沒有繼續完善這個專案,這幾天看到這家SunFounder公司出了這個產品,又激發了我。。。

乾脆買這隻來玩算了。。。

 Sunfounder


不過,還是再努力把作品完成吧。。。
回顧之前的作品,robot在行進過程中,當一隻腳抬起來的時候,重心無法移到另3支腳,造成機體的晃動。

2015年6月8日 星期一

[BananaPro] VPN server setup - Lubuntu

架設VPN已經想了很久,因工作的需求,時常出差到大陸,雖然LINE和FB不能用還不會造成困擾,但是許多google service不能用,讓人感覺非常不方便。

今天就把BPro拿出來好好研究如何架上VPN,在網上google許多前人的經驗,發現還真的蠻簡單的,雖然在過程中遇到一些問題,不過運氣好很快就解決。


安裝VPN server首先要確定家裡網路的環境和設備,分為幾個步驟:
Step 1:
《網路結構》
           
         internet ﹣》中華電信 ﹣》 ADSL ﹣》 Wifi AP ﹣》intranet -》BananaPro

2015年6月7日 星期日

[Banana Pro] Device driver study(device_create, misc_register) - LED control

上次第一個《device driver sample 範例》 需要自己建立 node,這並不是太好的做法。

本次提供一個方法是在driver init的時候,自動建立driver node。
有兩個方式:

1. 使用 device_create
2. 使用 misc_register 

/*
 * led_drv:
 * LED device driver test program for banana Pro
 * Copyright (c) 2015 Regis Hsu
 *
 * Thanks to code samples from Gordon Henderson
 ***********************************************************************
 *
 *    led_drv is free software: you can redistribute it and/or modify
 *    it under the terms of the GNU Lesser General Public License as
 *    published by the Free Software Foundation, either version 3 of the
 *    License, or (at your option) any later version.
 *
 *    led_drv is distributed in the hope that it will be useful,
 *    but WITHOUT ANY WARRANTY; without even the implied warranty of
 *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *    GNU Lesser General Public License for more details.
 *
 *    You should have received a copy of the GNU Lesser General Public
 *    License along with wiringPi.
 *    If not, see <http://www.gnu.org/licenses/>.
 ***********************************************************************
 */

2015年6月5日 星期五

[BananaPro] Scratch for Arduino on BananaPro

最近一直在找題目,主要是以Arduino和3D printer有相關的方向。
看到MIT的Scratch,哇, 真是好物啊!!

腦海裡,這個App可以結合機械手臂,遙控車,機械獸,規劃一些新的指令,那就可以讓小孩學習如何控制這些機器,進而提升意願往更進階的領域研究,讓我們小孩可以在未來更有競爭力。看到台灣電子”慘“業現狀,真是無言。。。


用幫3DP幫BananaPro穿新裝




2015年6月2日 星期二

[Banana Pro] Device driver study - LED control

There is my first device driver in Banana Pro board.

My idea is using this device driver module to control the LED board as below:


Here is the build process and source code:

Setup the build env:
Step 1. Download and rebuild the bsp 
git clone https://github.com/LeMaker/lemaker-bsp.git
refer to my another bolg - Banana Pro] Building u-boot, script.bin and linux-kernel

2015年5月30日 星期六

[Banana Pro] Building u-boot, script.bin and linux-kernel

這幾天這個link被移掉,好不容易找到,就乾脆把它copy下來。。。
因爲要開始做一些device driver,最好是kernel自己重新build,並把header file和相關files保留給接下來build driver module使用,不然會遇到module無法被kernel接受。


只要照着做,把script.bin, uImage, modules做好copy到SD卡就可開機。


refer to:

BananaPro/Pi:Building u-boot, script.bin and linux-kernel


Note: all of the following instructions (and also in the sections 2, 3 and 4 
following on from this page) have to be carried out on a Linux computer, not the Bananan Pro/Pi itself!!

This page describes the process of combining sunxi u-boot, the Linux kernel and other bits together to create the basis of a bootable OS from scratch, and which can also be the basis for further hacking. 
Of course, we are not building a whole distribution here, we're only building u-boot, the kernel and a handful of tools, and then using an existing root file system to get a usable OS. Depending on the size of the root file system, we suggest you use a 4GB or larger SD card – a type class 10 would be faster and more stable. SD card partitioning and formatting will be taken care of later. 
We'll outline on this page two methods to build what we need: one is step by step, the other is the easiest way by using sunxi BSP.

2015年5月24日 星期日

[3DP] 吹風機掛架 Hair-Dryer holder

吹風機的體積不小,電線又長,收藏真是讓人頭疼。
每次用吹風機時,都沒地方掛,放在洗臉槽旁又很危險,怕不小心被電到,不然就短路。
今天剛好有個靈感,試看看吧!
作品分享:http://www.thingiverse.com/thing:845034
開始畫圖,SketchUp是個不錯的3D建模的軟件,可以很快把心中的想法用簡單的工具畫出3D模型。不過,如果想在菱菱角角弄個R角,在這軟件還真難做。。。XD
這是用Sketchup畫出來的結構圖,有180°和90°的插頭。


2015年5月10日 星期日

[Banana Pro][WiringBP] How to control the GPIO by C/C++



上次用Python做GPIO控制,個人認為用於簡單電路測試或控制足夠。但是,未來有一些計劃會用到interrupt,用C/C++開發應該會是主要做法。


WiringBP是由LeMaker改寫Drogon開發的Wiring Pi
root@bpro:/home/regis# git clone https://github.com/LeMaker/WiringBP -b bananapro
root@bpro:/home/regis# chmod +x ./build
root@bpro:/home/regis# sudo ./build

安裝好之後,查看GPIO的status:
root@bpro:/home/regis/WiringBP/examples# gpio readall 



[Banana Pro][RPi.GPIO_BP]用Python來寫GPIO控制程式


本次實驗是用Python來做GPIO控制,做法非常簡單易用。

先確定系統在更新狀態:
root@bpro:/home/regis# apt-get update
root@bpro:/home/regis# apt-get upgrade

再來安裝 git:
root@bpro:/home/regis# apt-get install git
root@bpro:/home/regis# apt-get install python-dev
root@bpro:/home/regis# apt-get install gcc g++ make git-core vim

裝Python的gpio控制模組:
### For Banana Pro
root@bpro:/home/regis# git clone https://github.com/LeMaker/RPi.GPIO_BP -b bananapro
root@bpro:/home/regis# cd RPi.GPIO_BP
root@bpro:/home/regis# python setup.py install
root@bpro:/home/regis# sudo python setup.py install

[Banana Pro][Wifi]解決Wifi不通 - 1'st step Wifi enable


當Banana Pro板子與HD組好後,就開始要試試他的功能。
我用HDMI接上電視,開機很順利的到login畫面,
但是,我沒usb keyboard,也不知Wifi是否有通,就算通也不知ip address。。。

這一關就卡住了。。。
後來,借了usb keyboard,總算可以login,但是發現Wifi是不運作的,真是糟啊!

[Banana Pro]解決Power Key無法關機










我在使用這系統時,發現按了Power button(左上角)時,系統並不會下指令讓Banana Pro關機。

上網搜尋一番,找到方法如下:














先安裝ACPI 模組:
regis@bpro:~$ sudo apt-get install acpid

[Banana Pro] - boot from SATA 120G HD ﹣﹣ 用HD開機

拿到板子後,做了很多實驗,也安裝不少軟件和設定,其中遇到很多問題,裝了一堆不知名的軟件模組,搞的Linux有點亂。

想了幾個解決方案,那就是用HD切幾個partition,其中2個來做實驗,只留一個乾淨來做使用。而SD卡就專職開機就好,避免開機失敗。

就開始吧~~~~

root@bpro / # fdisk /dev/sda
Command (m for help): p

Disk /dev/sda: 120.0 GB, 120034123776 bytes
255 heads, 63 sectors/track, 14593 cylinders, total 234441648 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x00002b91

[Banana Pro]測試Linux的I2C tools [GY-273] [HMC5883]三軸電子羅盤 e-compass




用了Arduino之後,買了不少module都是I2C的interface。
本次實驗就用GY-273電子羅盤來試試Banana Pro的I2C的功能。
因為Bananian Linux是非常乾淨的OS,必須先安裝I2C tools

regis@bpro:~$ sudo apt-get install i2c-tools python-smbus 

安裝成功之後,會有這幾個features
i2cdetect – 用來列舉I2C bus和上面所有的裝置
i2cdump – 顯示裝置上所有register的值
i2cget – 讀取裝置上某個register的值
i2cset – 寫入裝置上某個register


2015年5月9日 星期六

BananaPro + HD holder by 3D printer


因為Banana Pro是用SD卡來啟動,
這幾天安裝gcc compiler和GPIO的部份時,
發現SD卡空間有限,
而且,
如果不小心可能開不了機。

Banana Pro有SATA的interface,
可以很容易接上SATA的HD,
剛好手邊有一顆2.5" 120GB,
就上吧!!


《成果圖》

2015年5月6日 星期三

Banana Pro case by 3D printer


 話說想玩玩其他系統,
沒錯,
這次買了 ~ 香蕉你的芭樂~
經過漫長等待
終於到手了!!!


開箱~~~~~~


2015年4月18日 星期六

縮小版平衡車 Arduino 2WD Auto Balance robot - Small version

去年初(2014)做第一款自平衡車時,
為了找零件來固定馬達,電路板等模組,
我把小孩子的組合玩具拆來用,
讓他難過一陣子。。。。