2015年11月25日 星期三

樹莓派 /etc/network/interface 直接進行WiFi設定

auto lo

iface lo inet loopback
iface eth0 inet dhcp

allow-hotplug wlan0
auto wlan0


iface wlan0 inet dhcp
        wpa-ssid "ssid"
        wpa-psk "password"


參考
  Setting up Wifi with the Command Line

Mac 使用ssh連限至遠端電腦時中文變亂碼

環境:

  本地端作業系統:  OS X Yosemite ~ Sierra
  終端機程式:          iTerm2
  遠端作業系統:      Ubuntu 14.04
  (update @2016/11/07, 最近更新Mac OS X同樣的問題又出現了,不過同樣用同樣的方法一樣能解決)

狀況:

  使用ssh連線至遠端電腦後輸入中文變成亂碼, 下圖為亂碼的例子

  1. 輸入「中文」

  2. 結果卻變成下圖

解決方案:

  修改/etc/ssh/ssh_config檔案,將SendEnv LANG LC_*註解掉即可

PHP 二進位處理 pack and unpack

幾個月前留下的PHP二進位處理方式,加減做個筆記一下

pack和unpack用來處理二進位資料
範例如下

<?php
// 使用pack將ascii的1~13放到$txData變數中
for($i=1;$i<14;$i++) {
  $txData .= pack("C", $i);
}

// 透過rs232模組寫出去,其中rs232的tx/rx短路,因此寫出去的資料可以在$rxData中收到
$rxData = $this->rs232_model->writeAndRead($txData);

// 使用unpack將$rxData中的二進位資料轉回來
$res = unpack("C*", $rxData);
?>

2015年11月24日 星期二

Nexus 7 二代 (2013版) 觸控失靈DIY維修

由於筆者的Nexus 7(2013板,以下簡稱N7)的觸控螢幕狀況每況愈下,滑動螢幕時常常沒反應或卡住,因此在網路上尋找是否有修正方法

網路上查到的可能原因方法如下:
    1. 螢幕排線鬆掉

    2. 濕氣太重

    3. 螢幕太髒

    4. Android軟韌體問題

首先先用刪去法
    3. 螢幕太髒
        筆者近期常常拿拭淨布擦,但擦完後也只有一小段時間不會觸控失靈

    4. Android問題
        許多人說的4.4.2已經改善,但是筆者的已經是Android 6.......

因此筆者針對螢幕排線和濕氣太重試著處理看看,處理流程如下
    1. 沒事就丟防潮箱,不然至少丟防潮箱一晚
      (註: 防潮箱通常只是控制濕度而已,不是專門拿來除濕用)

    2. 拆了N7的排線! 此動作可能造成保固失效或機器整台gg,請找認識的好人幫忙處理,筆者是擅長魔改硬體的強者我學長幫忙拆機
        Step 0: 拍照留個紀念
Fig 1. Nexus 7 (2013) 背面

Fig 2. Nexus 7 (2013)正面


        Step 1: 先找拆機教學影片
            影片連結: Nexus 7 (2013) Screen Repair & Disassemble

        Step 2: 關機
            避免出狀況,一定要關機後再開工。因為很重要,所以要說三次: 「要關機!」、「要關機!」、「要關機!」

        Step 3: 拆惹它!!!
            大致上如影片中採用吉他撥片拆開,但是強者我學長用指甲就拆開了XDDDDDDD
Fig 3. 拆解結果圖,上方為N7本體,下方為N7的外殼

        Step 4: 接著將下圖中紅色框框的地方如影片中的方式拆開再重插回去即可
Fig 4. 電源與排線拆解圖

            紅框1: 為安全起見,先拆除電源線
            紅框2: 
                i. 拆開剛好壓在右下紅框最下面的線,估計是聲音相關的線,但是會卡到螢幕排線
                ii. 拆解排線,此處是照影片結果推估這紅框2的兩端應該都是觸控螢幕的排線,因此把他拆開再裝回去
            最後再將聲音線和電源線裝回去

        Step 5: 把N7外殼裝回去,接著開機測試即完工

