星期一, 11月 25, 2013

淘寶和露天

最近分別在淘寶和露天各買了一樣東西, 一個是先付款(信用卡), 一個是店到店(7-11取貨付款), 基準點有點不同, 但是我們著眼在運輸時間上就好:

淘寶(上海 to 新竹)
露天(高雄 to 台中)

耗時

耗時
11-18 14:15 發貨

11-21 16:42 寄貨

11-18 19:20 已收件
11-18 21:54 快件在上海
11-19 02:15 快件在上海集散中心装车
11-19 20:57 快件在深圳集散中心装车
11-20 06:13 快件在桃園集散中心装车
11-20 08:30 正在派件...
05:05
11-22 06:14 商品離店
13:32
11-20 10:27 印章
39:07
11-23 07:02 貨到門市日
24: 48
總耗時44:12
總耗時38:20

以總耗時來說, 淘寶當然比較慢, 但也僅僅慢了6小時不到....
更何況他是從上海到深圳, 再空運到台灣桃園, 然後再宅配到新竹....總里程破千公里, 效率之高...

淘寶的貨品的空等期是相當短的, 也就是說貨品被閒置等待到下一階段的空檔時間, 其實並不多, 大致上大概就只有發貨和收件之間的五個小時. 收件之後就開始漫長的運輸階段, 而且大陸的司機是不用睡覺的, 半夜都在載貨...

再來看看露天, 16:42到7-11寄貨後, 要等一天來一次的物流車(還是兩次?), 這一等就是13小時, 接著理貨之後, 才開始短暫的貨運行程, 但是高雄到台中也耗掉了一天~
放置在7-11的空等期其實很長, 畢竟便利商店的配送服務本來就是附加在物流車之下, 物流車不是專職做店到店貨運的工作, 主要還是週期性的補給便利商店為主, 效率才會如此之差. 
以便利商店來說是善用資源, 以我們的角度來說, 為了方便在家附近取貨, 但是得用時間來換.

再回頭看看淘寶, 淘寶的店家服務的是全大陸的網民, 所以出貨量相對也大, 貨運公司也願意專門上府收件, 且收件後就開始派送了~
也因為對岸網拍的發達, 貨運業的效率以及密度也相對高, 才成就這樣的效率....

或許下次應該用台灣貨運跟大陸貨運對決.

星期二, 11月 19, 2013

OBD-II Simulator for Gearuino

做OBD-II的相關開發, 當然要有支援OBD-II的車子一台.
儘管我有一台支援OBD-II的車, 還有OBD-II轉藍芽的設備, 也可以讓Arduino順利透過藍芽與外部溝通. 但是...
總不能每次開發的時候, 都要我坐在車裡吧=.=

所以有一個OBD-II模擬器是很合理的一件事情.
硬體模擬器都要額外花錢買, 而且不便宜!不符合DIY的精神, 去去~
所以朝向軟體模擬器, 而且必須要免費的, 才是正確的方向.

目前接觸到最適合的OBD-II模擬器是 OBDSim
然而OBD-II軟體模擬器最一開始的目的, 就是提供 OBD-II診斷軟體, 可以在不接上實車進行開發, 所以OBDSim需要com0com這套軟體, 虛擬出兩個com port, 這兩個com port是彼此對連的. OBDSim接上一頭, 診斷軟體接上另外一頭, 就可以讓診斷軟體以為透過com port是連接到車上的OBD-II.

問題是上述提到的作法適合的是軟體開發, 我做Arduino開發算是硬體(精確點算是韌體), 該如何搭配OBDSim???
兩個做法:
1. 使用Arduino的模擬器, 接上虛擬com port.
2. 讓OBDSim直接輸出到實體com port,  然後接到Arduino去

