工業局生醫電子

2017年5月15日 星期一

iBeacon: 用RSSI 如何推算距離?


iBeacon Payload中的TX power (Measured Power

Measured Power

Measured Power is a factory-calibrated, read-only constant which indicates what's the expected RSSI at a distance of 1 meter to the beacon. Combined with RSSI, it allows you to estimate the distance between the device and the beacon.
Beacon 本身讓接收端(如手機)能知道當Beacon發射1公尺的距離時, 接收端應該得到的RSSI是多少? 然後配合接收端實際的RSSI 值, 可以估算出接收端到Beacon間的距離

RSSI 如何計算距離?


Reference:

  1. 通訊名詞-RSSI、SNR、dbm
  2. https://community.estimote.com/hc/en-us/articles/201636913-What-are-Broadcasting-Power-RSSI-and-other-characteristics-of-a-beacon-s-signal-


IOT

2017年5月13日 星期六

LinkIt Smart 7688 Duo 試玩



預設為AP Mode: 連接後它LinkIt_Smart_7688_1B2934
1B2934為MAC Address, 每個機器不同

PC連接上後, 可以連線到http://192.168.100.1 進入控制頁面
進行Firmware Upgrade 到V0.93 (此為當下最新版)

預設帳密為root/arduino

也可以用SSH登入LinkIt_Smart_7688
root/arduino



IOT








Get Started with the 7688 Duo Board


· Install Arduino IDE 1.6.4 or later.


· For Arduino IDE to recognize the LinkIt Smart 7688 Duo development board, you need to install a board support package







http://download.labs.mediatek.com/package_mtk_linkit_smart_7688_index.json






// the setup function runs once when you press reset or power the board
void setup() {
  // initialize digital pin LED_BUILTIN as an output.
  pinMode(13, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
  digitalWrite(13, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(200);                       // wait for a second
  digitalWrite(13, LOW);    // turn the LED off by making the voltage LOW
  delay(200);                       // wait for a second
}



  • https://labs.mediatek.com/site/global/developer_tools/mediatek_linkit_smart_7688/get_started/7688_duo/arduino/
References

https://labs.mediatek.com/site/global/developer_tools/mediatek_linkit_smart_7688/get_started/7688_duo/arduino/


參考資料


  1. MediaTek Labs  Dev Tools & Resources  


2017年5月11日 星期四

VM 虛擬化概念(一)



只有一顆 CPU,同時執行多個作業系統, 而讓每一個作業系統以為他使用到全部CPU資源,然而這是 CPU 虛擬化得來的結果。(類似Multi-thread, 每個thread以為自己是CPU唯一的使用者,然而這是OS 進行排程scheduling的結果 ,使得每一個 thread 感覺同時執行中)\

實現VM的軟體稱之VMM (Virtual Machine Monitor),它伴演一個Virtual Machine Manager 的角色。它是虛擬化技術的實踐者,對Guest OS 作出一個抽象化(虛擬化)的架構,使得Guest OS 看不到真正的硬體,只看得到VMM,而把CPU、Memory、I/O全部抽象化。


虛擬化CPU:

  • 讓每一個Guest OS 以為只有一個CPU, 並且完全擁有系統所有資源。 這須要存在一個Virtual Machine Monitor (Hypervisor) 來實現,讓 Guest OS 跑Hypervisor上。所有 Guest OS 產生的Exception 都送到Hypervisor上來處理。

2017年4月30日 星期日

CNY70 光感測器:IR Infrared Reflective Sensor



CNY70 光感測器

CNY70 的內部結構如圖所示,其中包含紅外線發光二極體,光電 晶體,以及光濾波器,其功能分別是: A. 紅外線發光二極體: 類似發光二極體(LED)的功能,當 PN 兩端加上順向偏壓時可 發出波長為 800nm 的紅外線不可見光。 B. 光電晶體: 為一個對紅外線波長具敏感反應的光偵測元件,當光電晶體 受紅外線光照射時為低阻抗,而未受光時呈現高阻抗。




TCRT5000L IR Infrared Reflective Sensor

應用: 尋跡車


http://jackedu.blogspot.tw/2015/06/ardublockmotoduino.html





  參考資源:

  1. http://jackedu.blogspot.tw/2015/06/ardublockmotoduino.html



2017年4月29日 星期六

電磁波





無線電波: 

調幅廣播(AM Brocasting)是利用載波振幅大小的變化而把音波之高低聲音載走。調幅廣播 ... 國際性電臺使用短波(高頻)發射,其頻率範圍為3MHz(兆赫)至18MHz。

台灣:
AM 調幅廣播,頻率範圍:530-1705kHz
FM 調頻廣播,頻率範圍:63-108MHz

2017年3月26日 星期日

USB Host 端如何區別 Low Speed, Full Speed , High Speed ?



  • USB 1.0 Low Speed: 1.5Mbps : D- 接一個上拉電阻
  • USB 1.1 Full Speed : 12Mbps : D+ 接一個上拉電阻
  • USB 2.0 High Speed: 480Mbps : D+ 接一個上拉電阻

USB Electrical

其中, R2, R3 接15K (下拉)電阻到GND(在晶片內控制)。


Full Speed 為例, 如下圖 , 當USB Device 插入USB Host 端時, USB_D+ 可以查覺到High (1.5K和15K分壓的結果), Host 便知道有USB Device 插入了, 並且知道這是Full Speed的狀置。若是USB_D- 接上拉電阻, 則知這是插入了Low Speed設備。
USB 1.1 Full Speed : D+ 接一個上拉電阻

如何知道是Full Speed 或  High Speed ?

要知道一個設備是否支援High Speed,需使用兩個特殊的信號狀態。


USB 2.0 devices use a special protocol during reset, called chirping, to negotiate the high bandwidth mode with the host/hub. 
  • A device that is USB 2.0 High Speed capable first connects as an Full Speed device (D+ pulled high), but upon receiving a USB RESET (both D+ and D− driven LOW by host for 10 to 20 ms) it pulls the D− line high, known as chirp K. This indicates to the host that the device is high bandwidth. 
  • If the host/hub is also HS capable, it chirps (returns alternating J and K states on D− and D+ lines) letting the device know that the hub operates at high bandwidth. The device has to receive at least three sets of KJ chirps before it changes to high bandwidth terminations and begins high bandwidth signaling. 
  • Because USB 3.0 uses wiring separate and additional to that used by USB 2.0 and USB 1.x, such bandwidth negotiation is not required.

在Reset期間,支援High Speed的設備會送出一個 Chirp K。支援High Speed的Hub檢測到該 Chirp 後,會送出交替的 Chirp K 與 J。當設備檢測到 KJKJKJ 的樣式後,它會移除它的Full Speed上升電阻,然後在High Speed執行所有的通信。如果集線器沒有對設備的 Chirp K 做出相應,設備知道它必須 繼續使用Full Speed通信。

Signalling 

USB 1.1 full-speed

  • D+ high :is J;  and K is inverse of J state
  • Sync --> Line Transitions: KJKJKJKK
  • End of Packet (EOP): Line Transitions: SE0 + SE0 (D+, D+ are low) + J


Line transition pattern


Example of a Negative Acknowledge packet transmitted by USB 1.1 full-speed device when there is no more data to read. It consists of the following fields: clock synchronization byte, type of packet and end of packet. Data packets would have more information between the type of packet and end of packet.

USB Packet Format


 參考


  1. https://en.wikipedia.org/wiki/USB
  2.  USB-IF
  3. http://www.ittraining.com.tw/ittraining/course/firmware/usb