結果
    經過施工後至今N7的觸控已經回復正常(灑花)

    不過3C產品會出問題的原因百百種,此狀況雖然適用於筆者,但適不適用其他人就不得而知了,因此請各位要拆解前先思考一下以下問題
        1. 投資一定有風險,基金申購前應詳閱公開說明書。DIY的代價就是有機會整台gg,動手之前請三思
        2. 找得到專家幫忙拆或自己是能拆的專家嗎?
        3. 由於拆解了,因此保固可能失效,未來送回原廠也不能怪原廠不受理


2015年9月27日 星期日

樹莓派(Linux通用) QR code掃描機

由於最近的研究需要用到固定式QR code掃描機,但網路上找到的都要3k~10k不等,礙於荷包太過瘦弱,筆者自己用樹莓派加web cam架設QR code掃描機

前置作業
1. 準備好安裝完raspbian的Pi 2代
2. 準備支援V4L2的web cam
  不知道啥叫V4L2沒關係,反正就把web cam的USB插上Pi以後看/dev/video[N]有沒有出現
  例如筆者使用的Logitech, Inc. Webcam C310的就是出現下圖:

圖1. 查詢video裝置

架設說明如下
1. 先更新apt的資料庫
pi@raspberrypi ~ $ sudo apt-get update

2. 安裝zbar-tools
pi@raspberrypi ~ $ sudo apt-get install zbar-tools

3. 執行zbarcam,並調整解析度為320x240
  注意: 解析度千萬別設太高,否則Pi會很lag.......
pi@raspberrypi ~ $ zbarcam ---prescale=320x240
圖2. 開啟web cam後會先看到左圖的zbar logo,接著就會顯示web cam拍攝到的內容

4. 找張QR code入鏡並拍出結果吧~
圖3. 透過web cam掃描左側QR  code,再由zbarcam顯示掃描結果

=======================================================
若沒GUI的話跑zbarcam是會失敗的,此時可以改用以下指令
pi@raspberrypi ~ $ zbarcam --nodisplay ---prescale=320x240
圖4. 由ssh連上pi在純終端機頁面下指令

參考資料

2015年8月11日 星期二

Linux Default route remove and add

說明:
  由於筆者管理中的某台機器裝上雙網卡後怪怪的, 第一個網卡對外掛掉後不會切到第二張網卡, 因此筆者簡單筆記怎麼重設default route
顯示系統的routing table
shiun@test:~$ route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface default 192.168.0.253 0.0.0.0 UG 0 0 0 eth0 192.168.0.0 * 255.255.255.0 U 0 0 0 eth0 192.168.1.0 * 255.255.255.0 U 0 0 0 eth1

將第二張網卡(eth1)改為default
# 刪除對應到eth0的default shiun@test:~$ sudo route del default # 將192.168.1.1(eth1)改為新的default shiun@test:~$ sudo add default gw 192.168.1.1
這樣就OK了

2015年8月5日 星期三

樹莓派 Raspberry Pi2 John the ripper (開膛手約翰XD?)

應觀眾要求測試Pi2跑John的效能, 結果如下列資料所示


pi@ShiunPi /etc/john $ john -te Benchmarking: Traditional DES [32/32 BS]... DONE Many salts: 82043 c/s real, 82171 c/s virtual Only one salt: 78717 c/s real, 78835 c/s virtual Benchmarking: BSDI DES (x725) [32/32 BS]... DONE Many salts: 2575 c/s real, 2575 c/s virtual Only one salt: 2551 c/s real, 2551 c/s virtual Benchmarking: FreeBSD MD5 [32/32]... DONE Raw: 1511 c/s real, 1511 c/s virtual Benchmarking: OpenBSD Blowfish (x32) [32/32]... DONE Raw: 80.5 c/s real, 80.5 c/s virtual Benchmarking: Kerberos AFS DES [24/32 4K]... DONE Short: 37305 c/s real, 37305 c/s virtual Long: 100006 c/s real, 100006 c/s virtual Benchmarking: LM DES [32/32 BS]... DONE Raw: 1161K c/s real, 1161K c/s virtual Benchmarking: dummy [N/A]... DONE Raw: 11211K c/s real, 11211K c/s virtual 

由於筆者對john沒有研究, 分析的工作只好無限延期XDDDD