採用模擬器的方案, 目前看來就是 VirtualBreadBoard 最適合.
但是要錢...所以....pass.
跳到輸出到實體com port的方案~ 到實體com port並不難, OBDSim改個設定即可, 但是要怎麼從com port到Arduino?
直接輸出到Arduino的USB? 這樣很難debug, 我需要Arduino透過USB輸出debug資訊啊....
所以OBDSim應該要接到Arduino上的SoftwareSerial, 我才有辦法順利Debug.
因為手邊還有一張Arduino, 把接到OBDSim的那張切成USB to TTL adapter, 然後tx/rx接到SoftwareSerial的tx/rx,  就完成了.

切成USB to TTL adapter的作法請參考  Arduino as an USB to TTL adapter

[2015/12/2更新]
上述是模擬一個具備OBD功能的com介面, 適合用來測試透過com連接OBD的軟硬體.
若我想要用CAN-BUS去讀取OBD相關PID的話, 上述方法就行不通了.
Arduino-OBD2-Simulator 具備OBD功能的CAN-Bus介面, 適合CAN-Bus Shield的測試.

簡單說, 你需要兩張CAN-Bus Shield, 將Simulator放在Shield-A, 將Simulation Code燒錄在Arduino-A並且連接上Shield-A, 再將你自己的Sketch燒在Arduino-B並且接上Shield-B, 兩張Shield以CAN-Bus相連就完成了.

星期日, 11月 17, 2013

Gearuino開發資源

Arduino眾多的資源就不再整理, Google一下Arduino就看不完, 更何況Arduino官網本身就提供很豐富的資料看都看不完.

對於Gearuino這個比較狹隘的應用, ELM327絕對是必要的一個元件.
ELM327是ELM Electronics.公司, 是一顆基於PIC18F2480單晶片所開發的IC, 他最主要的功能就是把車上的OBD2協定轉為UART, 讓我們可以簡單的存取車上ECU提供的資訊.

關於ELM327以及OBD2, 在Wikipedia有簡單的介紹.
而Arduino與ELM327的應用在網路上極少, 但也不是那麼難找, 目前找個幾個較多人討論的有:

Loguino是我今天才找到的應用, 他開發的主要目的是基於Arduino的硬體去收集資料, ELM327只是該項目的其中一個應用, 而我只要可以善加利用所提供的ELM327 Library即可.

OBD-II for Arduino主要是銷售給Arduino使用的OBD-II硬體, 並且提供相對應Library及硬體接線.

OBDuino是個較為完整的項目, 主要目的是提供里程電腦的功能, 作為里程及油耗顯示等等功能. 

Loguino由於剛接觸到目前還在評估中.
OBD-II for Arduino所提供的EM327 Library相當簡單, 也適合我的應用, 但是到目前為止還沒辦法順利讓Arduino接上ECU, 目前還在檢查哪個環節出了問題.
OBDuino除了ELM327的Library外, 也提供了相當完整的人機介面, 對於我的需求來說, 太過複雜, 稍微評估之後初步已被我排除. 

要是以上三者的ELM327 Library都不適合我使用, 不排除自己開發Library,  反正ELM327的溝通方式也不算太複雜(只是懶的開發而已...)

最後補一下開發會用到的工具:
Simulator for Arduino

Gearuino

上一篇文章提完Arduino和Raspberry Pi的抉擇之後, 又回到原本的問題:

我要拿Arduino做什麼?

中間其實有很多故事, 但是瑣碎到我也懶的去提, 簡單的說, 我想把車子現在的檔位顯示在擋風玻璃上!


我的第一臺車Citroen C2有個超級大的液晶顯示目前時速, 當時我連HUD都覺得沒必要去加裝, 因為光用眼角餘光去喵就很清楚現在的時速, 我甚至覺得C2比我現在Fiesta上的HUD還要好判讀, 原因就在於C2的液晶字體真的很大, 比擋風玻璃上的HUD還要好辨識.

除了時速顯示以外, C2由於是自手排變速箱, 並且配有換檔撥片, 所以有檔位顯示是很自然的一件事情, 換了小肥Fiesta後, 對於沒有換檔撥片/檔位顯示這件事情耿耿於懷, 沒有換檔撥片真的很難超車啊....

