前言
話說最近「腦細」話要用RFID技術於現有的公司運作中,於是「腦細」就英明地在香港某公司買了一個RFID printer, 又買了RFID tag還買了RFID reader & writer。
然而「腦細」由於「腦細」,他花了萬多元買的RFID reader & writer是一支OEM原型機,只內附一個行Android 4.4.4的系統。儀器內的Apps只是一個demo version ,只能read tags, 不能save成檔案,更惶說要把儲存了所讀取了的tag data 檔案導出成檔案。
「腦細」見事態不對,只放下一句 : 「事到如今,點都要整到的了。」就把屎送到我面前.....
面對著一督屎,我就係一督屎,命比蟻便宜。
雖然我用的是HTC手機,但我對Android可說是一無所知。既然有屎要食,也只好惡補一下Android,看看是否能把一件買回來的廢物變回有用的工具。
注意,我不是Programmer,我只是一個讀香港非三大BBA出身的一般文職office 人員。
不過一直以來都對學習寫一個語言程式很感興趣。或許這次是上帝給我學習的一個Trigger point。
1.) 首先要基本認識一下Android。
作為一個普通,電腦用家,最基本就是上網看看維基天書。維基基本是所有武功的入門途徑吧。
基本介紹:
Android(讀音:英:['ændrɔɪd],美:[ˈænˌdrɔɪd]),中文俗稱安卓,是一個基於Linux核心的開放行動作業系統,由Google成立的Open Handset Alliance(OHA,開放手機聯盟)持續領導與開發,主要設計用於觸控螢幕行動裝置如智慧型手機和平板電腦。
顯示布局
Android作業系統支援更大的解像度,VGA,2D顯示,3D顯示都給予OpenGL ES 3.0標準規格(4.3版本開始支援OpenGL ES 3.0),並且支援傳統的智慧型手機。
資料存儲
Android作業系統內置SQLite小型關聯式資料庫管理系統來負責存儲資料。
網路
Android作業系統支援所有的網路制式,包括GSM/EDGE、IDEN、CDMA、TD-SCDMA 、EV-DO、UMTS、Bluetooth、Wi-Fi、LTE、NFC和WiMAX。
資訊
作為原設計給智慧型手機使用的作業系統,Android作業系統原生支援簡訊和郵件,並且支援所有的雲端資訊和伺服器資訊。
語言
Android作業系統支援多語言。
瀏覽器
Android作業系統中內建的網頁瀏覽器基於WebKit核心,並且採用了Chrome V8引擎。在Android 4.0內置的瀏覽器測試中,HTML5和Acid3故障處理中均獲得了滿分,並且於2.2版至4.0版之前能原生支援Flash,4.0版本後去除對Flash的支援。
支援Java
雖然Android作業系統中的應用程式大部分都是由Java編寫的,但是Android卻是以轉換為Dalvik executables的檔案在Dalvik虛擬機上執行的。由於Android中並不自帶Java虛擬機,因此無法直接執行Java程式。不過Android平台上提供了多個Java虛擬機供用戶下載使用,安裝了Java虛擬機的Android系統可以執行Java_ME的程式。5.0版(Lolipop)開始以Android Runtime(ART)取代Dalvik虛擬機。
媒體支援
Android作業系統本身支援以下格式的音訊/視訊/圖片媒體:WebM、H.263, H.264(in 3GP or MP4 container)、MPEG-4 SP、AMR, AMR-WB(in 3GP container)、AAC, HE-AAC(in MP4 or 3GP container)、MP3、MIDI、Ogg Vorbis、FLAC、WAV、JPEG、PNG、GIF、BMP。如果用戶需要播放更多格式的媒體,可以安裝其他第三方應用程式。
流媒體支援
Android作業系統支援RTP/RTSP(3GPP PSS, ISMA)的流媒體以及(HTML5 <video>)的流媒體,同時還支援Adobe的Flash,在安裝了RealPlayer之後,還支援蘋果公司的流媒體。
硬體支援
Android作業系統支援識別並且使用視頻/相片攝像頭,多點電容/電阻觸控螢幕,GPS,加速計,陀螺儀,氣壓計,磁力儀(高斯計),鍵盤,滑鼠,USB Disk,專用的遊戲控制器,體感控制器,遊戲手把,藍牙裝置,無線裝置,感應和壓力感測器,溫度計,加速2D位位塊傳輸(硬體方向,縮放,像素格式轉換)和3D圖形加速。
多點觸控
Android支援原生的多點觸控,在最初的HTC Hero智慧型手機上即有這個功能。該功能是內核級別(為了避免對蘋果公司的觸控螢幕技術造成侵權)。
藍牙
Android支援A2DP,AVRCP,發送檔案(OPP),存取電話簿(PBAP),語音撥號和方送智慧型手機之間的聯繫。同時支援鍵盤,滑鼠和搖桿(HID)。
多工處理
Android作業系統支援原生的多工處理。
語音功能
除了支援普通的電話通話之外,Android作業系統從最初的版本開始就支援使用語音操作來使用Google進行網頁搜尋等功能。而從Android 2.2開始,語音功能還可以用來輸入文字、語音導航等功能。
無線共享功能
Android作業系統支援用戶使用本機充當「無線路由器」,並且將本機的網路共享給其他智慧型手機,其他機器只需要通過WiFi尋找到共享的無線熱點,就可以上網。而在Android 2.2之前的作業系統則需要通過第三方應用或者其他定製版系統來實現這個功能。
截圖功能
從Android 4.0開始,Android作業系統便支援截圖功能,該功能允許用戶直接抓取智慧型手機螢幕上的任何畫面,用戶還可以通過編輯功能對截圖進行處理,還可以通過藍牙/E-mail/微博/共享等方式發送給其他用戶或者上傳到網路上,也可以拷貝到電腦中。
Android(讀音:英:['ændrɔɪd],美:[ˈænˌdrɔɪd]),中文俗稱安卓,是一個基於Linux核心的開放行動作業系統,由Google成立的Open Handset Alliance(OHA,開放手機聯盟)持續領導與開發,主要設計用於觸控螢幕行動裝置如智慧型手機和平板電腦。
顯示布局
Android作業系統支援更大的解像度,VGA,2D顯示,3D顯示都給予OpenGL ES 3.0標準規格(4.3版本開始支援OpenGL ES 3.0),並且支援傳統的智慧型手機。
資料存儲
Android作業系統內置SQLite小型關聯式資料庫管理系統來負責存儲資料。
網路
Android作業系統支援所有的網路制式,包括GSM/EDGE、IDEN、CDMA、TD-SCDMA 、EV-DO、UMTS、Bluetooth、Wi-Fi、LTE、NFC和WiMAX。
資訊
作為原設計給智慧型手機使用的作業系統,Android作業系統原生支援簡訊和郵件,並且支援所有的雲端資訊和伺服器資訊。
語言
Android作業系統支援多語言。
瀏覽器
Android作業系統中內建的網頁瀏覽器基於WebKit核心,並且採用了Chrome V8引擎。在Android 4.0內置的瀏覽器測試中,HTML5和Acid3故障處理中均獲得了滿分,並且於2.2版至4.0版之前能原生支援Flash,4.0版本後去除對Flash的支援。
支援Java
雖然Android作業系統中的應用程式大部分都是由Java編寫的,但是Android卻是以轉換為Dalvik executables的檔案在Dalvik虛擬機上執行的。由於Android中並不自帶Java虛擬機,因此無法直接執行Java程式。不過Android平台上提供了多個Java虛擬機供用戶下載使用,安裝了Java虛擬機的Android系統可以執行Java_ME的程式。5.0版(Lolipop)開始以Android Runtime(ART)取代Dalvik虛擬機。
媒體支援
Android作業系統本身支援以下格式的音訊/視訊/圖片媒體:WebM、H.263, H.264(in 3GP or MP4 container)、MPEG-4 SP、AMR, AMR-WB(in 3GP container)、AAC, HE-AAC(in MP4 or 3GP container)、MP3、MIDI、Ogg Vorbis、FLAC、WAV、JPEG、PNG、GIF、BMP。如果用戶需要播放更多格式的媒體,可以安裝其他第三方應用程式。
流媒體支援
Android作業系統支援RTP/RTSP(3GPP PSS, ISMA)的流媒體以及(HTML5 <video>)的流媒體,同時還支援Adobe的Flash,在安裝了RealPlayer之後,還支援蘋果公司的流媒體。
硬體支援
Android作業系統支援識別並且使用視頻/相片攝像頭,多點電容/電阻觸控螢幕,GPS,加速計,陀螺儀,氣壓計,磁力儀(高斯計),鍵盤,滑鼠,USB Disk,專用的遊戲控制器,體感控制器,遊戲手把,藍牙裝置,無線裝置,感應和壓力感測器,溫度計,加速2D位位塊傳輸(硬體方向,縮放,像素格式轉換)和3D圖形加速。
多點觸控
Android支援原生的多點觸控,在最初的HTC Hero智慧型手機上即有這個功能。該功能是內核級別(為了避免對蘋果公司的觸控螢幕技術造成侵權)。
藍牙
Android支援A2DP,AVRCP,發送檔案(OPP),存取電話簿(PBAP),語音撥號和方送智慧型手機之間的聯繫。同時支援鍵盤,滑鼠和搖桿(HID)。
多工處理
Android作業系統支援原生的多工處理。
語音功能
除了支援普通的電話通話之外,Android作業系統從最初的版本開始就支援使用語音操作來使用Google進行網頁搜尋等功能。而從Android 2.2開始,語音功能還可以用來輸入文字、語音導航等功能。
無線共享功能
Android作業系統支援用戶使用本機充當「無線路由器」,並且將本機的網路共享給其他智慧型手機,其他機器只需要通過WiFi尋找到共享的無線熱點,就可以上網。而在Android 2.2之前的作業系統則需要通過第三方應用或者其他定製版系統來實現這個功能。
截圖功能
從Android 4.0開始,Android作業系統便支援截圖功能,該功能允許用戶直接抓取智慧型手機螢幕上的任何畫面,用戶還可以通過編輯功能對截圖進行處理,還可以通過藍牙/E-mail/微博/共享等方式發送給其他用戶或者上傳到網路上,也可以拷貝到電腦中。
- 問題一: 我的Android Device 內的Apps 無法滿足到公司需要。公司需要的,就是一個能Read Tag Write Tag 又能把Read了tag的內容傳化為一個excel檔案,而且excel檔案要傳到電腦上以便再管理庫存。
- 問題二 : Android Device 不能被我的電腦讀到。簡單黎講就係無Driver。
面對這兩個問題,首先就要了解一下Androd Device 如何與一個windows 系統溝通的。要知道兩者如何溝通,就先要了解Android 的程式架構。
程式開發
開發所需軟體
1. JAVA開發工具(Java Development kit - JDK)2. Eclipse的JAVA開發環境(Eclipse IDE for Java Developers)
3. Android 開發工具(stand-alone Android SDK)
Where to start
Set up a build environment – including installing the right development tools, the Java Development Kit, and getting all the paths and directories right.Grab the source – this is done using the “Repo” tool and git.
Obtain proprietary binaries – some of the drivers are only released in binary form.
Choose a target – using the “lunch” tool.
Start the build – using “make” and Jack.
Flash the build onto your device – using adb and fastboot.
看了一大堆佢唔識我我又唔識佢的Android 開發資料,本初哥的簡單歸納以下。
- Android 就是以Linux為基礎開發出來的一個作業系統。
- 要識Android,首先要識一些基本的電腦概念,例如Kernel 。也要認識一些語言程式,例如Java。
- 要進一步認識這些程式,就要嚐試。然而目前部Device就連同我部行Windows的電腦溝通也有問題。首先要為Windows 搵一個Driver來正確讀取部Android 機的內容。
部Device model 叫P6001U ,大陸野....唔係一般智能電話,基本上上網搵唔到Driver。
後來搵搵下,發現世界上有人都預到同樣大陸雜嘜牌子Android Device 無法USB 連上電腦的問題,於是就找到一個ADB Drive Installer來。
而且,還發現
在看了一系列的文章後,忽然發現了原來部Android 機沒有啟動USB錯誤偵錯,只要啟動錯誤偵錯,就可以把Android連到電腦成為一個可存放修改檔案的裝置了。如此問題二便得以解決。
要解決這個問題,首先:
1.) 要認識apps 點寫
2.) 要對RFID有基本認識。
寫Apps要從基礎學起。
https://code.google.com/archive/p/androidbmi/wikis/AndroidUI.wiki
Types of RFID:
Gen 2 RFID tags are comprised of an antenna and a chip (more accurately called an integrated circuit, or IC). The ICs for Gen 2 tags contain four types of memory:
Reserved memory
EPC memory
TID memory
User memory
how much memory is on each tag’s IC?
Reserved Memory:
This memory bank stores the kill password and the access password (each are 32 bits). The kill password permanently disables the tag (very rarely used), and the access password is set to lock and unlock the tag’s write capabilities. This memory bank is only writable if you want to specify a certain password. Most users do not use this memory area unless their applications contain sensitive data. It cannot store information besides the two codes.
EPC Memory:
This memory bank stores the EPC code, or the Electronic Product Code. It has a minimum of 96 bits of writable memory. The EPC memory is what is typically used in most applications if they only need 96 bits of memory. There are some tags that have the capability of allocating more bits to the EPC memory from the user memory. EPC memory is your first writable memory bank.
TID Memory:
This memory is used only to store the unique tag ID number by the manufacturer when the IC is manufactured. Typically, this memory portion cannot be changed.
User Memory:
If the user needs more memory than the EPC section has available, certain ICs have extended user memory which can store more information. When it comes to user memory, there is no standard in how many bits of memory are writable on each tag. Typically, the extended memory is no more than 512 bits, but there are some high memory tags with up to 4K or 8K bytes of memory. This is the second writable memory bank for Gen 2 ICs.
學習Android - 殘體教學
https://kesenhoo.gitbooks.io/android-training-course-in-chinese/content/index.html
Android - 英文教學
https://developer.android.com/training/index.html
- Android 就是以Linux為基礎開發出來的一個作業系統。
- 要識Android,首先要識一些基本的電腦概念,例如Kernel 。也要認識一些語言程式,例如Java。
- 要進一步認識這些程式,就要嚐試。然而目前部Device就連同我部行Windows的電腦溝通也有問題。首先要為Windows 搵一個Driver來正確讀取部Android 機的內容。
部Device model 叫P6001U ,大陸野....唔係一般智能電話,基本上上網搵唔到Driver。
後來搵搵下,發現世界上有人都預到同樣大陸雜嘜牌子Android Device 無法USB 連上電腦的問題,於是就找到一個ADB Drive Installer來。
而且,還發現
Android 在4.2 之後 , USB除錯是被隱藏起來的開啟的方式如下打開USB除錯的方法:
1設置
2關於平板電腦
3版本號(連續猛點)
4右上方會出現開關
5打開即可看到選項
6打開ok!
【技術文章】完全認知 Android 4.4 中 ART 與 Dalvik 會有多大分別?
http://qooah.com/2013/12/02/%E3%80%90%E6%8A%80%E8%A1%93%E6%96%87%E7%AB%A0%E3%80%91%E5%AE%8C%E5%85%A8%E8%AA%8D%E7%9F%A5-android-4-4-%E4%B8%AD-art-%E8%88%87-dalvik-%E6%9C%83%E6%9C%89%E5%A4%9A%E5%A4%A7%E5%88%86%E5%88%A5/1設置
2關於平板電腦
3版本號(連續猛點)
4右上方會出現開關
5打開即可看到選項
6打開ok!
【技術文章】完全認知 Android 4.4 中 ART 與 Dalvik 會有多大分別?
在看了一系列的文章後,忽然發現了原來部Android 機沒有啟動USB錯誤偵錯,只要啟動錯誤偵錯,就可以把Android連到電腦成為一個可存放修改檔案的裝置了。如此問題二便得以解決。
回歸問題一
既然問題二已解決,便回歸到我們最源始的問題,就是要造一個能夠Ready, Write, export file的RFID apps。要解決這個問題,首先:
1.) 要認識apps 點寫
2.) 要對RFID有基本認識。
寫Apps要從基礎學起。
https://code.google.com/archive/p/androidbmi/wikis/AndroidUI.wiki
同步又 學下RFID
Types of RFID:
Gen 2 RFID tags are comprised of an antenna and a chip (more accurately called an integrated circuit, or IC). The ICs for Gen 2 tags contain four types of memory:
Reserved memory
EPC memory
TID memory
User memory
how much memory is on each tag’s IC?
Reserved Memory:
This memory bank stores the kill password and the access password (each are 32 bits). The kill password permanently disables the tag (very rarely used), and the access password is set to lock and unlock the tag’s write capabilities. This memory bank is only writable if you want to specify a certain password. Most users do not use this memory area unless their applications contain sensitive data. It cannot store information besides the two codes.
EPC Memory:
This memory bank stores the EPC code, or the Electronic Product Code. It has a minimum of 96 bits of writable memory. The EPC memory is what is typically used in most applications if they only need 96 bits of memory. There are some tags that have the capability of allocating more bits to the EPC memory from the user memory. EPC memory is your first writable memory bank.
TID Memory:
This memory is used only to store the unique tag ID number by the manufacturer when the IC is manufactured. Typically, this memory portion cannot be changed.
User Memory:
If the user needs more memory than the EPC section has available, certain ICs have extended user memory which can store more information. When it comes to user memory, there is no standard in how many bits of memory are writable on each tag. Typically, the extended memory is no more than 512 bits, but there are some high memory tags with up to 4K or 8K bytes of memory. This is the second writable memory bank for Gen 2 ICs.
學習Android - 殘體教學
https://kesenhoo.gitbooks.io/android-training-course-in-chinese/content/index.html
Android - 英文教學
https://developer.android.com/training/index.html
No comments:
Post a Comment