色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

怎樣使用Square Reader和Android設備讀取任何磁條卡

454398 ? 來源:工程師吳畏 ? 作者:工程師吳畏 ? 2019-11-19 17:01 ? 次閱讀

步驟1:了解格式

怎樣使用Square Reader和Android設備讀取任何磁條卡

磁性編碼條帶數據遵循通用標準。磁條由3條物理上分開的“磁道”組成。磁道1最靠近卡的底部,磁道3最高。 Square的讀取器位于讀取軌道2的位置。軌道2是最常用的軌道,但是大多數信用卡也使用軌道1。軌道2包括卡號和有效期。音軌1包括那個加號。根據特定的卡,可能還會有其他數據。這些磁道的寬度規定為0.11英寸,因此要使用Square的讀取器讀取磁道1,我們只需要重新布置條紋,使磁道1與讀取頭對齊即可。

每個磁道中的數據均通過磁編碼域翻轉。長話短說:一系列的域翻轉對波形進行編碼,該波形被解釋為二進制。此編碼中的二進制0是任意頻率。 1是該頻率的兩倍。

數據以一組前導零開始,以建立基本頻率。在可變數目的零之后,出現開始標記。對于音軌2,開始標記為“;”。每個字符被編碼為整數,最低有效位在前。對于磁道2,每個字符包含4個數據位和1個奇偶校驗位。為每個字符設置奇偶校驗位,以使1的數量為奇數。如果為每個字符的整數值加上48(ASCII編碼為“ 0”),則將顯示ASCII字符。除了數字“ 0”到“ 9”之外,磁道2還可以編碼一些其他字符,包括“;”。 (開始標記),“ =“(字段分隔符)和“?” (末尾)。

步驟2:制作墊片以讀取音軌1

磁卡的磁道1比磁道2更靠近卡的邊緣.11英寸。由于Square讀卡器被設置為讀取磁道2,因此如果我們在磁道中粘貼一些東西,讀取器將卡提升.11英寸時,讀取頭將與軌道1對齊,而不是與軌道2對齊。

您可以通過從另一張卡上剪切0.11英寸的條來創建墊片。我還發現廉價垃圾袋的纏結也差不多。

第3步:錄制一些音頻

