2015年5月13日 星期三

Open source concept - Chinese

寫的非常好, 有關GNU GPL, from  .
http://ycfu.blog.mypc.tw/2008/01/open-source.html

另一個折衷的GPL與BSD之間的license 叫LGPL, 大部分使用在library.
GNU較寬鬆公共授權條款 英語GNU Lesser General Public License)簡稱LGPL,是由自由軟體基金會公布的自由軟體授權條款。它允許企業與軟體開發者使用,或將LGPL授權的軟體整合至他們自己的軟體內(即使該軟體是私有軟體也被允許),同時不會受到Copyleft特性的授權條款強制對軟體開源的限制。該授權條款常被用於一些(但不是全部)的GNU程式庫。
from wikipedia: http://zh.wikipedia.org/wiki/GNU%E5%AE%BD%E9%80%9A%E7%94%A8%E5%85%AC%E5%85%B1%E8%AE%B8%E5%8F%AF%E8%AF%81

2015年5月12日 星期二

WeChat JSAPI


The website has free download sample code includes old APIs and JSAPI.
http://binsee.github.io/wechat-php-sdk/2015/%E5%85%B3%E4%BA%8E%E5%BE%AE%E4%BF%A1JSAPI%E5%88%86%E4%BA%AB%E4%B8%8D%E8%83%BD%E4%BD%BF%E7%94%A8%E7%9A%84%E7%96%91%E9%97%AE%E8%A7%A3%E5%86%B3/

