2016年8月29日 星期一

Uint8 Uint16 Uint32...


Unsigned:表示無號,沒有負號,所以其範圍為正值
Singed:表示有號,有負號(一般沒有特別指名為 Unsigned皆為Singed)

uint80 to 255Unsigned 8-bit integer
uint160 to 65,535Unsigned 16-bit integer
uint320 to 4,294,967,295Unsigned 32-bit integer
uint640 to 18,446,744,073,709,551,615Unsigned 64-bit integer

2016年8月19日 星期五

英國網站購買 myprotein whey

本來想在costco購買on, 但已經沒貨了,

心一橫就去英國網站直接拉來了!!

紀錄一下購物流程


http://www.myprotein.com/home.dept

此時是25% off (太早買了, 應該要等35% off或是買二送一的時候)

購買了 5公斤胡桃鉗+2.5公斤藍莓起司蛋糕+GBP40運費

總共106英鎊(約1:42)

MYPROTEIN 08450949889
2016/08/152016/08/16
$4,309
GB $106.29

海外交易手續費
2016/08/152016/08/16
$65

583NT / 1KG 目前看來好像挺便宜的, 只希望別被扣稅了!

一開始會收到寄件資訊, 過大概半天就可以去查了

Delivery Information:
Order Number: 75578648


Track Your Order:

Tracking Number: HUT1862GB00174503601

To track your order online: Click here 
* Tracking Link will be active when the courier scans the parcel in their hub - estimated 12 hours.
Delivery Address:
Rm. 5, 5F., No.22 Wenchang 2nd St., Guishan Dist.
台灣桃園市龜山區文昌二街22號505室
Taoyuan City
Taiwan
TW
333

再過一天之後 收到EMS包裹資訊



Please find confirmation that your parcel shipped from THE HUT GROUP via TRAKPAK has been processed.
You may track your parcel using HUT1862GB00174503601 at www.trackmytrakpak.com
Alternatively, you may track your parcel using the local delivery partners tracking website using tracking number EK653716010ES via http://www.correos.es/ss/Satellite/site/pagina-localizador_envios/busqueda-sidioma=en_GB?numero=EK653716010ES 


Should you have any queries regarding the delivery of your parcel please contact  THE HUT GROUP, alternatively you may choose to contact the local delivery partner.


Please don't reply to this email – it's been automatically generated by our computer.

這時候可以用單號去中華郵政查 "國際快捷單號"

http://postserv.post.gov.tw/webpost/CSController?cmd=POS4004_1&_SYS_ID=D&_MENU_ID=189&_ACTIVE_ID=191

接下來就開始等吧(到這邊為止大概三個工作天)


郵件號碼:EK653716010ES
 
目前最新處理結果
狀態處理日期時間處理局詳細資料
投遞成功2016/08/24-10:10:59桃園郵局桃園快捷股
 

郵件詳細處理過程
狀態處理日期時間處理局詳細資料
投遞不成功2016/08/24-05:26:07桃園郵局桃園快捷股 未妥投原因:其他
後續處理方式:今天再(試)投
離開寄達國互換局2016/08/23-19:00:56台北郵件中心包進股 本件將轉往:桃園郵局桃園快捷股
清單號碼:1911
到達寄達國互換局2016/08/23-18:09:01台北郵件中心包進股 總包號碼:317
出口資料-詳如最右方2016/08/17-08:59:00 寄達國:中華民國
寄達互換局:TAIPEI
總包號碼:0317
交寄郵件2016/08/16-18:48:00 寄達國:中華民國

2016年8月11日 星期四

BLE 解析

Software: OSAL, HAL, BLE Protocol Stack (PS), profiles, application


[OSAL]
Operating System Abstraction Layer, 整個BLE 都是基於 OSAL 來做的, OSAL 不是一個完整的 OS, 但是他依然提供了不少 OS 會有的東西例如 Task, Event, Timer, Message Service...

[HAL]

HAL 為 Hardware Abstraction Layer, 他算是一個 HW/SW 中間的介面

[BLE Protocol Stack]

<Generic Access Profile (GAP)>

主要是處理 device access mode 和一些重要的 procedures 如
  • device discovery
  • link establishment
  • link termination
  • initiation of security features
  • device configuration.
GAP layer 可以扮演以下四種角色:
  • Broadcaster: 負責廣播資料, 無法被建立連線 (non-connectable)
  • Observer: 掃描並讀取其他裝置的廣播資訊 (advertisement), 但不能起始一個連線 (non-connectable)
  • Peripheral: 可以接受連線的 advertiser, 屬於一個 link layer slave 的角色
  • Central: 掃描 advertisement 並且可以起始和 peripheral 的連線, 是 link layer connection master 的角色. 目前的 TI BLE central stack 支援三個同時的連線.
