APC 行動電源讓你的行動裝置不斷電!

APC 行動電源

APC 是一間以電腦不斷電系統(UPS)為名的公司,但最近他們也想讓你的智慧型手機、平板電電腦也有不斷電系統能用。是的,就是現在在市面上相當常見的行動電源!

介紹

先來看看這個行動電源的規格:

  • 輸出電壓: 5V
  • 電池容量: 5000mAh
  • 輸出電流: 1A 與 2.4A
  • 輸入電流: 1.5A
  • 產品顏色: 白色、黑色

APC 行動電源

容量看起來普普,大概能充一般智慧型手機 2 次,以及 50% 的平板電腦,但這顆行動電源最厲害的地方並不在於它的容量,而是在於它出色的保護機制。

除了上圖中的充滿後的防過充自動斷電的機制外,他還有過放電保護、過電流保護、過溫保護、輸出短路保護、過電壓保護、極低待機電流保護、過載保護...等八大保護機制,讓你的手機與行動電源的壽命更長,而且有了這些保護,新聞上的那些電池爆炸事件將從此與你免疫。

APC 行動電源

這顆行動電源官方售價約為新台幣 899 元,與目前熱門的小米電源相比較下是貴了許多,但由專精於電源的大廠牌所設計的行動電源其品質與安全性肯定能讓人更放心。

開箱

接下來讓大家欣賞一下這顆行動電源的開箱照吧。

對了,往下看下去前,先來欣賞一下 APC 為這顆行動電源所拍攝的廣告。

然後,開箱照來囉~

還在盒子中的正面

APC 行動電源

背面有極為詳細的圖說

APC 行動電源

拆開後,除了本體與說明書外,還附有一條全功能的充電線。

APC 行動電源 開箱

厚度只有10元硬幣的一半

APC 行動電源 厚度

採用鏡面的外觀設計

APC 行動電源

上半部,中間那個電池模樣的就是顯示電量的位置

APC 行動電源

下半部,大大的 APC!

APC 行動電源

壓下側邊的開關後會顯示剩餘電量

APC 行動電源

充電中!

APC 行動電源

評測

這顆行動電源比起外觀看起來的還來得輕上許多,實際充電有感受到充電的速度,不過手邊沒有測試工具可以做詳細的測試。但它可以順利充進我的 ASUS Zenfone 5 智慧型手機中,而一般可藉由 USB 充電的平板也能夠感應到行動電源的輸出電壓與電流,且亦可順利充電,由此可判斷行動電源輸出並沒有造假。

但在使用期間其實有碰到一些些詭異的問題,像是滿格的行動電源接上手機充電不久,手機還未充滿電,行動電源就自行斷電,這或許是因為接在 2.4A 充電時產出的熱能較多而觸發行動電源的過熱保護所導致。

這顆行動電源基本上沒什麼缺點,但有一個缺點我不得不提提,那就是它顯示電量的部分或許是電路設計限制的關係,採用掃描式設計,但掃描頻率過低,若用眼睛去看,會發現眼睛會稍有不適的感覺,不過也有可能是我太敏感所致 :P

如果近期有考慮買行動電源又擔心爆炸危險的朋友,可以考慮看看這顆行動電源。

雖然貴了點,但多了好幾層的保護,也多了好幾分的安心。

mbed 基礎教學實驗 - 藍芽模組

藍芽是目前非常普遍的一種無線通訊技術,在許多資訊設備都能找到他的蹤影,而目前幾乎所有的智慧型裝置以及筆記型電腦都有配備這樣的無線通訊設備,這對於許多無線控制的應用是一個非常友善的環境。

本篇文章將會為各位介紹 mbed LPC1768 如何使用藍芽模組來與電腦通訊。

開始之前

本篇文章你將會使用到:

  • mbed LPC1768
  • 藍芽模組(本篇使用 HC-05 )
  • 接線若干
  • 具藍芽無線通訊功能的電腦

硬體接線

接線方式頗為簡單,只要把 HC-05 的 RX TX 與 mbed 的 TX RX 互連即可。

mbed hc-05

正文開始

mbed 部分

首先我們要先知道藍芽模組要如何操作與使用,我手上這個藍芽模組是透過 UART 來傳遞訊號的,還記得我們先前的教學嗎? 這時候就派上用場了~

#include "mbed.h"

Serial bt(p9, p10); // tx, rx

int main() {
    while(1) {
        bt.printf("Hello, World!\n"); 
        wait(1); // 每秒傳送一次
    }
}

電腦部分

