WakeOnLan

參考網址:
Linux Wake-On-Lan

apt-get install etherwake 進行安裝。使用指令傳送開機封包,請執行 etherwake 00:30:2D:5F:12:A1 送出開機封包。

圖形介面的WakeOnLan
apt install gwakeonlan

使用 PHP 網路開機
在區域網路中,可以傳送 Magic Packet 給主機的網路卡,Magic Packet 內容開頭有6個 "FF",再接 16 個網路卡 MAC,當主機版有開啟支援 Wake on LAN 功能,網路卡接收到符合條件的 Magic Packet,就能開啟電腦。(每個主機版關於 Wake on LAN 的名稱不盡相同,例如 PME Event Wake Up、Power On By PCI Devices…)
另一個影響能否網路開機的設定,在作業系統裡面裝置管理員,網卡裝置內容裡的電源管理,需勾選「允許這個裝置喚醒電腦」。

 

假設網路卡 MAC 位址為:01-02-03-04-05-06
Magic Packet 內容則為:

FFFFFFFFFFFF010203040506010203040506010203040506010203040506010203040506010203040506010203040506010203040506010203040506010203040506010203040506010203040506010203040506010203040506010203040506010203040506

然後以 UDP 通訊協定傳送給電腦的 port 7、或 port 9

 

所以實現網路開機的方式,就是在區網內想辦法傳送給目標電腦網卡 Magic Packet,如果用來傳送 Magic Packet 的設備(Server),平常也有對外連線,也可達成在外網開機的效果。

以下 PHP 傳送 Magic Packet 範例來源
WOL: Wake-on-LAN Tutorial with Bonus PHP Script
僅稍微修改後如下:

class WakeOnLan {

    /**
     * 喚醒電腦
     * @param type $addr ,目標IP 或 廣播位址(格式 01-02-03-04-05-06 或 01:02:03:04:05:06)
     * @param type $mac ,MAC 位址
     * @param type $port , 7 or 9
     * @return boolean
     */
    public function wake($addr, $mac, $port) {
        $mac = str_replace("-", ":", $mac);
        $addr_byte = explode(':', $mac);
        $hw_addr = '';
        for ($a = 0; $a < 6; $a++) {
            $hw_addr .= chr(hexdec($addr_byte[$a]));
        }
        // 開頭六個 "FF"
        $msg = chr(255) . chr(255) . chr(255) . chr(255) . chr(255) . chr(255);
        // 16個MAC
        for ($a = 1; $a <= 16; $a++) {
            $msg .= $hw_addr;
        }
        // 開一個 UDP 的 socket
        // AF_INET:IP4
        // SOCK_DGRAM:The UDP protocol is based on this socket type
        // SOL_UDP:使用 UDP 通訊協定
        $skt = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);
        $err = array();
        if ($skt === false) {
            $err[] = "Error creating socket!";
            $err[] = "Error code is '" . socket_last_error($skt) . "' - " . socket_strerror(socket_last_error($skt));
            throw new Exception(implode("\n", $err));
        } else {
            // 設定使用broadcast廣播訊息
            // $opt_ret = socket_set_option($skt, 1, 6, TRUE);
            $opt_ret = socket_set_option($skt, SOL_SOCKET, SO_BROADCAST, true);
            if ($opt_ret === false) {
                $err[] = "setsockopt() failed, error: " . socket_strerror(socket_last_error($skt));
                throw new Exception(implode("\n", $err));
            }

            if (socket_sendto($skt, $msg, strlen($msg), 0, $addr, $port)) {
                //Magic Packet sent successfully
                $res = trim(socket_strerror(socket_last_error($skt)));
                socket_close($skt);
                return $res;
            } else {
                $err[] = "Magic packet failed!";
                throw new Exception(implode("\n", $err));
            }
        }
    }

}

$WOL = new WakeOnLan();
try {
    // 使用 port 7
    $res = $WOL->wake('192.168.0.255', "01-02-03-04-05-06", 7);
    // 也可使用 port 9
    //$res = $WOL->wake('192.168.0.255', "01-02-03-04-05-06", 9);
    var_dump($res);
} catch (Exception $ex) {
    var_dump($ex->getMessage());
}

 

發表於 程式設計 | 發表迴響

windows10 資料夾共用

參考網址:http://www.fox-saying.com/blog/post/43773565-windows10

請進到 控制台 > 網路和網際網路 > 網路和共用中心

再來進到 變更進階共用設定

以密碼保護的共用 > 關閉

接下來

在您想分享共用的資料夾處~~~ 右鍵 > 內容 > 共用

然後新增使用人 EVERYONE

 

為了保證你的資料夾能被使用的機會提高
您還需要在該資料夾處,滑鼠右鍵 > 內容 > 安全性
然後一樣新增 everyone

發表於 Windows系統 | 發表迴響

[rasp]樹莓派-解析度調整

參考網址:程王敗code

hdmi_group  HDMI ––> Type

 

hdmi_group=1 ––> CEA

hdmi_group=2 ––> DMT

 

hdmi_mode 須對照 hdmi_group

 