<Generic Attribute Profile (GATT)>

  • GATT Client: 對 GATT Server 做 Read/Write data 的動作
  • GATT Server: 本身含有資料, 可以提供給 GATT Client 做 Read/Write 的動作
特別注意, GATT Role 和 GAP Role 是不相關的, GAP master/slave 都可以是 GATT Client/Server, GATT Role 是以資料放在誰那邊做區分, GAP Role 則是以誰發起連線需求做區分 (這邊非常容易搞混)

GATT Server 會包含多個 GATT Services, 也就是提供資料的服務集合, 那其中有兩個 Services 是 Mandatory (必要) 的:
  • Mandatory GAP Service: 裝置跟存取相關的資訊, 例如裝置名稱, 提供者, 產品ID 等等, 每個 BLE 裝置一定要有這個 GAP Service, TI BLE Lib 內建此 GAP Service, 不提供 source code.
  • Mandatory GATT Service: GAT Server 的資訊, 每個 GATT Server 一定要有這個 Service,TI BLE Lib 內建此 GAP Service, 不提供 source code.
Service 下面會有 Characteristics, 也就是此 Service 的 Value, GATT Server 的 Characteristics value 和其 properties/configurations (descriptors) 會放在 attribute table 內, 由很多 attribute 所組成, 除了資料本身外, 每個 attribute 包含了以下三個欄位:
  • Handle: 可以看成是此 attribute 的 address (unique)
  • Type: 哪一種資料型態, 通常會是一個 "UUID" (universal unique identifier), 對應到一個 predefined type (Bluetooth SIG 定義的), 但也可以是 custom type
  • Permissions: 說明 GATT client 如何存取資料 
GATT Server/Client 之間的通訊可以透過以下的 sub-procedures 達到:
  • Read Characteristic Value: 讀取某 handle 的資料
  • Read Using Characteristic UUID: 一次讀取某特定 Type (UUID) 的所有 Characteristics 資料, 會取得多組 handle/value, GATT client 不用知道 handle 就可以讀
  • Read Multiple Characteristic Values: 一次讀取多個 handles 的資料
  • Read Characteristic Descriptor: 由 handle 去讀取 characteristic descriptor 的資料
  • Discover Characteristic by UUID: GATT client 由 type 去取得 GATT server characteristic 的 handle
  • Write Characteristic Value: 寫入某個 handle 的資料值
  • Write Characteristic Descriptor: 寫入某個 characteristic descriptor 值, 藉由 handle
[Profile]



2016年8月2日 星期二

“Gradle Version 2.10 is required.” Error

Android Studio 遭遇

Warning:Gradle version 2.10 is required. Current version is 2.8. If using the gradle wrapper, try editing the distributionUrl in C:\Users\blahblah\myproject\gradle\wrapper\gradle-wrapper.properties to gradle-2.10-all.zip


即為Gradle版本過低,

解決步驟

1) File > Settings > Builds,Execution,Deployment > Build Tools > Gradle >Default

2) 開啟 Project\gradle\wrapper\gradle-wrapper.properties

輸入 distributionUrl=https\://services.gradle.org/distributions/gradle-2.10-all.zip

小孩額溫計 - 初期晶片選用 (嵌入式系統開發)

大致來說, 嵌入式系統組成主要是基於

Sensor ----- MCU ----- Client

在這個案子中, 因為Sensor部分只有Temperature,

資料處理簡單, 因此初步先嘗試直接用BT模組的8051來當作MCU使用,

Sensor - TI - tmp107

BT module - MICROCHIP - BM70

APP - iOS + Android


很簡單的應用, 難度主要在於利用最簡單的元件,

達成省電以及設定的需求



--------------------------------

BM70目前使用MCP2000來做UART to USB的介面,

但在電腦上驅動怎麼裝都裝不起來...

MicroChip的討論串
http://www.microchip.com.tw/modules/newbb/viewtopic.php?topic_id=19316&start=0

測了幾台電腦, 就我的工作機不work, 好吧...

先不管它了, 要燒錄再用自己的筆電吧...



--------------------------------


經過測試,TMP107在20~42的溫差過高,不適合用於體溫偵測

因此改採LMT70兩顆,其中一顆作為環境溫度補償機制

並新增MCU PIC12F1572 來作為控制器