發表文章

barcode printer 使用 php socket 列印

話說,條碼印表機實在很神秘,要讓它印個條碼非得透過特定應用程式不可,這次很幸運可以試著自已把東東印出來,透過之前從沒用過的 socket ,socket 這東東看了半天也看不懂是個什麼東西 ,不過本著一貫在不解中摸黑,只問結果不求甚解的鴕鳥心態,就……試試。 $cht_string = "我要用中文"; $cht_string = iconv(mb_detect_encoding($cht_string), "UTF-8", $cht_string); $cht_big5 = iconv(mb_detect_encoding($cht_string), "BIG-5", $cht_string); $host = "1.2.3.4"; $port    = 9100; //default listening port for printer $message = ' Hello, world'.$cht_string.$cht_big5.' '; // create socket // 0, IP // SOL_TCP = specify protocol of TCP, UDP, FTP ... $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); if(!$socket){     $errorcode = socket_last_error();     $errormsg = socket_strerror($errorcode);     socket_close($socket);    die("Could not create socket: [$errorcode] $errormsg\n"); } // connect to server $result = socket_connect($socket, $host, $port); if(!$result){         $errorcode = socket_last_error();       ...

UEFI 開機時啟用新的硬體 及 USB 設備

這次還有個大魔王,UEFI 這種新型的 BIOS , 大致上來說,它擴充了傳統 BIOS 的功能(號稱),阻絕了,阻絕了,阻絕了一般的使用者透過 BIOS 來對電腦做一些進階的操作,但是也把原本很容易的維護工作,像是備份和還原系統變得很複雜。 調 BIOS 很煩,大致上來說只是為了要加入硬碟,要開 Boot -> BBS 把新的硬碟加進去,才能在 Boot -> Secure Boot -> 開機設備中選取新的硬碟,這裏可以定開機設備的順序。 如果 BIOS 還要從 USB 開機,要關閉 Boot -> Secure Boot ,Boot -> CSM(compability Support Module) 開啟相容支援模組,Boot -> CSM(compability Support Module) 其下的 可開機裝置控制 -> UEFI 和傳統韌體(legacy),之後其他的可以改成 傳統韌體優先,在 進階 -> USB configuration -> Legacy USB 支援 -> 開啟。 僥倖逃過大魔王的魔掌。 收工! 參考小弟過程中的血淚 和 網址: http://a7432186.pixnet.net/blog/post/343355806-asus-%E4%B8%BB%E6%A9%9F%E6%9D%BF-bios-uefi-%E9%96%8B%E6%A9%9F-%E6%94%B9%E5%82%B3%E7%B5%B1%E9%96%8B%E6%A9%9F-legacy

ubuntu 安裝了 docker 套件之後出現 docker is currently not installed

情境: 使用 apt-get 安裝 docker 之後,要確認 docker (docker -v)是否已經安裝完成,出現 docker is currently not installed 作業環境: windows 10  virtualbox host: ubuntu 14 解決: 裝 docker.io : sudo apt-get install docker.io   測試是否安裝完成: docker -v ,不再出現 docker is currently not installed 的訊息 網站上也有說直接用 docker 的來源安裝: sudo curl -sSL https://get.docker.com/ | sh 這個方法是原生的方式,大概是什麼版本的 linux 都行的吧,但是先跳過這個了。(未測) 收工

在 virtualbox 裏掛載分享的資料夾

不知道怎麼搞的,在 windows 上要安裝 filezilla 硬是被防毒軟體擋了下來,所以只好繞個小路,用分享資料夾(shared folder)的方式,在虛擬機器和本機端之間傳遞檔案。那知道… 作業環境: windows 10 Virtualbox 5.2.2 Linux Ubuntu guest ○○xx: 一開始裝好的 Linux 在 virtualbox 裏面要掛載(mount)分享資料夾( mount -t vboxsf share /mnt/share )是辦不到的,會出現類似( unknown type 'vboxsf' ) 的錯誤訊息。 所以聽說要裝 VBoxGuestAdditions.iso 裏的應用程式,裝的時侯需要先裝 gcc make perl 這3個東東。 但是呢,不好笑的是裝完了之後,重開機之後還是不能掛載。   相關指令:   $sudo mount /dev/cdrom /mnt/cdrom   $sudo apt-get install gcc make perl   $sudo ./VBoxLinuxAdditions.run   $sudo init 6   $sudo mount share /mnt/share YES: 其實是要裝 virtualbox-guest-dkms 裝了就能掛載了   相關指令:   $sudo apt-get install virtualbox-guest-dkms   $sudo mount share /mnt/share   $ls /mnt/share   可以了! 收工!