These values are valid if hdmi_group=1 (CEA)
hdmi_mode=1    VGA
hdmi_mode=2    480p   60 Hz
hdmi_mode=3    480p   60 Hz  H
hdmi_mode=4    720p   60 Hz
hdmi_mode=5    1080i  60 Hz
hdmi_mode=6    480i   60 Hz
hdmi_mode=7    480i   60 Hz  H
hdmi_mode=8    240p   60 Hz
hdmi_mode=9    240p   60 Hz  H
hdmi_mode=10   480i   60 Hz  4x
hdmi_mode=11   480i   60 Hz  4x H
hdmi_mode=12   240p   60 Hz  4x
hdmi_mode=13   240p   60 Hz  4x H
hdmi_mode=14   480p   60 Hz  2x
hdmi_mode=15   480p   60 Hz  2x H
hdmi_mode=16   1080p  60 Hz
hdmi_mode=17   576p   50 Hz
hdmi_mode=18   576p   50 Hz  H
hdmi_mode=19   720p   50 Hz
hdmi_mode=20   1080i  50 Hz
hdmi_mode=21   576i   50 Hz
hdmi_mode=22   576i   50 Hz  H
hdmi_mode=23   288p   50 Hz
hdmi_mode=24   288p   50 Hz  H
hdmi_mode=25   576i   50 Hz  4x
hdmi_mode=26   576i   50 Hz  4x H
hdmi_mode=27   288p   50 Hz  4x
hdmi_mode=28   288p   50 Hz  4x H
hdmi_mode=29   576p   50 Hz  2x
hdmi_mode=30   576p   50 Hz  2x H
hdmi_mode=31   1080p  50 Hz
hdmi_mode=32   1080p  24 Hz
hdmi_mode=33   1080p  25 Hz
hdmi_mode=34   1080p  30 Hz
hdmi_mode=35   480p   60 Hz  4x
hdmi_mode=36   480p   60 Hz  4xH
hdmi_mode=37   576p   50 Hz  4x
hdmi_mode=38   576p   50 Hz  4x H
hdmi_mode=39   1080i  50 Hz  reduced blanking
hdmi_mode=40   1080i 100 Hz
hdmi_mode=41   720p  100 Hz
hdmi_mode=42   576p  100 Hz
hdmi_mode=43   576p  100 Hz  H
hdmi_mode=44   576i  100 Hz  
hdmi_mode=45   576i  100 Hz  H
hdmi_mode=46   1080i 120 Hz  
hdmi_mode=47   720p  120 Hz  
hdmi_mode=48   480p  120 Hz  
hdmi_mode=49   480p  120 Hz  H
hdmi_mode=50   480i  120 Hz  
hdmi_mode=51   480i  120 Hz  H
hdmi_mode=52   576p  200 Hz  
hdmi_mode=53   576p  200 Hz  H
hdmi_mode=54   576i  200 Hz  
hdmi_mode=55   576i  200 Hz  H
hdmi_mode=56   480p  240 Hz  
hdmi_mode=57   480p  240 Hz  H
hdmi_mode=58   480i  240 Hz  
hdmi_mode=59   480i  240 Hz  H
H means 16:9 variant (of a normally 4:3 mode).
2x means pixel doubled (that is, higher clock rate, with each pixel repeated twice)
4x means pixel quadrupled (that is, higher clock rate, with each pixel 
repeated four times)

 
These values are valid if hdmi_group=2 (DMT)

Note: according to http://www.raspberrypi.org/phpBB3/viewtopic.php?f=26&t=20155&p=195417&hilit=2560x1600#p195443 

there is a pixel clock limit which means the highest supported 

mode is 1920x1200 @60 Hz with reduced blanking.

hdmi_mode=1    640x350    85 Hz

hdmi_mode=2    640x400    85 Hz

hdmi_mode=3    720x400    85 Hz

hdmi_mode=4    640x480    60 Hz

hdmi_mode=5    640x480    72 Hz

hdmi_mode=6    640x480    75 Hz

hdmi_mode=7    640x480    85 Hz

hdmi_mode=8    800x600    56 Hz

hdmi_mode=9    800x600    60 Hz

hdmi_mode=10   800x600    72 Hz

hdmi_mode=11   800x600    75 Hz

hdmi_mode=12   800x600    85 Hz

hdmi_mode=13   800x600   120 Hz

hdmi_mode=14   848x480    60 Hz

hdmi_mode=15   1024x768   43 Hz  DO NOT USE

hdmi_mode=16   1024x768   60 Hz

hdmi_mode=17   1024x768   70 Hz

hdmi_mode=18   1024x768   75 Hz

hdmi_mode=19   1024x768   85 Hz

hdmi_mode=20   1024x768  120 Hz

hdmi_mode=21   1152x864   75 Hz

hdmi_mode=22   1280x768          Reduced blanking

hdmi_mode=23   1280x768   60 Hz

hdmi_mode=24   1280x768   75 Hz

hdmi_mode=25   1280x768   85 Hz

hdmi_mode=26   1280x768  120 Hz  Reduced blanking

hdmi_mode=27   1280x800          Reduced blanking

hdmi_mode=28   1280x800   60 Hz  

hdmi_mode=29   1280x800   75 Hz  

hdmi_mode=30   1280x800   85 Hz  

hdmi_mode=31   1280x800  120 Hz  Reduced blanking

hdmi_mode=32   1280x960   60 Hz  

hdmi_mode=33   1280x960   85 Hz  

hdmi_mode=34   1280x960  120 Hz  Reduced blanking

hdmi_mode=35   1280x1024  60 Hz  

hdmi_mode=36   1280x1024  75 Hz  

hdmi_mode=37   1280x1024  85 Hz  

hdmi_mode=38   1280x1024 120 Hz  Reduced blanking

hdmi_mode=39   1360x768   60 Hz  

hdmi_mode=40   1360x768  120 Hz  Reduced blanking

hdmi_mode=41   1400x1050         Reduced blanking

hdmi_mode=42   1400x1050  60 Hz  

hdmi_mode=43   1400x1050  75 Hz  

hdmi_mode=44   1400x1050  85 Hz  

hdmi_mode=45   1400x1050 120 Hz  Reduced blanking

hdmi_mode=46   1440x900          Reduced blanking

hdmi_mode=47   1440x900   60 Hz  

hdmi_mode=48   1440x900   75 Hz  

hdmi_mode=49   1440x900   85 Hz  

hdmi_mode=50   1440x900  120 Hz  Reduced blanking

hdmi_mode=51   1600x1200  60 Hz  

hdmi_mode=52   1600x1200  65 Hz  

hdmi_mode=53   1600x1200  70 Hz  

hdmi_mode=54   1600x1200  75 Hz  

hdmi_mode=55   1600x1200  85 Hz  

hdmi_mode=56   1600x1200 120 Hz  Reduced blanking

