2018年7月25日 星期三

iOS read MAC address - chinese

https://www.jianshu.com/p/1d6a8fc8134f

1. After connection, read characteristic value
- (void)centralManager:(CBCentralManager *)central didConnectPeripheral:(CBPeripheral *)peripheral
 {
     peripheral.delegate = self;
    [peripheral discoverServices:@[[CBUUID UUIDWithString:@"180A"]]];
}

#pragma mark - CBPeripheralDelegate
- (void)peripheral:(CBPeripheral *)peripheral didDiscoverServices:(NSError *)error{
    CBService *service = peripheral.services.firstObject;
    [peripheral discoverCharacteristics:@[[CBUUID UUIDWithString:@"2A23"]] forService:service];
}

2.在扫描的过程中就获取设备的Mac地址
put the address to adv data - key:kCBAdvDataManufacturerData

2017年9月17日 星期日

Nordic 52832 - development



Softdevice - nRF52

nRF52832 IC revisionnRF5 SDKS132 SDS132 SDSS212 SDS212 SDSS332 SDS332 SDS
Engineering A0.9.x11.0.0-3.alpha-0.2.0-1.alpha---
Engineering B11.0.0-2.alpha2.0.0-7.alpha-0.5.1.alpha---
-2.0.0-8.alpha-0.6.0.alpha-0.6.0.alpha-
Engineering C, Revision 111.0.022.0.x22.00.9.x2-0.9.x2-
12.0.03.x.x3.12.0.0-2.0.0-
12.1.0
12.2.0
13.0.0-1.alpha5.0.0-1.alpha-
-5.0.0-2.alpha-----
-5.0.0-3.alpha-----
13.0.04.0.x4.14.0.2---
13.1.0-4.0.2-
14.0.05.0.05.0---
1 SDK 0.9.x is compatible with nRF52 series only.
2 If workaround for anomaly 73 is implemented, nRF5 SDK 11.0.0 can be used for development purposes together with SoftDevice S132 2.0.0/S212 0.9.x/S332 0.9.x on nRF52832 Engineering B. For more information, see nRF52 Engineering B Errata or nRF5 SDK 11.0.0 release notes.


nRF52832 IC revisionPacket variant1Build code1PackageFlashRAM
Engineering AQFAAAA0QFN48512 kB64 kB
AC0
Engineering BQFAABA0QFN48512 kB64 kB
CHAAAA0WLCSP
Engineering CQFAABB0QFN48512 kB64 kB
CHAABA0WLCSP
CIAABA0WLCSP
1QFAAB00QFN48512 kB64 kB
QFABQFN48256 kB32 kB
CIAAWLCSP512 kB64 kB
1 Packet variant and build code can be read from markings on top of the nRF52 IC.


2016年11月17日 星期四

BLE White List note

1. Chinese article
http://thinkingiot.blogspot.tw/2015/02/ble-security-3-ble-denial-of-service.html
http://www.deyisupport.com/question_answer/wireless_connectivity/bluetooth/f/103/t/87181.aspx

http://e2e.ti.com/support/wireless_connectivity/bluetooth_low_energy/f/538/p/414562/1475140

2016年10月4日 星期二

2016年9月8日 星期四


1. Advertising package detail: (Chinese)
http://www.race604.com/ble-advertising/

2. Device name:

1down voteaccepted
Assuming that you are able to get connected with the GATT Server, when you parse the GAP profile of the device, you will find an attribute for Device Name under Generic Access Profile (GAP).UUID for GAP is 0x1800, and that for the Device Name Characterstic is 0x2A00. This pageexplains that the Device Name characteristic is a part of the GAP.
from http://stackoverflow.com/questions/33113141/how-do-you-get-the-actual-name-of-a-bluetooth-low-energy-device

3. GATT UUID (chinese)
https://www.bluetooth.com/zh-cn/specifications/gatt

4. ScanRSP local name and GATT device name (Chinese)
http://www.deyisupport.com.edgekey.net/question_answer/wireless_connectivity/bluetooth/f/103/p/61359/136416.aspx

4. For TI update device name use APIs.
GAPRole_SetParameter( GAPROLE_SCAN_RSP_DATA,);
GAP_UpdateAdvertisingData();
GGS_SetParameter( GGS_DEVICE_NAME_ATT, GAP_DEVICE_NAME_LEN,name);//attDeviceName );
用这三个函数 就可以了 