好吧, 換檔撥片DIY加裝應該是不太可能, 那檔位顯示總有可能吧?
這就是目前我在Arduino上的開發需求, 我覺得非常適合作為我在Arduino的第一個Project.
因為是開發檔位顯示, 又為了依循Arduino的傳統, project後面一定要uino一下, 所以我稱此project為Gearuino.

目前Gearuino的Roadmap如下:

  1. 七段顯示器的選擇以及顯示
  2. Arduino與藍芽的溝通
  3. Arduino與OBD2的溝通(目前採用OBD2轉藍芽的Solution)
  4. 時速的顯示
  5. 檔位的顯示
  6. Arduino與有線OBD2的溝通
目前項目1,2已經完成, 再找個時間整理, 會放在Google Code上.

Arduino?Raspberry Pi?

2013年是平淡的一年, 工作上我自認沒有太大突破, 也暫時找不到可以突破的方向.
只好往不同的領域去開發~

這一年接觸到對我來說新的概念, 是以前有想過但是從未接觸的領域: 單晶片開發.
對於念電機和部份資工的人這可能一點兒都不新鮮,  但是對於我這個搞軟體軟到不能在軟的人而言, 真的是很新鮮.

早先在研究所的時候, 就有接觸到USB轉RS232這東西,  心裡想著若透過RS232去外接一些電器+繼電器(Relay)、Sensor, 或許可以搞一些自動化家電的東西, 但是必須接著龐大的電腦感覺就只是個DIY的玩具, 不是很實際的應用, 有殺雞用牛刀的感覺, 所以這念頭停留在心中幾次之後就消散了.

在今年, 接觸到樹苺派這玩意兒, 差一點就下單了, 但是又想想, 樹苺派會不會又只是另外一台電腦而已? 買來接電視上上網, 是不是就沒有其他用途?
這樣的疑惑讓我暫緩了敗家的慾望, 畢竟我不想買了個玩具只是用來殺時間, 我想 "真正做出點東西", 記得上一次一個完整的作品是 iBus ( mobile01連結 ), 也已經是大學時候的東西了, 研究所涉及色彩管理並且也開發相當多的程式碼, 但是從來沒有整合起來並且包裝為軟體, 所以自iBus之後是一切空白.

看了看2012年寫給自己的文章:

  • 2013年來到之前, 把surfplurk定版(或者改成weplurk更好 ?)
  • 2013開始發展自己的螢幕校正色彩軟體(技術已經有了, 就剩包裝)

  • surfplurk在兒子出生的那幾天奠定了開發基礎, 並且開發到可以運作( surfplurk ), 但最後在公司網路老是阻擋我軟體的運作下, 宣告放棄(對plurk API存取太頻繁會被IT擋掉五分鐘...)
    螢幕校正色彩軟體更不用說, 在自己也缺乏需求下, 根本沒有開始過.(我開發東西都是以自己非常需要用到為前提)

    看來2012年許的願望都泡湯了, 回頭再來談談單晶片.

    就在思考樹苺派在軟體開發以外的出路時, 我了解到樹苺派提供了GPIO, 並且可以可以享用Arduino的資源, 而且網路上相當多文章在比較樹苺派和Arduino, 隨著時間過去, 我越來越了解兩者之間的差異性, 詳細的差別就不在這邊帶出, 簡單的說: Arduino適合簡單而純粹的應用, 樹苺派適合較為複雜(不論是軟體或硬體的複雜度)而且需要整合的應用.

    Arduino只要新台票400就買的到, 所以我決定從Arduino先玩起(多麼市儈啊...哈)


    Mr.Color飛機模型用Color 與 水性AQUEOUS HobbyColor 對照表

              最近跟兒子一起研究長谷川的飛機模型, 其中說明書中採用的模型漆色號以Mr.Color硝基漆為主, 水性漆AQUEOUS 為輔. 很多Mr.Color有的顏色, AQUEOUS 都沒有, 前100的色號大致上都有對應到, 但Mr.Color 300號以後的都是特...