hdmi_mode=57   1680x1050         Reduced blanking

hdmi_mode=58   1680x1050  60 Hz  

hdmi_mode=59   1680x1050  75 Hz  

hdmi_mode=60   1680x1050  85 Hz  

hdmi_mode=61   1680x1050 120 Hz  Reduced blanking

hdmi_mode=62   1792x1344  60 Hz  

hdmi_mode=63   1792x1344  75 Hz  

hdmi_mode=64   1792x1344 120 Hz  Reduced blanking

hdmi_mode=65   1856x1392  60 Hz  

hdmi_mode=66   1856x1392  75 Hz  

hdmi_mode=67   1856x1392 120 Hz  Reduced blanking

hdmi_mode=68   1920x1200         Reduced blanking

hdmi_mode=69   1920x1200  60 Hz  

hdmi_mode=70   1920x1200  75 Hz  

hdmi_mode=71   1920x1200  85 Hz  

hdmi_mode=72   1920x1200 120 Hz  Reduced blanking

hdmi_mode=73   1920x1440  60 Hz  

hdmi_mode=74   1920x1440  75 Hz  

hdmi_mode=75   1920x1440 120 Hz  Reduced blanking

hdmi_mode=76   2560x1600         Reduced blanking

hdmi_mode=77   2560x1600  60 Hz  

hdmi_mode=78   2560x1600  75 Hz  

hdmi_mode=79   2560x1600  85 Hz  

hdmi_mode=80   2560x1600 120 Hz  Reduced blanking

hdmi_mode=81   1366x768   60 Hz  

hdmi_mode=82   1080p      60 Hz  

hdmi_mode=83   1600x900          Reduced blanking

hdmi_mode=84   2048x1152         Reduced blanking

hdmi_mode=85   720p       60 Hz  

hdmi_mode=86   1366x768          Reduced blanking
發表於 Linux系統 | 發表迴響

[rasp]樹莓派的配置檔案config.txt

參考網址:https://www.itread01.com/content/1547438963.html

由於樹莓派並沒有傳統意義上的BIOS, 所以現在各種系統配置引數通常被存在”config.txt”這個文字檔案中.
樹莓派的config.txt檔案會在ARM核心初始化之前被GPU讀取.
這個檔案存在引導分割槽上的.對於Linux, 路徑通常是/boot/config.txt, 如果是Windows (或者OS X) 它會被識別為SD卡中可訪問部分的一個普通檔案.

你可以使用下列命令去獲取當前啟用的設定:
– 列出指定的配置引數.
– 例如: vcgencmd get_config arm_freq
vcgencmd get_config
– 列出所有已設定的整形配置引數(非零)
vcgencmd get_config int
– 列出所有已設定的字元型配置引數(非零)
vcgencmd get_config str

檔案格式
當值是整形時格式為”屬性=值”. 每行只指定一個引數. 註釋使用’#’井號作為一行開頭.
注意: 在新版的樹莓派裡每行都有#註釋, 要想使用該行引數只需移除#.

下面是示例檔案
hdmi_drive=2
hdmi_group=2
hdmi_mode=16
overscan_left=20
overscan_right=12
overscan_top=10
overscan_bottom=10

記憶體
disable_l2cache 禁止ARM訪問GPU的二級快取. 相應的需要在核心中關閉二級快取. 預設為0
gpu_mem GPU記憶體以兆為單位. 設定ARM和GPU之間的記憶體分配. ARM會獲得剩餘所有記憶體. 最小設為16. 預設為64
gpu_mem_256 對於有256MB記憶體的樹莓派的GPU記憶體設定. 512MB的派請忽略. 會覆蓋gpu_mem. 最大設為192. 預設不設定
gpu_mem_512 對於有512MB記憶體的樹莓派的GPU記憶體設定. 256MB的派請忽略. 會覆蓋gpu_mem. 最大設為448. 預設不設定
disable_pvt 禁止每500毫秒調整一次RAM的重新整理率 (RAM溫度測量).

CMA – 動態記憶體分配
自2012年11月19號, 韌體和核心開始支援CMA, 這意味執行時可以動態管理ARM和GPU之間的記憶體分配. 這兒有相關config.txt示例.
cma_lwm 當GPU可用記憶體低於cma_lwm所設值, 將會向ARM請求一些記憶體.
cma_hwm 當GPU可用記憶體高於cma_hwm所設值, 將會向ARM釋放一些記憶體.
要啟用CMA,下面的引數需要新增到cmdline.txt檔案裡:
coherent_pool=6M smsc95xx.turbo_mode=N

視訊

