某檢測場有一批掃碼器,購於微光互聯,型號 TX800-U,用於在不同辦理視窗間掃描紙質材料上的二維條碼,簡化錄入過程。掃碼器通過 USB 接入 PC 系統 (windows),自動安裝驅動,接電即可使用,掃描的資訊會直接輸出在遊標所在位置,掃碼器大概長這樣:
在一次 IT 系統升級後,發現它們掃描不了車輛外觀檢驗單上的車牌二維條碼了,掃車架號二維條碼是沒問題的,兩者的區別就是是否帶漢字,車牌第一個字元為地區標識,例如「京」,而車架號全部由數位和大寫字母組成。
拿到裝置後,第一時間驗證了上面的問題,掃碼後都有滴的一聲,但是車牌號沒有任何資訊上屏。為了驗證這個問題確實和漢字有關,找到一個製造二維條碼的網站 (草料二維條碼),造了幾個不同的二維條碼供掃碼器掃描,發現帶漢字的果然掃不出來,而只要去掉漢字,就能正確上屏。
同樣的二維條碼,通過微信掃一掃是可以得到漢字結果的,另外升級 IT 系統前掃碼器也是正常的,所以初步判斷這個問題和漢字編碼相關,可能是升級系統後修改了預設字元編碼集導致掃碼器出問題了。
聯絡了廠家的售後,拉了個微信群,開發人員說這是已知問題,要想解決需要二次開發。
二次開發不就是呼叫 sdk 介面嗎,這個我熟啊。從官網找到對應產品和型號:
下載了 windows 上的 C/C++ 二次開發 sdk:
另外發現一個設定工具,感覺蠻有用,一起搞下來:
話說這公司夠實誠,設計圖紙都開源了