就電話而言,Square閱讀器只是一個麥克風。因此,要從卡中獲取數據,我們需要記錄音頻。請參閱其他Android文檔(例如本教程:http://eurodev.blogspot.com/2009/09/raw-audio-manipulation-in-android.html)以獲取詳細說明,或使用RhombusLib(請參閱最后的鏈接) )。以下是一些Java代碼,可以開始在Android應用中記錄音頻:

AudioRecord audioRecord =新的AudioRecord(MediaRecorder.AudioSource.MIC,

頻率,channelConfiguration,

audioEncoding,bufferSize);

audioRecord.startRecording();

錄音時,我們需要不斷從錄音機中讀取數據并將其放入緩沖區中。

//創建一個DataOutputStream以寫入音頻數據

ByteArrayOutputStream os = new ByteArrayOutputStream ();

BufferedOutputStream bos =新的BufferedOutputStream(os);

DataOutputStream dos =新的DataOutputStream(bos);

short bufferVal;

short [] buffer = new short [bufferSize];

while(recording){

bufferReadResult = audioRecord.read(buffer,0,bufferSize);

for(int i = 0; i bufferVal = buffer [i];

dos.writeShort(buffer [i]);

}

}

dos.close();

byte [] audioBytes = os.toByteArray();

上面的代碼是從RhombusLib中提取并簡化的。錄制后,您將擁有一個字節數組,代表麥克風中的樣本,可以進行分析。

步驟4:解碼音頻

因此,現在我們的設備上有很多音頻。我們如何解碼它?我的代碼基于Android教程,該教程顯示了如何記錄數據然后進行回放。就我而言,我確保將音頻保存為16位PCM編碼。我以44100hz采樣。在Android(以及其他地方,我想)上,16位PCM數據意味著每個樣本都是一個帶符號的16位值。因為我們只關心頻率,所以我們只需要關心“零交叉”之間有多少時間。過零是指信號從正向變為負,反之亦然。 0位將由2個交叉點之間的間隔表示,而1將在大約相同的時間段內有一個額外的交叉點。

每個磁道中的卡數據以一些(可變)數0開始,以建立基本頻率。我所做的是聽取高于某個“安靜”閾值的第一個樣本,然后計算零交叉之間的樣本數。該數字將成為0的基值。由于這些卡是手工刷卡的,因此從掃描開始到結束,實際頻率將有所變化。因此,我做了一個簡單的方法,確定自上次零交叉以來的樣本數量是否更接近基本頻率或兩倍于基本頻率(基本樣本數量的一半)。然后,它會相應地調整預期的基本頻率。只要兩個邏輯位之間的變化很小,此方法就可以很好地工作。而且它們幾乎肯定會。

檢測零交叉,我們需要查看每個樣本的符號并將其與前一個樣本的符號進行比較。如果它們不同(一個正,一個負),則信號在這些樣本之間越過0。

基本算法是遍歷字節數組,提取樣本。計算零交叉之間的樣本數,并將其與0或1的預期計數進行比較。好的,經過一番揮舞之后,我們現在有了一個二進制數據序列,我們想回過頭來。轉換成ASCII。最常見的編碼(也是我編寫的唯一處理程序)將每個字符編碼為一定數量的位,再加上一個奇偶校驗位。對于音軌2,字符為4位,奇偶校驗為1,組成5位組。從最低有效位到最高讀取位,最后一位是奇偶校驗位。將奇偶校驗位設置為使組中的1的個數為奇數。在我的實現中,我只是忽略了奇偶校驗位,但這將有助于確定讀取是否正確。在磁道1中,字符的6位加上奇偶校驗。

磁道的字符集也有所不同,但是兩者都是ASCII子集,具有一些偏移量。對于僅編碼一些符號和數字的磁道2,字符集從48開始,這是“ 0”的ASCII碼。因此,如果我們得到0,0,0,0,1作為我們的角色,則將其變成0,加48,得到48。類似地,1,0,0,0,0為1。1 + 48 = 49 = ASCII“ 1”。

對于軌道1,字符集以“”(空格)開頭,即ASCII32。因此,我們在解碼的數字值上加上32,得到ASCII字符。之后,我們有了數據,因此剩下的一切都只是在掛接UI膠水。

責任編輯:wv

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Android
    +關注

    關注

    12

    文章

    3937

    瀏覽量

    127500
  • BSQUARE
    +關注

    關注

    0

    文章

    5

    瀏覽量

    8758
  • 磁條卡
    +關注

    關注

    0

    文章

    8

    瀏覽量

    6878
收藏 人收藏

    評論

    相關推薦

    網絡讀卡器qt代碼示例,包含獲取本地ip地址。讀取IC卡號,讀取扇區數據

    getAllIPAddresses() { QStringList ips; QList list = QNetworkInterface::allAddresses(); for (int i = 0; i //解析讀取
    的頭像 發表于 12-30 09:22 ?94次閱讀
    網絡讀卡器qt代碼示例,包含獲取本地ip地址。<b class='flag-5'>讀取</b>IC<b class='flag-5'>卡</b>卡號,<b class='flag-5'>讀取</b>扇區數據

    使用TF的常見問題

    、視頻、文檔等數據。 1. TF無法被識別 問題描述: 當你將TF插入設備時,設備無法識別或讀取TF
    的頭像 發表于 11-04 09:54 ?1151次閱讀

    谷歌正式向Pixel設備推送Android 15穩定版

    10月17日最新資訊,谷歌今日已正式向Pixel系列設備推送Android 15穩定版更新。目前,已有部分Pixel設備成功完成升級,而更大范圍的推送預計將在本周末進行。
    的頭像 發表于 10-17 16:31 ?452次閱讀

    智能IC測試設備的技術原理和應用場景

    提供工作電壓,完成數據的讀寫操作。 數據處理: 測試設備向IC發送各種指令(如讀取數據、寫入數據、修改數據等),并接收來自IC的響應。 通過分析響應數據,測試
    發表于 09-26 14:27

    物聯網產品在生產測試過程中快速讀取貼片SIM卡號的方案

    卡號,讀卡表產品可以解決在研發測試過程中,方便讀取物聯網貼片卡號的問題。 二、該問題帶來的危害及影響 如果不讀出設備的SIM卡號,無法將設備
    的頭像 發表于 09-23 16:14 ?316次閱讀
    物聯網產品在生產測試過程中快速<b class='flag-5'>讀取</b>貼片SIM卡號的方案

    如何讀取多張的UID,有償

    應用場景是在一摞卡片,需要通過循環讀取卡片的UID,來獲取所有卡片的UID。但是普通MFRC522模組的磁場強度無法給多張供電,想咨詢如何給一摞供電,當然模組可以移動,或許只需要給部分卡片供電即可。紅包200元,財力有限,請
    發表于 08-17 21:50

    丟掉數據線,你還會調試Android設備嗎?

    ADB(AndroidDebugBridge)作為Android開發中非常重要的工具,開發者可以使用ADB設備在電腦上對Android設備
    的頭像 發表于 08-14 17:09 ?392次閱讀
    丟掉數據線,你還會調試<b class='flag-5'>Android</b><b class='flag-5'>設備</b>嗎?

    谷歌宣布對Android設備流媒體服務進行重大擴展

    8月8日,谷歌宣布對其Android設備流媒體服務進行重大擴展,此舉旨在進一步賦能開發者,讓他們能夠遠程接入并測試更多品牌及型號的真實Android物理設備。自2014年該服務問世以來
    的頭像 發表于 08-08 16:30 ?703次閱讀

    怎樣修改LVGL的lv_port_fs文件,讓它使用rt-thread的DFS文件系統中的API函數讀取SD中的圖片?

    我想問一下,怎樣修改LVGL的lv_port_fs文件,可以讓它使用rt-thread的DFS文件系統中的API函數(這些API函數在rt-thread的dfs_posix.c中)讀取SD中的圖片?
    發表于 07-11 06:53

    X Square獲得1050萬美元A輪融資

    近日,專注于人工智能與機器人領域技術創新的X Square公司成功獲得了一筆1050萬美元的A輪融資。此次融資由Wavemaker Partners領投,同時獲得了SEEDS Capital和Goldbell Corporation的參與投資。
    的頭像 發表于 05-31 11:45 ?1073次閱讀

    Square Enix北美、歐洲分社調整發行策略,啟動裁員計劃

    近期,Square Enix發布的財務報告顯示,公司正計劃對海外業務部門進行全面重組,并通過結構性改革來降低歐洲及美國辦公室的運營成本。
    的頭像 發表于 05-14 10:09 ?383次閱讀

    ST25DV04可以讀取實體IC嗎?

    我最近打算使用ST25DV04做一個NFC,這款芯片可以讀取實體IC,獲取IC信息,并模擬IC刷卡嗎?
    發表于 03-18 07:04

    sd是什么有什么用途 TF和SD有什么區別

    取出并在其他設備讀取。 SD卡通常用于數字相機、智能手機、平板電腦、音樂播放器、游戲機、導航系統和其他支持SD設備中。它們提供了擴展存儲空間的功能,允許用戶在內存不夠的情況下存儲
    的頭像 發表于 01-31 13:53 ?5361次閱讀

    Aurix TC297 pFlash為什么不能讀取任何閃存地址?

    我嘗試讀取閃存,并定義宏內存(地址)來讀取閃存。 #define MEM(地址)* ((uint32 *)(地址)) aa = MEM (0xa0008000);bb=aa ; 但是不能讀取
    發表于 01-24 07:51

    Holtek新推出BC45B4522 NFC Reader Controller

    Holtek新推出NFC Reader Controller BC45B4522,提供門禁鎖、標簽讀寫器、付款機等近場無線通信應用優秀解決方案。
    的頭像 發表于 01-16 14:22 ?550次閱讀
    主站蜘蛛池模板: 一本大道香蕉中文在线视频观看| 日韩黄色软件| 后入内射国产一区二区| 日韩欧美中文字幕在线| 99国产这里只有精品视频| 久久精品国产亚洲AV热无遮挡| 亚洲不卡一卡2卡三卡4卡5卡| 国产爱豆果冻传媒在线观看视频| 日本调教网站| 99视频在线观看视频| 恋老视频 国产国佬| 折磨比基尼美女挠肚子| 九九精品视频一区二区三区| 亚洲精品视频观看| 黄色软件视频app| 亚洲中文字幕日产乱码2020 | 性生大片免费看| 国产人成高清在线视频99| 受喷汁红肿抽搐磨NP双性| 国产成人综合高清在线观看| 偷柏自拍亚洲综合在线| 国产精品涩涩涩视频网站| 亚洲AV久久无码精品蜜桃| 国产亚洲精品香蕉视频播放| 亚洲精品97福利在线| 久久精品国产亚洲精品2020| 18和谐综合色区| 日韩丰满少妇无码内射| 国产精品久久久久一区二区三区| 亚洲高清无在码在线电影| 久久99视热频国只有精品| 最新国产麻豆精品| 内射无码AV-区二区在线观看| www黄色大片| 四房播播开心色播| 精品视频一区二区三三区四区| 18禁止观看免费私人影院| 人妖操女人| 国产在线播放不卡| 综合伊人久久| 色婷婷五月综合久久中文字幕|