既然有傳送,那我們就得要用一台有藍芽接收器的電腦來接收 mbed 所傳的藍芽資料,不然這傳送就沒有意義了。

而因為我們用的是藍芽的序列阜功能,這時候請開啟 CoolTerm 或 Putty 來接收,你應該會看到畫面上每兩秒跳一次的「Hello, World!」字串訊息。

mbed hc-05 print

對了,HC-05 與電腦配對時的顯示名稱就是 HC-05 ,而配對密碼預設則是 1234

進階一點

知道這個藍芽模組是透過 UART 來傳輸之後,我們就可以來做一點有趣的事情,例如,用電腦控制 mbed LPC1768 板子上的 4 顆 LED 的亮滅。

mbed 部分

#include "mbed.h"

Serial bt(p9, p10); // tx, rx
BusOut LEDs(LED1, LED2, LED3, LED4);

void setLED(char c) {
    switch( c ) {
        case '1': LEDs = 0x01; break;
        case '2': LEDs = 0x02; break;
        case '3': LEDs = 0x04; break;
        case '4': LEDs = 0x08; break;
    }
}

int main() {
    while(1) {
        int input = bt.getc();
        setLED( input );
    }
}

電腦部分

一樣是開啟 CoolTerm 或 Putty 來用,你只要用鍵盤輸入 1、2、3、4 這幾個數字,就會看見 LED 分別亮起與消滅。

總結

其實藍芽的操作很簡單,他只是透過 UART 來做通訊,但跟一般 UART 不同的地方是,他與電腦之間不需要額外一條連接線就能夠將資料傳送到另一方去,這種傳輸方式就稱做為無線傳輸。

這篇文章稍嫌短了些,不過想想主軸是以基礎為目的,我就不把其他太多的控制給加進來了,留待之後再寫一篇文章跟大家分享。

三個非 Arduino 官方整合開發環境讓你當個更快樂的 Maker!

Arduino 是現在頗為流行的一個嵌入式系統開發板,但他官方提供的開發環境實在非常的「簡潔」,實在不是非常好用。除了缺少自動完成以及,還缺少了許多在程式開發上需要的資訊,例如語法檢查、錯誤提示、編譯資訊,最重要的是,官方給的有時還會莫名其妙卡死不動...(新版本似乎已解決卡死問題)

這些問題也有不少人注意到,他們透過自行開發的擴充功能或外掛,讓其他的整合式開發環境也能夠開發 Arduino,大大的加快了程式開發與撰寫的速度,同時也大大提升了爽度(重點)。

接下來要介紹的這些是我實際用過且想要推薦給你參考的三個非官方整合開發環境(IDE),比起官方給的,非官方所提供的功能非常多且完整很多。

開始之前

照慣例呢,每篇文章都要來個開始之前,也就是行前動作啦!

因為這些非官方開發環境只是提供你一個編輯器而不是一個完整的開發環境,所以你還是要先到 Arduino 的官方網站下載他的官方開發環境,因為這裡面含有編譯用的程式。

Brackets

Brackets 是 Adobe 所支持開發的開放原始碼的一個編輯器,主要是用來做網頁前端設計,並支援網頁的即時預覽功能。改日我會再為他寫一篇較為完整的介紹,今天我們的重點還是放在將他變成 Arduino 的開發環境。

在這邊我將用 cuwire: IDE for microcontrollers 這個擴充功能來將 Brackets 變為 Arduino 的開發環境。

安裝

20150309 擴充程式更新,解決部分 Bug
20150301 偶爾會有無解的 Bug

直接至官方網站下載你目前作業系統的版本,他幾乎支援所有的作業系統。

download brackets

下載完成後,如果你不習慣操作英文的環境,你可以透過 Debug > Switch Language 的選單改成繁體中文的介面。

debug menu

再來,請點右上角一個像積木的圖示。

輸入 Arduino 找到 cuwire: IDE for microcontrollers 這個擴充功能,並點下安裝。

install exentaion

安裝完成後,他會要你輸入你 Arduino 官方開發環境的檔案位置。

如果你是 Mac 使用者,請輸入:/Applications/arduino.app (在這之前請把下載的 Arduino.app 放進 Applications 中)

如果你是 Windows 使用者,請輸入你安裝 Arduino IDE 的位置,如:V:\Arduino\arduino-1.6.0

cuwire

到此,安裝就告一段落,接下來是介面的簡介。

介面簡介

裝完外掛後,你可以看見右方多一個橘色向太陽的按鈕,這是外掛的按鈕,點下去後你就會看見如下的畫面。

Brackets cuwire

我想這張圖能夠解釋一切!