視訊模式選項
sdtv_mode 為複合訊號輸出設定視訊制式(預設為0)
sdtv_mode=0 NTSC
sdtv_mode=1 日本版NTSC – 無基座
sdtv_mode=2 PAL
sdtv_mode=3 巴西版PAL – 副載波為525/60而不是625/50
sdtv_aspect 為複合訊號輸出設定寬高比(預設為1)
sdtv_aspect=1 4:3
sdtv_aspect=2 14:9
sdtv_aspect=3 16:9
sdtv_disable_colourburst 禁止複合訊號輸出彩色副載波群. 圖片會顯示為單色, 但是可能會更清晰
sdtv_disable_colourburst=1 禁止輸出彩色副載波群
hdmi_safe 使用”安全模式”的設定去嘗試用HDMI最大相容性啟動. 這和下面的組合是一個意思: hdmi_force_hotplug=1, config_hdmi_boost=4, hdmi_group=2, hdmi_mode=4, disable_overscan=0
hdmi_safe=1
hdmi_ignore_edid 如果你的顯示器是天朝產的垃圾貨, 允許系統忽略EDID顯示資料
hdmi_ignore_edid=0xa5000080
hdmi_edid_file 當設為1時, 將會從edid.dat檔案中讀取EDID資料,而不是從顯示器.
hdmi_edid_file=1
hdmi_force_edid_audio 偽裝成支援所有音訊格式播放, 即便報告不支援也允許通過DTS/AC3.
hdmi_force_edid_audio=1
hdmi_force_edid_3d 偽裝成全部CEA模式都支援3D, 即便EDID並不支援.
hdmi_force_edid_3d=1
avoid_edid_fuzzy_match 禁止去模糊匹配EDID中描述的模式. 即便遮蔽錯誤, 也選用匹配解析度和最接近幀率的標準模式.
avoid_edid_fuzzy_match=1
hdmi_ignore_cec_init 不傳送初始化啟用源訊息. 避免在重啟時使(啟用CEC)TV結束待機並切換頻道.
hdmi_ignore_cec_init=1
hdmi_ignore_cec 偽裝成TV不支援CEC. 將不會支援任何CEC功能.
hdmi_ignore_cec=1
hdmi_force_hotplug 偽裝成HDMI熱插拔訊號被檢測到, 出現HDMI顯示器被接入
hdmi_force_hotplug=1 即便沒有檢測到HDMI顯示器也要使用HDMI模式
hdmi_ignore_hotplug 偽裝成HDMI熱插拔訊號沒有被檢測到, 出現HDMI顯示器未接入
hdmi_ignore_hotplug=1 即便檢測到HDMI顯示器也要使用混合模式
hdmi_pixel_encoding 強制畫素編碼模式. 預設情況下會使用EDID請求的模式, 所以不需要修改.
hdmi_pixel_encoding=0 default (limited for CEA, full for DMT)
hdmi_pixel_encoding=1 RGB limited (16-235)
hdmi_pixel_encoding=2 RGB full ( 0-255)
hdmi_pixel_encoding=3 YCbCr limited (16-235)
hdmi_pixel_encoding=4 YCbCr limited ( 0-255)
hdmi_drive 選擇HDMI還是DVI模式
hdmi_drive=1 DVI模式 (沒聲音)
hdmi_drive=2 HDMI模式 (如果支援並已啟用將有聲音輸出)
hdmi_group 設定HDMI型別
不指定組, 或者設為0, 將會使用EDID報告的首選組.
hdmi_group=1 CEA
hdmi_group=2 DMT
hdmi_mode 設定在CEA或DMT格式下的螢幕解析度
當hdmi_group=1 (CEA)時,下列值有效
hdmi_mode=1 VGA
hdmi_mode=2 480p 60Hz
hdmi_mode=3 480p 60Hz H
hdmi_mode=4 720p 60Hz
hdmi_mode=5 1080i 60Hz
hdmi_mode=6 480i 60Hz
hdmi_mode=7 480i 60Hz H
hdmi_mode=8 240p 60Hz
hdmi_mode=9 240p 60Hz H
hdmi_mode=10 480i 60Hz 4x
hdmi_mode=11 480i 60Hz 4x H
hdmi_mode=12 240p 60Hz 4x
hdmi_mode=13 240p 60Hz 4x H
hdmi_mode=14 480p 60Hz 2x
hdmi_mode=15 480p 60Hz 2x H
hdmi_mode=16 1080p 60Hz
hdmi_mode=17 576p 50Hz
hdmi_mode=18 576p 50Hz H
hdmi_mode=19 720p 50Hz
hdmi_mode=20 1080i 50Hz
hdmi_mode=21 576i 50Hz
hdmi_mode=22 576i 50Hz H
hdmi_mode=23 288p 50Hz
hdmi_mode=24 288p 50Hz H
hdmi_mode=25 576i 50Hz 4x
hdmi_mode=26 576i 50Hz 4x H
hdmi_mode=27 288p 50Hz 4x
hdmi_mode=28 288p 50Hz 4x H
hdmi_mode=29 576p 50Hz 2x
hdmi_mode=30 576p 50Hz 2x H
hdmi_mode=31 1080p 50Hz
hdmi_mode=32 1080p 24Hz
hdmi_mode=33 1080p 25Hz
hdmi_mode=34 1080p 30Hz
hdmi_mode=35 480p 60Hz 4x
hdmi_mode=36 480p 60Hz 4xH
hdmi_mode=37 576p 50Hz 4x
hdmi_mode=38 576p 50Hz 4x H
hdmi_mode=39 1080i 50Hz reduced blanking
hdmi_mode=40 1080i 100Hz
hdmi_mode=41 720p 100Hz
hdmi_mode=42 576p 100Hz
hdmi_mode=43 576p 100Hz H
hdmi_mode=44 576i 100Hz
hdmi_mode=45 576i 100Hz H
hdmi_mode=46 1080i 120Hz
hdmi_mode=47 720p 120Hz
hdmi_mode=48 480p 120Hz
hdmi_mode=49 480p 120Hz H
hdmi_mode=50 480i 120Hz
hdmi_mode=51 480i 120Hz H
hdmi_mode=52 576p 200Hz
hdmi_mode=53 576p 200Hz H
hdmi_mode=54 576i 200Hz
hdmi_mode=55 576i 200Hz H
hdmi_mode=56 480p 240Hz
hdmi_mode=57 480p 240Hz H
hdmi_mode=58 480i 240Hz
hdmi_mode=59 480i 240Hz H
H表示16:9比例(正常是4:3).
2x表示雙倍畫素(即更高的畫素時脈, 每個畫素重複兩次)
4x表示四倍畫素(即更高的畫素時脈, 每個畫素重複四次)
當hdmi_group=2 (DMT)時,下列值有效
警告: 根據這篇帖子所述
畫素時脈是有限制的, 最高支援的模式是1920×1200 @60Hz with reduced blanking.
hdmi_mode=1 640×350 85Hz
hdmi_mode=2 640×400 85Hz
hdmi_mode=3 720×400 85Hz
hdmi_mode=4 640×480 60Hz
hdmi_mode=5 640×480 72Hz
hdmi_mode=6 640×480 75Hz
hdmi_mode=7 640×480 85Hz
hdmi_mode=8 800×600 56Hz
hdmi_mode=9 800×600 60Hz
hdmi_mode=10 800×600 72Hz
hdmi_mode=11 800×600 75Hz
hdmi_mode=12 800×600 85Hz
hdmi_mode=13 800×600 120Hz
hdmi_mode=14 848×480 60Hz
hdmi_mode=15 1024×768 43Hz DO NOT USE
hdmi_mode=16 1024×768 60Hz
hdmi_mode=17 1024×768 70Hz
hdmi_mode=18 1024×768 75Hz
hdmi_mode=19 1024×768 85Hz
hdmi_mode=20 1024×768 120Hz
hdmi_mode=21 1152×864 75Hz
hdmi_mode=22 1280×768 reduced blanking
hdmi_mode=23 1280×768 60Hz
hdmi_mode=24 1280×768 75Hz
hdmi_mode=25 1280×768 85Hz
hdmi_mode=26 1280×768 120Hz reduced blanking
hdmi_mode=27 1280×800 reduced blanking
hdmi_mode=28 1280×800 60Hz
hdmi_mode=29 1280×800 75Hz
hdmi_mode=30 1280×800 85Hz
hdmi_mode=31 1280×800 120Hz reduced blanking
hdmi_mode=32 1280×960 60Hz
hdmi_mode=33 1280×960 85Hz
hdmi_mode=34 1280×960 120Hz reduced blanking
hdmi_mode=35 1280×1024 60Hz
hdmi_mode=36 1280×1024 75Hz
hdmi_mode=37 1280×1024 85Hz
hdmi_mode=38 1280×1024 120Hz reduced blanking
hdmi_mode=39 1360×768 60Hz
hdmi_mode=40 1360×768 120Hz reduced blanking
hdmi_mode=41 1400×1050 reduced blanking
hdmi_mode=42 1400×1050 60Hz
hdmi_mode=43 1400×1050 75Hz
hdmi_mode=44 1400×1050 85Hz
hdmi_mode=45 1400×1050 120Hz reduced blanking
hdmi_mode=46 1440×900 reduced blanking
hdmi_mode=47 1440×900 60Hz
hdmi_mode=48 1440×900 75Hz
hdmi_mode=49 1440×900 85Hz
hdmi_mode=50 1440×900 120Hz reduced blanking
hdmi_mode=51 1600×1200 60Hz
hdmi_mode=52 1600×1200 65Hz
hdmi_mode=53 1600×1200 70Hz
hdmi_mode=54 1600×1200 75Hz
hdmi_mode=55 1600×1200 85Hz
hdmi_mode=56 1600×1200 120Hz reduced blanking
hdmi_mode=57 1680×1050 reduced blanking
hdmi_mode=58 1680×1050 60Hz
hdmi_mode=59 1680×1050 75Hz
hdmi_mode=60 1680×1050 85Hz
hdmi_mode=61 1680×1050 120Hz reduced blanking
hdmi_mode=62 1792×1344 60Hz
hdmi_mode=63 1792×1344 75Hz
hdmi_mode=64 1792×1344 120Hz reduced blanking
hdmi_mode=65 1856×1392 60Hz
hdmi_mode=66 1856×1392 75Hz
hdmi_mode=67 1856×1392 120Hz reduced blanking
hdmi_mode=68 1920×1200 reduced blanking
hdmi_mode=69 1920×1200 60Hz
hdmi_mode=70 1920×1200 75Hz
hdmi_mode=71 1920×1200 85Hz
hdmi_mode=72 1920×1200 120Hz reduced blanking
hdmi_mode=73 1920×1440 60Hz
hdmi_mode=74 1920×1440 75Hz
hdmi_mode=75 1920×1440 120Hz reduced blanking
hdmi_mode=76 2560×1600 reduced blanking
hdmi_mode=77 2560×1600 60Hz
hdmi_mode=78 2560×1600 75Hz
hdmi_mode=79 2560×1600 85Hz
hdmi_mode=80 2560×1600 120Hz reduced blanking
hdmi_mode=81 1366×768 60Hz
hdmi_mode=82 1080p 60Hz
hdmi_mode=83 1600×900 reduced blanking
hdmi_mode=84 2048×1152 reduced blanking
hdmi_mode=85 720p 60Hz
hdmi_mode=86 1366×768 reduced blanking
overscan_left 左側跳過畫素數
overscan_right 右側跳過畫素數
overscan_top 頂部跳過畫素數
overscan_bottom 底部跳過畫素數
framebuffer_width 控制檯framebuffer寬度, 以畫素為單位. 預設是顯示器寬度減去超出掃描.
framebuffer_height 控制檯framebuffer高度, 以畫素為單位. 預設是顯示器高度減去超出掃描.
framebuffer_depth 控制檯framebuffer深度, 以位為單位. 預設是16位. 8位也是有效的, 但是預設RGB調色盤會導致螢幕不可讀. 24位效果更好 ,但是2012年6月15號發現有顯示混亂問題. 32位沒有混亂問題, 但是需要設定framebuffer_ignore_alpha=1, 並在2012年6月15號發現顏色顯示錯誤.
framebuffer_ignore_alpha 設為1將禁用alpha通道. 僅對32位有效.
test_mode 允許在啟動時做聲音與影象測試.
disable_overscan 設為1將禁用超出掃描.
config_hdmi_boost 設定HDMI介面的訊號強度. 預設為0. 如果出現HDMI干擾問題可以試試設為4. 最大為7.
display_rotate 順時針旋轉螢幕顯示 (預設為0) 或者翻轉顯示.
display_rotate=0 正常
display_rotate=1 90度
display_rotate=2 180度
display_rotate=3 270度
display_rotate=0x10000 水平翻轉
display_rotate=0x20000 垂直翻轉
注意: 旋轉90度或者270度額外需要GPU記憶體, 所以在GPU只分配到16M的時候旋轉會無效. 可能的原因:
Crashes my RPI before Linux boots if set to “1” — REW 20120913.

