2021年1月27日 星期三

[資訊安全] 在 Plesk 安裝 GoDaddy 的憑證

之前有寫到安裝免費憑證。但最近要更新突然就失智了... 

簡單說,如果要使用續購的憑證,要重新申請 private key(在 Plesk 上做),然後會產生 private key 和 CSR。 

再把 CSR 貼到 GoDaddy 的 我的產品 > SSL 憑證 > 管理 > 管理憑證 > 重設您的憑證金鑰。

等待網域驗證通過後,將可以下載一個包有 crt, pem 和 bundle 的壓縮檔。 

這時後再到剛剛的 Plesk 將 crt 和 bundle 貼回去,就新增一筆憑證完成了。

對了,最重要的一步,就是打給客服請他們更新忘記講了...

2021年1月21日 星期四

[RPi] SpiDev Documentation

SpiDev Documentation 

https://www.sigmdel.ca/michel/ha/rpi/dnld/draft_spidev_doc.pdf

2021年1月19日 星期二

[RPi] Serial Peripheral Interface on the Raspberry Pi

SPI好文!
https://sigmdel.ca/michel/ha/rpi/spi_on_pi_en.html

[RPi] Modern Maker : 從那些 Maker 的大小事看 Linux 核心

還不錯的介紹 https://ithelp.ithome.com.tw/users/20129818/ironman/3852

2020年12月9日 星期三

[RPi] MTBF

MTBF 沒有官方數據。

但是有個測試小工具可以讓 CPU 的四核心跑到滿

wget https://raw.githubusercontent.com/ssvb/cpuburn-arm/master/cpuburn-a53.S
gcc -o cpuburn-a53 cpuburn-a53.S
./cpuburn-a53

來源

2020年11月26日 星期四

[RPi] donkeypart_ps3_controller

最近在弄 Donkey Car 的搖桿按鍵,需要讀按鍵值。

作法大概是這樣。

1. 使用 evdev 讀取搖桿資訊。

>>> import evdev
>>> device = evdev.InputDevice('/dev/input/event0')
>>> print(device)
>>> device.capabilities()
>>> device.capabilities(verbose=True)
{('EV_SYN', 0): [('SYN_REPORT', 0), ('SYN_CONFIG', 1), ('SYN_DROPPED', 3), ('?', 4)], ('EV_KEY', 1): [(['BTN_A', 'BTN_GAMEPAD', 'BTN_SOUTH'], 304), (['BTN_B', 'BTN_EAST'], 305), ('BTN_C', 306), (['BTN_NORTH', 'BTN_X'], 307), (['BTN_WEST', 'BTN_Y'], 308), ('BTN_Z', 309), ('BTN_TL', 310), ('BTN_TR', 311), ('BTN_TL2', 312), ('BTN_TR2', 313), ('BTN_SELECT', 314), ('BTN_START', 315), ('BTN_MODE', 316)], ('EV_ABS', 3): [(('ABS_X', 0), AbsInfo(value=128, min=0, max=255, fuzz=0, flat=15, resolution=0)), (('ABS_Y', 1), AbsInfo(value=128, min=0, max=255, fuzz=0, flat=15, resolution=0)), (('ABS_Z', 2), AbsInfo(value=128, min=0, max=255, fuzz=0, flat=15, resolution=0)), (('ABS_RZ', 5), AbsInfo(value=128, min=0, max=255, fuzz=0, flat=15, resolution=0)), (('ABS_HAT0X', 16), AbsInfo(value=0, min=-1, max=1, fuzz=0, flat=0, resolution=0)), (('ABS_HAT0Y', 17), AbsInfo(value=0, min=-1, max=1, fuzz=0, flat=0, resolution=0))], ('EV_MSC', 4): [('MSC_SCAN', 4)]}

2. 將讀出來的資訊轉成 16 進位。

self.button_names = {
            0x13a: 'select',  # 8 314
            0x13b: 'start',  # 9 315
            0x13c: 'PS',  # a  316
}

3. 修改 donkeypart_ps3_controller 裡面的 part 即可。



這篇有更好的範例可以直接讀到按鍵資訊。
#import evdev
from evdev import InputDevice, categorize, ecodes

#cree un objet gamepad | creates object gamepad
gamepad = InputDevice('/dev/input/event2')

#affiche la liste des device connectes | prints out device info at start
print(gamepad)

#affiche les codes interceptes |  display codes
for event in gamepad.read_loop():
    #Boutons | buttons 
    if event.type == ecodes.EV_KEY:
        print(event)
    #Gamepad analogique | Analog gamepad
    elif event.type == ecodes.EV_ABS:
        absevent = categorize(event)
        print ecodes.bytype[absevent.event.type][absevent.event.code], absevent.event.value
使用 evdev 更容易。
import evdev

device = evdev.InputDevice('/dev/input/event1')
print(device)

for event in device.read_loop():
    if event.type == evdev.ecodes.EV_KEY:
        print(evdev.categorize(event))
找到一篇最棒的,可以直接使用 evtest 讀取搖桿資訊。

2020年11月5日 星期四

[RPI] config.txt

 今天測試某螢幕,使用 hdmi_safe=1 可以顯示,但修改了其他就不顯示。

 看了官方說明, 內容是這樣的。

===

hdmi_force_hotplug=1
hdmi_ignore_edid=0xa5000080
config_hdmi_boost=4
hdmi_group=2
hdmi_mode=4
disable_overscan=0
overscan_left=24
overscan_right=24
overscan_top=24
overscan_bottom=24

===


hdmi_ignore_edid=0xa5000080 這個參數之前沒用過,這篇是這樣說的。

hdmi_ignore_edid 如果你的顯示器是天朝產的垃圾貨, 允許系統忽略EDID顯示數據