啊,對了!提一下,那個 RS232 監看器是直接按一下就會跳出畫面了,像這樣:

brackets cuwire rs232 monitor

Sublime Text

Sublime Text 也是一個頗為知名的前端網頁開發編輯器,筆者曾經有介紹過利用他來撰寫 MarkDown 文件,而他強大的外掛功能讓他也擁有了非常多的擴充功能,不意外地,也有人為他寫了一個 Arduino 的開發環境。

安裝

首先先到官方網站下載 Sublime Text 的程式,他分有兩個版本,分別是 2 與 3 ,在部分操作上會有些微差異,讀者可以自行選擇要安裝哪一個版本。

如果你已經安裝好了,請開啟程式後按下 CTRL + ` 輸入下面這一堆東西,請注意你的 Sublime Text 版本。

Sublime Text 2

import urllib2,os,hashlib; h = 'eb2297e1a458f27d836c04bb0cbaf282' + 'd0e7a3098092775ccb37ca9d6b2e4b7d'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); os.makedirs( ipp ) if not os.path.exists(ipp) else None; urllib2.install_opener( urllib2.build_opener( urllib2.ProxyHandler()) ); by = urllib2.urlopen( 'http://packagecontrol.io/' + pf.replace(' ', '%20')).read(); dh = hashlib.sha256(by).hexdigest(); open( os.path.join( ipp, pf), 'wb' ).write(by) if dh == h else None; print('Error validating download (got %s instead of %s), please try manual install' % (dh, h) if dh != h else 'Please restart Sublime Text to finish installation')

Sublime Text 3

import urllib.request,os,hashlib; h = 'eb2297e1a458f27d836c04bb0cbaf282' + 'd0e7a3098092775ccb37ca9d6b2e4b7d'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); by = urllib.request.urlopen( 'http://packagecontrol.io/' + pf.replace(' ', '%20')).read(); dh = hashlib.sha256(by).hexdigest(); print('Error validating download (got %s instead of %s), please try manual install' % (dh, h)) if dh != h else open(os.path.join( ipp, pf), 'wb' ).write(by)

出現這個訊息後,重新開啟 Sublime Text 。

Sublime Text install package

之後按下 CTRL+SHIFT+P 會出現另一個輸入框。

然後輸入:

  1. install
  2. 看到 Install Package 但下 Enter
  3. 輸入 Arduino
  4. 選擇 Arduino-like IDE

你可以搭配下圖的動態操作圖服用。

install stdino

安裝完畢後,你會在右上角看到一個 Arduino 的選單

sublimetext 2 arrduino-like ide

接下來你還需要設定 Arduino 的安裝位置,以下已 MAC 為例

首先先打開 Arduino 的選單,然後選擇 Preferences

set arduino dir

之後我利用動畫呈現,Windows下的選擇方式雷同,你可以用滑鼠或鍵盤去操作,但複製貼上似乎有點 BUG 無法這樣用。

sublimetext select arduino

看到它顯示 Arduino 的編譯版本之後就可以開心的編譯與上傳了!

sublimetext upload arduino

embedXcode

embedXcode 比較特別,是專門為了 MAC OS 上獨有的開發環境 Xcode 所製作的模板(Template),你只需要安裝以下這些東西之後,你的 Xcode 就會多出 Arduino 以及 mbed 的選項。

embedXcode 提供的功能非常多,還包括內建的提示、語法檢測等等。

下載與安裝

請至官方網站下載,你可以選擇用 Paypal 贊助他們後,取得更多功能的 plus 版本,或者是選用免費的個人版。

download embedXcode

這邊我們選擇 No donation 進入下載頁面,右方會有兩個下載項目,兩個都請你下載下來。

download embedXcode

雙擊兩下下載回來的安裝包並安裝,然後開啟 Xcode 在新建專案時你就會看到 embedXcoed 的專案類型可以選擇囉!

download embedXcode

寫在最後

這邊提到到的三個是我曾經用過的開發環境,早期我是用 Sublime Text ,但最近發現 Brackets 提供的較為完整所以我就跳槽了,哈哈!

embedXcode 則是給習慣使用 Xcode 開發程式的 Maker 用的,或許我未來也會選擇採用這個。

如何解決 Homebrew Update 失敗?

相信許多用 MAC 系統的程式設計師、工程師們都有用 Homebrew 這個超好用的 Open Source 套件管理程式吧?

如果沒有的話,你可以透過以下的指令安裝:

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

不過今天不是要來介紹如何使用 Homebrew 的,而是要跟大家分享一下我怎麼解決無法 Update 的問題...

繼續閱讀