哪些值對我的顯示器有效?

你的HDMI顯示器可能只支援一部分設定. 想要找出支援哪些設定, 可以使用下面的方法.
把輸出格式設為VGA 60Hz (hdmi_group=1 hdmi_mode=1) 然後啟動樹莓派
輸入下列命令可以獲取CEA支援模式的列表
/opt/vc/bin/tvservice -m CEA
輸入下列命令可以獲取DMT支援模式的列表
/opt/vc/bin/tvservice -m DMT
輸入下列命令可以獲取當前設定狀態
/opt/vc/bin/tvservice -s
輸入下列命令可以從顯示器獲取更多詳細資訊
/opt/vc/bin/tvservice -d edid.dat /opt/vc/bin/edidparser edid.dat
使用預設HDMI模式去排除問題時, edid.dat檔案同樣會提供資訊

許可的解碼器

你可以購買繫結樹莓派CPU序列號的證書來使用額外的硬體解碼器.
decode_MPG2 可開啟MPEG-2硬解的序列號.
decode_MPG2=0x12345678
decode_WVC1 可開啟VC-1硬解的序列號.
decode_WVC1=0x12345678
可在多臺樹莓派間共享SD卡的序列號. 同時最多8個證書.
decode_XXXX=0x12345678,0xabcdabcd,0x87654321,…