For JSAPI debug using, set
1.   wx.config({
      debug: true,
2. For chrome, open log view by pressing ctrl + shift + j.
  • Use the keyboard shortcut Command + Option + J (Mac) or Control + Shift + J (Windows/Linux).
  • Select Chrome Menu > More Tools > JavaScript Console.
3. Put the sample code on your website and put the link in wechat service page.
   Then will get Token and ticket to access it.
4. For access device via JSAPI, need to send mail to wxthings@foxmail.com to request open the authorization but not for test account. You should have real service account.
5. Compatible old version, add the code http://blog.csdn.net/snow_finland/article/details/43228839.

official wiki:
http://qydev.weixin.qq.com/wiki/index.php?title=%E5%BE%AE%E4%BF%A1JS%E6%8E%A5%E5%8F%A3

http://admin.wechat.com/wiki/index.php?title=JS_SDK_DOCUMENT (English)

2015年5月7日 星期四

interface for data communication

This article is simple description and summarize most interface for communication.
  • USB Client
  • WiFi
  • Audio Jack
  • Bluetooth
  • USB Host
  • NFC
  • FM
  • IR
http://blog.theultimatelabs.com/2012/11/the-ultimate-guide-to-connecting.html

2015年5月6日 星期三

Python note



1. Which GUI development tool for Python is good? (Chinese)
http://xdean.pixnet.net/blog/post/41253597-python%E4%BD%9Cgui%E9%96%8B%E7%99%BC%E7%9A%84%E9%81%B8%E6%93%87%EF%BC%BB%E8%BD%89%EF%BC%BD

It suggests that learn Tkinter as basic knowledge to coding small project, then use pyGtk,pyQt,WxPython to development large project.

2. Use install package tool
py2exePyPyPyInstaller  from http://zh.wikipedia.org/wiki/Python

3. Other tools for Python:
pywin32 could let Python acces Windows COM and API.
NumPySciPyMatplotlib for science.

4. Offside is needed.

5. IDE tool:
Base on PyQt and use Eric IDE tool is good suggestion.
  • Eric:基於PyQt的自由軟體。支援自動補全、智慧感知、自動語法檢查、工程管理、svn/cvs整合、自動單元測試等功能。偵錯功能與Visual Studio和Eclipse類似。目前同時有兩個版本。Eric4支援Python2.x,Eric5支援Python3.x。使用前需要先安裝相應的PyQt版本。 
  • About PyQt install, could refer this path: http://koko.ntex.tw/wordpress/?p=37
  • PyQt folder such as "D:\Python27\Lib\site-packages\PyQt4 " includes designer.exe UI editor.

6. Installer:
Use Py2exe to package .py as execute file.

7. package install tool: (Chinese)
easy_install and pip
http://coopermaa2nd.blogspot.tw/2012/12/easyinstall-pip.html

8. Reference:

2015年5月5日 星期二

CC254x production flash write solution


http://e2e.ti.com/support/wireless_connectivity/f/538/p/287303/1005075
https://www.elprotronic.com/products?show&id=28
http://www.deyisupport.com/question_answer/wireless_connectivity/bluetooth/f/103/t/31408.aspx

2015年5月4日 星期一

BLE pairing issue on Android 5.0.x


This issue occurs when device request pairing on initializing. Then Android 5.0.1 and 5.0.2 will show pairing alert windows but can't input digital key number after pressing pairing button.
I change the pairing mode to waiting for request from initial pairing. In these two systems will automatically bonded device in first connection. After that, the system won't request any pairing code. In others version, such as 4.4.2 and 4.3, the system will alert to input pin code, when BLE get inefficient authentication, user still could input passkey to bonding.

The below information I collect from internet. In order to solve this problem, may need to upgrade system to 5.1 from 5.0.x. Or change F/W pairing mode to wait for request. Although it won't request any passkey, but it works. 

Problems on
5.0.1 on Moto G 1^ gen
Nexus 5


Tomtom releases and support devices:
 Samsung Galaxy S3, S4, S5
  • Samsung Note 2 & 3
  • Nexus 5 & 6
  • HTC One M7 & M8
  • Motorola Moto X
  • LG G3
  • Sony Z2 & Z3

from 44 vbo...@gmail.com
Nexus devices are declaring its IO capability on pairing request as
DisplayYesNo instead of KeyboardDisplay, which is the case with Samsung
Galaxy S5 and some other devices. I guess Samsung is using it's own BT
stack which handles this nicely while Google/Nexus is having it's own which
is causing those issues.

Since watch is declaring itself as DisplayOnly on pairing, Google's or
whoever's BT stack is the only place where fingers should be pointed at.

They've managed to fix most of the issues which were there from 4.3 (losing
LTK on disconnections, zombie paired devices, false true for GATT
operations return, etc...) but this just made it completely useless.

#47 primoz.r...@gmail.com
It seems that this issue has been resolved in Android 5.1 factory image for Nexus 5.


Next problem: Bluetooth not working Glitch: Bluetooth not working
There have been a lot of different reports about Bluetooth issues with Android 5.0 Lollipop. Some people are having trouble pairing devices, some find that the connection can be established, but not all of the functions work correctly, and some report that it disconnects, apparently at random. There are a few things you can try:
Potential solutions:
  • First of all, make sure that you are trying to pair correctly. For some accessories, you'll need to hold down a button to enter pairing mode.
  • Try deleting old Bluetooth profiles on the device or system you're trying to connect to, in case you've reached a limit.
  • Go to Settings > Bluetooth on your Android device, touch the settings icon next to it, and then Unpair it. Reboot the phone and try again.
  • If you still can't connect, then delete the profile on both devices again. Afterward, go to Settings > Apps > All > Bluetooth Share and Clear data and Clear cache. Restart the phone, and set the connection up from scratch.
  • If you're still having problems, then refer to your manufacturer and make sure that your Bluetooth device is up to date. Also, watch out for Android updates.
from http://www.appy-geek.com/Web/ArticleWeb.aspx?regionid=1&articleid=35876498


It's not work for me.


#6 jose.sal...@gmail.com
 We are having the same issue with our devices, and after looking at the packets sent over the air, we realized  the root cause of the issue. The AOSP is incorrectly reporting its capabilities and setting IO capabilities as DisplayYesNo. Since the IO capabilities of the device is set to DisplayOnly, by protocol, the pairing mechanism is switched back to just works. If the device does not support just works, then the whole pairing/bonding process fails. Please look at the following link for a detailed explanation of this process: https://community.freescale.com/thread/332191.

 We need to know from Google if there is a way to code our App to set the OS capability to KeyboardDisplay in order to get around this issue. Right now our development team is looking at reflection to work around this issue but a little help from the Android developers would help.


Another bonding issue at 4.3
 Issue 64234:Bonding issue with BLE device in Android OS 4.3 https://code.google.com/p/android/issues/detail?id=64234

Tomtom device issues:
https://en.discussions.tomtom.com/mysports-connect-389/pairing-issue-on-nexus-5-android-5-948640/index3.html
Garmin device issues:
https://forums.garmin.com/showthread.php?163340-If-you-are-having-new-problems-since-Android-5-0-please-post-here

Casio watch issues:
 http://www.bluewatcher.es/supported.php
Other devices have the same issues:
http://movescountandroidbeta.com/android-beta-pairing-tips/

Android upgrade history -

Reference:
1. Google issue: https://code.google.com/p/android/issues/detail?id=80560
2. Tomtmo devices:
https://en.discussions.tomtom.com/mysports-connect-389/lollipop-bluetooth-pairing-issue-unable-to-enter-the-passcode-955054/index2.html
3. Android version market share
https://developer.android.com/about/dashboards/index.html
4. Android version 5 detail (chinese)
http://www.kocpc.com.tw/archives/13980
5. BLE IO setting
https://community.freescale.com/thread/332191
6. The same issues from TI forum
https://e2e.ti.com/support/wireless_connectivity/f/538/p/416347/1480714
7. https://code.google.com/p/android/issues/detail?id=79668
8. https://code.google.com/p/android/issues/detail?id=80807