2016年9月5日 星期一

Nordic nRF51 dongle for NUS peripheral solution

1. Evaluate feasibility -
https://devzone.nordicsemi.com/question/44948/ble_peripheral-on-pca10031-dongle/

2. Virtual COM
Refer to user manual
http://infocenter.nordicsemi.com/pdf/nRF51_Dongle_UG_v1.0.pdf
P0.09 TXD
P0.11 RXD

2016年8月29日 星期一

Android NFC sample code

1. Read Tag ID
http://www.java2s.com/Open-Source/Android_Free_Code/Development/data/com_nathansizemore_nfcvreaderMainActivity_java.htm

transceive()

TI -
NFC Type 5 Tag Platform After pressing the R/W button, present a NFC tag (doesn't have to be formatted). in this example we are presenting an unformatted NFC Type 5 (ISO15693, TI HF-I) tag. Note that the tab automatically flips to R/W: Legacy and the type of card is displayed graphically along with the Unique ID (in this case, E007000017F4E0E4). Press the Format NDEF button to make the tag NFC-V type. This puts a Capability Container with empty NDEF in the user memory.
http://www.ti.com/lit/ug/slou386/slou386.pdf

https://e2e.ti.com/support/wireless_connectivity/nfc_rfid/f/667/p/427665/1755155
https://e2e.ti.com/support/wireless_connectivity/nfc_rfid/f/667/t/427665

source code
http://blog.chinaunix.net/uid-87897-id-4652300.html
http://stackoverflow.com/questions/15689582/reading-a-nxp-icode-sli-l-tag-with-android
http://stackoverflow.com/questions/35235284/ti-nfc-write-single-block-with-android-nfcv-iso-15693


read multiple blocks command
Use Read Multiple Blocks to get value, it's ISO15693 standard command
Read Multiple Blocks (Addressed) otherwise will get 0x02 response. I don't know why.
The blue background bytes will be generated by byte[] transceive (byte[] data).

buf[0] = 0x8f; /* Reset FIFO command */ 
buf[1] = 0x91; /* Send with CRC */ 
buf[2] = 0x3d; /* Write continuous from register 1D */ 
buf[3] = (char) (size >> 8); /* Data for register 1D */ 
buf[4] = (char) (size << 4); /* Data for register 1E */
buf[5] = 0x00; /* ISO15693 flag with option flag not set*/ 
buf[6] = 0x23; /* Read multiple blocks command code */ 
buf[7] to buf[14] contains UID 
buf[15] = First block number 
buf[16] = Number of blocks
http://www.ti.com/lit/an/sloa138/sloa138.pdf
code example and also refer to the attached.
http://www.itstrike.cn/Question/d024832d-a8ed-446c-95d8-cbafb1b01724.html
Send raw NFC-V commands to the tag and receive the response.
Applications must not append the CRC to the payload, it will be automatically calculated. The application does provide FLAGS, CMD and PARAMETER bytes.
https://developer.android.com/reference/android/nfc/tech/NfcV.html

2016年8月4日 星期四

Does RF module needs shielding cover? (Chinese)

If for module to get RF certification, I think module need to add shielding case according to regulation require.
If use module on the system, it may not need the cover. It's depending on the test result.

提案編號:09611077 主旨:LP0002 模組認證之規定,發射器模組射頻元件部份必須具有自己的屏蔽外殼(RF shielding)。若 該模組不使用屏蔽外殼依然能通過相關測試,如某些功率極低的藍牙模組,是否強制要求加屏蔽 外殼?
結論:模組認證有其獨立性,為了避免模組與平台產生耦合現象,維持現有規定,即發射器模組 射頻元件部份必須具有自己的屏蔽外殼(RF shielding)。
from http://www.etc.org.tw/_library/K00/%E9%9B%BB%E4%BF%A1%E7%B5%82%E7%AB%AF%E8%A8%AD%E5%82%99%E5%AF%A9%E9%A9%97/11030.pdf
-電信終端設備審驗-

5.11.1 發射機模組射頻組件部份應具有屏蔽外殼(RF shielding)。
http://www.bsmi.gov.tw/wSite/public/Data/f1401325024931.pdf

問:無線模組有遮蔽的金屬蓋(Shielding cover)是必要的嗎? 答:是的。無線模組的金屬遮蔽蓋是為避免外在環境的 RF 訊號影響無線 模組的運作效能,因此是必要的。
from 康景科技 ( CONJIGN NETWORKS INC.)

RF module design
http://www.emcfastpass.com/rf-modules/
RF Module Shielding
RF Module shieldingThe radio elements of the transmitter must be shielded. There are a few parts that are permitted to be external to the shield such as PCB antenna (if that’s the type you’re using) and tuning capacitors. But for the most part, all components associated with your transmitter should be housed beneath a shield. This is to limit any emissions from the design. I’ve seen FCC submissions where the OEM has claimed that a ground plane is sufficient for a ‘shield’, and they got away with it. But they must have caught the TCB (the body that issues the certification) on a good day. In my experience I would say not many TCBs would let you away with that.

2016年8月3日 星期三

Team Foundation Service - Chinese

1. Good introduction
http://kevintsengtw.blogspot.tw/2012/11/team-foundation-service.html

http://blog.miniasp.com/post/2011/09/01/TFS-2010-Version-Control-Notes-How-to-update-many-unversioned-files.aspx

http://www.syscom.com.tw/ePaper_New_Content.aspx?id=347&EPID=191&TableName=sgEPArticle

2016年7月28日 星期四

Windows BLE solution

Bluesoleil - software SDK and tools
http://www.bluesoleil.com/products/S0001201005190001.html

C# driver interface for BLED112 solution
https://github.com/ahouben/BleDriver.NET

EXPERIMENT 01 – HEART RATE NOTIFICATIONS WITH PYTHON AND BLE DONGLE (BLED112)
http://angelsensor.com/blog/2015-06-08/experiment-01-heart-rate-notifications-with-python-and-ble-dongle/

Microsoft windows HRS solution
https://code.msdn.microsoft.com/windowsapps/Bluetooth-Generic-5a99ef95

ceriboo HRM APP
https://www.microsoft.com/zh-tw/store/p/heart-beat-monitor/9wzdncrdkw2v

BLED112 dongle
https://www.bluegiga.com/en-US/support/
https://www.bluegiga.com/en-US/products/bled112-bluetooth-smart-dongle/
application
http://www.silabs.com/Support%20Documents/RegisteredDocs/UG208.pdf

2016年7月13日 星期三

Responsive Web Design free template

Most of RWD web template is not free.
You could find some free samples from here.
https://html5up.net/

2016年7月3日 星期日

WeChat Hardware Developer Note


For new version of WeChat platform (7/4/2016), they provide the server application and platform to build up the server application without handling the communication by manufactures themselves. This job normally needs to do by manufactures or their 3rd party company.

--> 以下內容取自於 WeChat website
设备厂商在使用测试帐号进行开发调试的过程中,可通过“设备直连微信硬件云通道”或“设备商云连接微信硬件云通道”接入微信硬件平台
-->

微信硬件平台是基于微信公众号体系的智能硬件平台,在公众号的技术架构里,设备厂商必须要有自己的服务器。

微信硬件平台将提供基于各个硬件平台上的微信硬件直连SDK,通过SDK硬件设备直接连接到微信硬件服务器,打通设备到云端的通道,SDK提供连接登录、鉴权、状态上报、命令发送、固件更新等基础联网功能。

消息接收能力:即设备接收微信图片、音乐、文件、地理位置消息的能力。
微信硬件平台在连接千万设备的过程中,提出了"每个硬件都是一个APP"的全新概念。这意味着每个硬件都能像APP一样,可以把消息分享到微信,同时可以接收并处理微信内的原生消息。


http://iot.weixin.qq.com/wiki/new/index.html?page=2-2

Air Kiss 技术的应用场景
随着移动互联网与物联网技术的发展,越来越多的设备具有了无线网络的接
入能力。这些设备的特点是小型化以及低功耗,大多数类似的设备都没有配置屏
幕以及键盘等输入外设,因此如何将无线网络的 ssid 与密码传输到这类设备成为
一大难题。

Air Kiss 技术对应用设备的硬件几乎没有额外的要求,仅需在设备上配置一
个按键,用户在长按后会进入 Air Kiss 模式,如下图所示。在本例中,智能插
座在按下了 Air Kiss 按键之后,指示灯闪烁,成为了 Air Kiss 技术中信息的接收
方。另外,用户需在手机端(或者其它具有无线网络接入能力的设备)安装 Air Kiss
软件,安装完成之后,手机端便具有了 Air Kiss 信息传输能力,成为 Air Kiss 技
术中的信息发送方。用户使用 Air Kiss 的交互流程如下:
①按下智能插座上的 Air Kiss 模式按键,Air Kiss 指示灯闪烁,智能插座进入信
息接收状态。
②打开手机端进入 Air Kiss 的 ssid 与密码发送界面中,当前无线网络环境下 AP
的 ssid 已经帮用户填入,用户只需要填写密码,然后点击发送即可。整个 Air Kiss
过程将在 15 秒内完成。
http://iot.weixin.qq.com/wiki/doc/wifi/AirKissDoc.pdf

  • 在硬件设备固件中添加微信AirKiss 3.0 SDK,使其支持微信转发的消息格式,同时允许被微信发现 - 由于Airkiss3.0 SDK需要根据设备的硬件平台来专门编译提供,目前采用线下邮件申请的方式。请填写申请表,并发送邮件至wxthings@foxmail.com,邮件标题请注明“微信Airkiss3.0 SDK申请”。
  • . 每个型号统一的二维码----型号二维码是指一个二维码对应某一个类别/型号的产品,不包含某个具体设备的信息,因此在设备生产过程中,不需要二维码与设备进行一一对应。用户使用扫一扫,扫描品类二维码时,微信客户端会通过局域网发现技术搜索该类别/型号的设备,发现后再进行绑定。因此,使用型号二维码的设备必须支持微信AirKiss局域网发现(即AirKiss2.0)--- 
  • 2.3 开发流程
  • 2.3.1 设备授权
  • 使用型号二维码,需要在设备授权时,添加产品编号字段"product_id": “****”。

Reference - Chinese
http://iot.weixin.qq.com/wiki/new/index.html?page=1-4
Solution vendor:
http://iot.weixin.qq.com/wiki/new/index.html?page=6-2-1

2016年6月24日 星期五

2016年6月21日 星期二

Bluetooth certification - on board or module - note- Chinese


  • 公司已取得認證之Bluetooth Module組裝產品(Keyboard)是否須再次申請NCC認證?

  不需要,B公司向A公司取得該認證之Bluetooth Module的使用授權即可

Bluetooth certification list:
If the profiles and design are the same, don't need to certificate again.
One ID could list a lot of products. But if would like to assign new model with new ID, it needs to apply new ID.

Module if has RF regulation test certification, the product without changing RF antenna and module design, be able to use the certification.

http://thinkingiot.blogspot.tw/2016/05/bqb.html
http://www.quietek.com/chinese/cert/ncc.aspx?cpid=14&dpid=18
http://www.app-device.com/bluetooth-deepblue/
http://raytac.pixnet.net/blog/post/72467033-%E9%96%8B%E7%99%BC%E8%97%8D%E8%8A%BD4.0-(%E8%97%8D%E7%89%994.0)-%E7%94%A2%E5%93%81%E7%9A%84%E5%AE%89%E8%A6%8F%E6%B8%AC%E8%A9%A6%E8%B2%BB%E7%94%A8%E5%A6%82

2016年6月20日 星期一

Bluetooth 5.0 is coming


  • SIG is going to release 5.0 in June, 2016.
      http://www.ibtimes.com/bluetooth-50-heres-why-new-wireless-standard-matters-2383305
  • Expect to see new device next year.
  • Improve 4 times the connection range compare to 4.0.
  • Improve the data speed to double than 4.0.
  • Design for IOT application.
  • That demand stems in large part from devices connected to the Internet of Things, especially low-power beacons.
  • Bluetooth 5 will make beacons, location awareness, and other connection-less services  effortless and seamless.
  • Instead of automatically requesting to pair with a device, Bluetooth 5.0 will be smart enough to analyze the type of connection required to transmit the information.
     http://www.pcmag.com/news/345316/bluetooth-5-0-to-quadruple-range-double-speed
     https://www.bluetooth.com/news/pressreleases/2016/06/16/-bluetooth5-quadruples-rangedoubles-speedincreases-data-broadcasting-capacity-by-800