啟動

disable_commandline_tags 在啟動核心前, 通過改寫ATAGS (0x100處的記憶體)來阻止start.elf
cmdline (string) 命令列引數. 可用來代替cmdline.txt檔案
kernel (string) 載入指定名稱的核心映象檔案啟動核心. 預設為”kernel.img”
kernel_address 載入kernel.img檔案地址
kernel_old (bool) 為1時, 從0x0處載入核心
ramfsfile (string) 要的載入的ramfs檔案
ramfsaddr 要載入的ramfs檔案地址
initramfs (string address) 要載入的ramfs檔案及其地址 (就是把ramfsfile+ramfsaddr合併為一項).
注意: 這項使用與其他項不同的語法 – 不要在這用”=”號. 正確示例:
initramfs initramf.gz 0x00800000
device_tree_address 載入device_tree的地址
init_uart_baud 初始化uart波特率. 預設為115200
init_uart_clock 初始化uart時序. 預設為3000000 (3Mhz)
init_emmc_clock 初始化emmc時序. 預設為100000000 (100MHz)
boot_delay 在載入核心前在start.elf等待指定秒. 總延遲=1000 * boot_delay + boot_delay_ms. 預設為1
boot_delay_ms 在載入核心前在start.elf等待指定毫秒. 預設為0
avoid_safe_mode 如果設為1, 將不以安全模式啟動. 預設為0

超頻

注意: 設定任何引數來超頻樹莓派都會在晶片中永久的儲存一個保修位, 用於檢測你的樹莓派是否超頻過. 如果裝置超頻過保修就無效了. 自2012年9月19號,你可以自由超頻而不影響保修了.
最新的核心有一個預設開啟”ondemand”調速器的cpu頻率核心驅動. 未開啟超頻並不會有任何影響. 一旦你開超頻, ARM頻率將隨處理器負載而變化. 只有在調速器需要時才會使用非預設值. 你可以使用*_min配置選項來調整最低值, 或者使用force_turbo=1來禁用動態超頻.

當晶片溫度達到85°C執行時會關閉超頻及超壓, 直到冷卻. 即使在25°C環境溫度下使用最高設定, 也不要讓溫度達到極限.

超頻選項

引數 說明
arm_freq ARM頻率,以MHz為單位. 預設為700
gpu_freq 同時設定core_freq, h264_freq, isp_freq, v3d_freq. 預設為250
core_freq GPU處理器核心頻率,以MHz為單位. 由於GPU要驅動二級快取, 對ARM效能會造成影響. 預設為 250
h264_freq 視訊硬解模組頻率,以MHz為單位. 預設為250
isp_freq 影象感測器管道模組頻率,以MHz為單位. 預設為250
v3d_freq 3D模組頻率,以MHz為單位. 預設為250
avoid_pwm_pll 不要把鎖相環用在PWM音訊. 這會略微降低模擬音訊的效果. 空閒的鎖相環允許從剩餘GPU獨立設定core_freq, 這將會比超頻有更多許可權. 預設為0
sdram_freq SDRAM頻率,以MHz為單位.預設為400
over_voltage ARM/GPU核心電壓調節. [-16,8]用0.025V步進等同於[0.8V,1.4V]. 預設為0 (1.2V). 只有在指定 force_turbo或current_limit_override時 (會設定保修位), 才允許數值在6以上
over_voltage_sdram 同時設定over_voltage_sdram_c, over_voltage_sdram_i, over_voltage_sdram_p
over_voltage_sdram_c SDRAM控制器電壓調節. [-16,8]用0.025V步進等同於[0.8V,1.4V]. 預設為0 (1.2V)
over_voltage_sdram_i SDRAM I/O電壓調節. [-16,8]用0.025V步進等同於[0.8V,1.4V]. 預設為0 (1.2V)
over_voltage_sdram_p SDRAM phy電壓調節. [-16,8]用0.025V步進等同於[0.8V,1.4V]. 預設為0 (1.2V)
force_turbo 關閉動態CPU頻率驅動及下面的最小設定. 開啟h264/v3d/isp超頻. 預設為0. 會設定保修位.
initial_turbo 在啟動時以指定秒數 (上限為60) 或者以CPU頻率來開啟急速模式. 如果已經超頻, 能對SD卡錯誤問題有改善. 預設為0
arm_freq_min 設定動態時序的最小arm_freq. 預設為700
core_freq_min 設定動態時序的最小core_freq. 預設為250
sdram_freq_min 設定動態時序的最小sdram_freq. 預設為400
over_voltage_min 設定動態時序的最小over_voltage. 預設為0
temp_limit 過熱保護. 當晶片達到指定溫度就把時序和電源切換會預設值. 把此值設高於預設值將影響保修. 預設為85
current_limit_override 當設為”0x5A000020″時, 禁止SMPS限流保護. 在超頻過高無法重啟時設定此項會有所幫助. 會設定保修位.