Windows 全文檢索設定

圖片
搜尋的時侯,有2個層次,一種是檔案名稱,一種是檔案內容,如果你記得檔案名稱只是不記得存在哪裏,那麼現在的檔案總管就能解決問題,如果你還不是很滿意檔案總管,非得裝個應用程式, everything 是個很好的選擇,But ... 如果你要搜尋的是檔案內容,白話就是:我想找的關鍵字寫在檔案裏面。這時侯你就需要全文檢索(full text search)。 作業環境: windows 10 windows 10 內建檢索功能 設定方式: 開啟檔案總管 > 檢視 > 選項 > 搜尋 > 一律搜尋檔案名稱及內容(這可能需要幾分鐘) > 確定 開啟 windows 全文檢索功能  之後在檔案總管檢索的時侯,搜尋結果就會包含檔案名稱,以及檔案內容含有關鍵字的檔案了。 用關鍵字搜尋 可行, 收工!

使用手機或是平板列印資料以 HP 列表機為例

筆電、電腦現在可能只有在手機、平板這些手持裝置搞不定的時侯會被打開,而原本透過 USB 線、網路線的機列印工作,就必須透過無線網路來進行,這次想來實測在手持裝置上列印資料。 工作環境: 列表機: HP 252dw 可以透過網路線做為網路印表機,也可以自成無線網路讓手持裝置直接連線列印。 手持式裝置:ASUS zenfone 2,ipad mini 4 這次 HP 的官網真的幫了很大的忙(以前要在官網找出支援資訊有如大海撈針),連線方法很簡單, IOS 只要透過 airprint 就可以列印 , Android 就要加裝 printer service 來達成列印的工作 。 用這些手持裝置來列印資料真的 很慢 ,像 zenfone2 不知道是真的很老了還是怎麼了,真的 非常非常慢 。 收工!

每隔一段時間就自動擷取系統畫面 以 Greenshot 為例

圖片
資訊系統最有趣的工作就是自動化,最惱人的大概也是自動化了,因為執行特徵重複的工作是資訊系統的強項,想當然爾,如果你要執行的工作沒有固定的特徵,或是只是一次性的工作,資訊系統就很難幫上忙了。 這次想做的事情是每隔5分鐘就把系統的畫面擷取一次,其實原本是想要確認一些工作是否在某段時間被執行,但是很難讓一個人類,違反他與生俱來具備的自由意志的本性,去做一個機械性的動作,畢竟在競爭激烈的工業時代,這樣子的成本效益太低,所以我們需要資訊系統來輔助這種讓人類覺得無聊的工作。 工作環境: windows 10 greenshot 目前版本 1.2.10 或是任何一種可以使用熱鍵( hot-key )的畫面擷取應用程式 AHK 目前版本 1.1.26.01 或是任何一種可以自動執行熱鍵的應用程式 經過測試,找到了合用的應用程式之後,接下來就是排列組合了,以這次的需求來說,我們需要的功能有: 擷取系統畫面(使用 greenshot) 擷取的動作必需能自動執行(使用 AHK) 安裝 greenshot 很簡單,基本上和其他的應用程式相同,依照:I agree(我同意[授權條款] > next …> finish 的原則就能裝完,這次的情境, 設好預設的存檔位置,讓系統直接將畫面存到指定的資料夾 ,才能順利達成目的。 指定擷取的畫面檔案要存在哪裏 擷取畫面就直接存到之前指定的存檔位置 AHK 的話請 搜尋適用的腳本 ,以本例來說可以使用類似 auto screen shot 搜索,然後將腳本存在純文字檔裏,再用編譯器(Ahk2Exe)轉成可執行檔,之後只要執行編譯完成的執行檔就可以了,如果你已經有程式設計的經驗,看一下官網說明應該也可以自力完成。 目前找到的腳本大致上長的這個樣子: ;hit control + PrintScreen every 5 minutes #Persistent SetTimer, ScreenShot, 300000 ; 5 min = 5 * 60000 return ScreenShot: Send {LCtrl Down}{PrintScreen}{LControl Up} return #^X::ExitApp 可行! 收工!