force_turbo模式
force_turbo=0
開啟對ARM核心,GPU核心和SDRAM的動態時序及電壓. 在忙的時候ARM頻率會提高到”arm_freq”並在閒的時候降低到”arm_freq_min”. “core_freq”, “sdram_freq”和”over_voltage”的行為都一樣. “over_voltage”最高為6 (1.35V). h264/v3d/isp部分的非預設值將被忽略.
force_turbo=1
關閉動態時序, 因此所有頻率和電壓會保持高值. h264/v3d/isp GPU部分的超頻也會開啟, 等同於設定”over_voltage”為8 (1.4V).

時序關係

GPU核心, h264, v3d和isp共享一個鎖相環, 因此需要相關聯的頻率. ARM, SDRAM和GPU有各自獨有的鎖相環, 因此可以設為沒有關聯的頻率.

當設了”avoid_pwm_pll=1″下列設定就沒必要了.
pll_freq = floor(2400 / (2 * core_freq)) * (2 * core_freq)
gpu_freq = pll_freq / [偶數]
有效的gpu_freq會自動四舍五到到最接近的整型偶數, 所以請求core_freq為500, gpu_freq為300,算一下2000/300 = 6.666 => 6 ,結果就是333.33MHz.

已測試過的超頻設定

下表顯示了一些成功的超頻嘗試, 這些可以指導你進行超頻. 這些設定不一定能在每臺樹莓派上都成功, 並且會縮短高通晶片的壽命.

arm_freq gpu_freq core_freq h264_freq isp_freq v3d_freq sdram_freq over_voltage over_voltage_sdram
800
900 275 500
900 450 450
930 350 500
1000 500 500 6
1050 6
1150 500 600 8
這是一個表明Hynix產的RAM在超頻上表現不如三星產的RAM的報告.

超頻時SD卡使用

設定SD卡: http://elinux.org/RPi_Easy_SD_Card_Setup
超頻時使用6速或10速的SD卡(SHDC/SHDX)會導致在一些天后樹莓派讀取SD卡檔案系統不穩定.
不管是ext4 , NTFS 或其他格式都一樣.
不管是哪家SD卡生產商都一樣.
不管是哪個版本的樹莓派都一樣.
這與SD卡容量無關 – 實際驗證出現在16G或更大的SD卡上.
! 關鍵是你何時讓樹莓派功率不足,也就是低於樹莓派的基本設定需求 !
popcornmix發表在https://github.com/raspberrypi/linux/issues/280:
“超頻會導致SD卡錯誤.這情況往往是與板子相關(就是說有些樹莓派超頻後SD卡沒事,有些不行).
我認為通常都是core_freq導致的SD卡問題(和arm_freq,sdram_freq比)”
在2013年4月寫這個提示的時候在樹莓派官方論壇上一共有137個有關於SD的問題, 絕大部分與超頻有關.
如果你使用6速或10速SD卡, 還想要樹莓派穩定執行: 不要嘗試超頻,否則很可能會丟失資料

監測溫度及電壓

要檢測樹莓派的溫度, 看: /sys/class/thermal/thermal_zone0/temp
要檢測樹莓派當前的頻率, 看: /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq
要檢測樹莓派電源裝置的電壓, 你需要一個萬用電表, 接上電源測試點, 或者擴充套件頭.

通常來說要保持核心溫度低於70度, 電壓高於4.8V. (另外請注意, 不要用那種便宜的USB電源, 那基本上是4.2V的, 這是因為那本來就是為充3.7V鋰電池設計的, 根本無法為樹莓派提供穩定的5V電壓). 此外, 用散熱片也是個好主意, 尤其是你把樹莓派裝到了殼子裡. 一個合適的散熱器是自帶不乾膠柵格狀的 14x14x10 mm 散熱片.

超頻穩定性測試

大多數超頻問題立馬就會出現啟動問題, 但還是會隨時間而出現檔案系統問題. 這是一個對系統,特別是SD卡進行壓力測試的指令碼. 如果指令碼執行完成, dmesg中不提示任何錯誤, 你做的超頻設定可能會比較穩定.

如果系統崩潰了, 在重啟時按住shift鍵, 這會臨時性關閉所有超頻. 同樣, 注意SD卡問題通常由core_freq造成,不要在raspi-config預設的高速(950 MHz)和超速(1 GHz)裡來個大跳越(從250 MHz飛到500 MHz).

發表於 Linux系統 | 發表迴響

[ubuntu]停用 Ubuntu 擾人的更新和升級通知

參考網址:凍仁的筆記
停用 Ubuntu 擾人的更新和升級通知

 

1. GUI

  1. 開啟 update-manager
  2. 切到更新 update 的頁籤。
  3. 停用更新通知:將 Automatically check for updates 一欄更改成 Never
  4. 停用升級通知:將 Notify me of a new Ubuntu version 一欄更改成 Never

 

2. Console


2.1. 停用更新通知。

[ jonny@trusty ~ ]
$ sudo vi /etc/apt/apt.conf.d/10periodic [Enter]
#APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Update-Package-Lists "0";
APT::Periodic::Download-Upgradeable-Packages "0";
APT::Periodic::AutocleanInterval "0";


2.2. 停用升級通知。

[ jonny@trusty ~ ]
$ sudo vi /etc/update-manager/release-upgrades [Enter]

# Default behavior for the release upgrader.

[DEFAULT]
# Default prompting behavior, valid options:
#
#  never  - Never check for a new release.
#  normal - Check to see if a new release is available.  If more than one new
#           release is found, the release upgrader will attempt to upgrade to
#           the release that immediately succeeds the currently-running
#           release.
#  lts    - Check to see if a new LTS release is available.  The upgrader
#           will attempt to upgrade to the first LTS release available after
#           the currently-running one.  Note that this option should not be
#           used if the currently-running release is not itself an LTS
#           release, since in that case the upgrader won't be able to
#           determine if a newer release is available.
#Prompt=lts
Prompt=never 


最後,我們也可以移除更新管理員來永絕後患,但前提是要會先學會怎麼裝得回來還有會定期使用指令更新才行。

[ jonny@trusty ~ ]
$ sudo apt-get remove update-manager-core [Enter]

 

發表於 Linux系統 | 發表迴響

[lyjh]電腦教室設備

HUB
DGS-1210-28  24埠 10/100/1000BASE-T + 4埠 Combo Base-T/SFP(硬體F1版)
DES-1026G  24埠10/100Mbps+ 2埠Gigabit Copper/SFP ports 乙太網路交換器

108.10.17自己購入SMC SM8024L2 TigerSwitch 10/100/1000 
24埠準智慧型超高速乙太網路交換器
24埠10/100/1000Base-T+4埠分享式Gigabit combo (1000Base-T/SFP)(光纖接頭)
設定方法
SMC 8024L2 回復出廠值的步驟:
1. 拔掉所有網路線,拔掉電源線。
2. 拿一條網路線,一頭插 Port 1,另一頭插 Port 2。
3. 後端的電源孔,插上電源線。
4. 至少等四十秒後,再將 Port 1 / 2 間那條網路線移除。
5. 電腦的 IP 設成 192.168.2.x 的網段,例如 192.168.2.56。
6. 網路線一頭接電腦,另一頭接 SMC 8024L2 的 Port 1。
7. 電腦瀏覽器的網址輸入 http://192.168.2.10 就可以了。
8. 密碼輸入 smcadmin

發表於 教學科技, 硬體維修 | 發表迴響

[moodle]安裝

在raspberry pi3+ 上安裝moodle
版本3.6.6 目前最新版是3.7.2(不建議,會出現不是arm64的問題,raspberry是armhf (arm hard float) )
安裝過程中會出現缺少php的某些套件,就用apt install php-* 去安裝特定的套件。

出現一些資料庫錯誤的訊息
參考:https://www.itread01.com/p/1112844.html
參考:小白球 http://dq.tieba.com/p/5427154820?lp=5028&mo_device=1&is_jingpost=0
進入linux系統,下mysql -u root -p指令
SET GLOBAL innodb_file_format=Barracuda;
SET innodb_file_per_table = ON;
SET GLOBAL innodb_large_prefix = ON;

【批次新增使用者】
檔案中的每一行只能包含一筆記錄
每筆記錄都是一系列以逗號分隔的資料
檔案的第一條記錄很特殊,它包含著欄位名稱的列表。這定義了檔案中剩下部分的格式。
必需的欄位名:這些欄位名必須包含在第一條記錄中,並且每個用戶都需要有。

username, password, firstname, lastname, email
預設的欄位名:這些是可選的——如果並未包含它們,則會使用主管理員的值作為預設值。

使用者資料匯入後,當使用者第一次登入時系統會要求更改密碼,如要取消得去設定資料表user_preferences
每個使用者auth_forcepasswordchange的值
update mdl_user_preferences set value=0 WHERE name='auth_forcepasswordchange' and (userid>=3 and userid<=19)
 

【批次新增題庫】
先建好題目的分類
匯入時選擇使用Aiken 格式
請使用純文字編輯器編寫,編碼使用UTF-8碼(檔首無BOM)。
每一試題,題幹之前"不加題號"(匯入Moodle後會自動加上題號)。在各試題之間"插入一空行",使形成段落,將試題隔開。
題幹內容不管有多長,都必須放在同一行上,中間不可使用換行標籤(在匯入Moodle後會依螢幕大小自動換行)。
每一選項都以大寫英文字母A,B,C,D當做選項的標號,緊接一個英文句點"." 或一個右括號 ")" 然後再"空一格",最後面才是選項內容
正確答案必須緊接放在最後一個選項之下,並以大寫 "ANSWER:" 開頭( : 用英文字型),"空一格",然後加上代表正確答案的大寫英文字母。

範例
What is the correct answer to this question?
A) Is it this one?
B) Maybe this answer?
C) Possibly this one?
D) Must be this one!
ANSWER: D

資料庫配置
使用者user
題庫question
測驗quiz

發表於 Linux系統, 軟體使用 | 發表迴響

[scratch]scratch3 讀取 open data

參考網址:

transformer可以做為scratch與open data的中介程式,
但transformer的授權方式較為保守,必需註冊才能使用。

在網路上找到了WFduino
這個程式開放多了,而且是scratch 3的界面
宜蘭縣就提供這個程式給大家使用http://wfduino.ilc.edu.tw/
只可惜目前還在測試版的狀態

竹林資訊站有相關的訊息
http://blog.ilc.edu.tw/blog/blog/868/post/113127/750388

PM2 5自動監測警示系統(scratch3)
http://blog.ilc.edu.tw/blog/blog/868/post/113115/778553

發表於 軟體使用 | 發表迴響

[scratch]宇宙機器人

參考網址:https://www.kodorobot.com

Transformer former 下載

發表於 程式設計, 軟體使用 | 發表迴響

scratch 3 轉換成 exe檔

參考網址:
 

Project HTMLifier

Convert a Scratch project to HTML

 

Scratch 3.0文件SB3转exe可执行文件

https://nwjs.io/ 下载稳定版压缩包, 目前版本nwjs-v0.39.3-win-x64.zip. 解压后,把之前下载的project.html移动到这个解压后的目录。并在该目录下建立一个icon.png图标文件,以及配置文件package.json文件,其json内容示例:项目名字,主程序文件,图标。

{

"name": "CrazyBall",

"main": "project.html",

"icons": { "16": "icon.png"}

}

 

双击运行nw.exe,就可以打开sb3转换成的exe可执行文件了。

 

http://revocue.cz/en/make-sfx/index.php 下载makesfx.exe,可以把nw.exe所在目录所有的文件制作成一个exe文件,可以定制文件名和图标。

發表於 軟體使用 | 發表迴響