BV1AL 之無所不記

2018-01-09

UART with FTDI/PL23

一般來說ARM SBC是丟在某個角落, 只要它乖乖做事, 是不會去看它的. 最近拿到
一支OrangePi Zero, 就是以這個目的來使用, 這是一支沒有video out的SBC(RaspPi
有HDMI), 好處是它有獨立的UART debug port(RaspberryPi要另外config兩支GPIO
來當RX/TX才能接UART/TTL), 拿一台NB接上就能進系統改東西.

一般是在NB上插一支USB/TTL轉接器, 跑miniterm.py, 結果只有看到boot時的
messages, 但是messages到一個階段後就再也沒有東西出來, 也就是沒有login prompt.

於是東查西查(現在都改用systemd, 沒有/etc/inittab), 也查了systemctl的
getty@ttyS0以及/etc/systemd/system/ 還有 /lib/systemd/ 下面各種可能造成
沒有login的原因, 但是仍找不出來.

這支USB/TTL用在RaspberryPi 完全正常, 因此一直沒懷疑它, 今天想到之前用在
ESP8266時, 不同支ESP8266對不同USB/TTL的反應不一樣, 因此換一支FTDI的,
結果就能看到OrangePi Zero送出來的login prompt了!

看來這隻OPiZero的UART電壓可能跟RPi的不太一樣.

miniterm.py /dev/ttyUSB0 115200 --eol LF --raw
加--eol LF以及--raw 才能避開各種控制碼造成的混亂.

標籤: ,

2017-12-02

telegram-cli觀察記

已經觀察了六天,發現telegram-cli拉高CPU loading的時間不一定,有時連續
一整天每個小時都出現很多(幾十次)衝到50%以上的情形,有時卻好幾個小時都
不曾出現10%以上的loading,但可以確定的是「不是OS造成程式loading high的
問題」,懷疑是網路通訊連接到telegram server有阻礙,因此一直retry導致
loading high。這六天的紀錄也沒有出現70%以上的(使用A10 single core)。

"-P XXXX"好用的地方在於telegram-cli仍可以續繼操作,又可以接受外部程式
送來的payload,並將它送出。

標籤: , , ,

2017-11-26

telegram-cli 使用後記

telegram-cli使用兩年多好像沒什麼不良,但最近卻發現主機常常system reboot,
查來查去,推測是telegram-cli把CPU loading拉很高,最後引發system reboot.

好吧,那來加個監測CPU loading並且把情況回報給自己的帳號,這樣就可以找到
最後的黑盒子內容。
telegram-cli 加上 -P 2323 的參數,開一個小門來讓外部程式送訊

監視CPU的程式可以用
pn = popen('pidof telegram-cli').readline().strip()
P='top -bn1 -p %s|tail -n1|awk \'{print $9}\''%pn
while True:
   L = popen(P).readline().strip()
   如果 L 大於 10 就送個簡訊
   system('echo "msg XXX_YY %s %s"|nc localhost 2323 -q1'%(L,strftime('%T')))
   如果 L 大於 90 就把它殺了
   system('sudo pkill telegram-cli')

標籤: , , ,

2017-09-04

釵、十手、古武道

最近看了2016年的時代劇「傳七捕物帳」,劇中主角傳七是江戶時代的捕快,
他的隨身武器叫做「十手(Jutte)」,十手是鈍器,但它的側邊有一支L型的護具,
就是用它來鉗住日本刀,同時可能再從身上拿出另一支十手來打彎或甚至打斷日本刀,
進而制服對手。











網路上有一篇談「十手」的文章在結尾說
『十手在硫球空手道體系中系統性地演化並發展出特定的套路,成為硫球空手道的經典兵器。』
這似乎有誤,琉球古武道的武器並沒有「十手」而是另一種叫「釵(sai)」的武器。
「釵」是鈍器,在「忍者龜」裡被誤導成利器!

在台灣老一輩武術界稱為「鐵尺」或「太子手」,它是雙手各一支、一對使用的演武法,可以搭配「拳」
來練習使用。釵的武技是藉由翻轉釵身,可以往前突刺或以長過手肘那一小段往後突刺對
手,以及翻轉時敲打對手。


「釵」在主體的左右兩側各有一支突出物,跟「十手」類似,但不同的是「釵」的這兩支
突出物與「釵」主體的距離比「十手」大,為的就是讓手能反握。而「十手」在演技上
並不翻轉,主要是用來鉗制對手的刀具,也因此突出的那一支與主體的距離是較小的,這樣才足以發揮鉗夾的功能。

為了能輕易翻轉「釵」,近年來販售的釵身在「monouchi」這一段被短化了,以便重心落在接近yoku跟釵身交叉處,結果monouchi 大約是tsuka 的兩倍多一點點。

但這也造成另一個問題,就是monouchi 本來設計的長度是比手肘長出大約半寸,反握(握在monouchi 而不是握tsuka)之後,可以用比手肘略長那一段攻擊身後的敵人,但這種短化的設計就少了那一段,殺傷力也變小了。

真是兩難,如果monouchi 比手肘長,在翻轉釵身的時候會比較費力。
最後這張回是傳統釵的長短比例。

標籤:

2017-09-02

小行星Florence的月球

9月1日掠過地球的小行星Florence(直徑4.5公里)竟然帶著兩粒月球!
這兩粒月球的直徑大約在100-300公尺之間。
內圍的月球大約8小時繞Florence一圈,外圍的月球大概22-27小時繞一圈。

https://cneos.jpl.nasa.gov/news/news199.html

這是NASA在Florence接近地球時用70公尺直徑的大天線以電波偵測出來的
https://www.jpl.nasa.gov/spaceimages/details.php?id=PIA17792

https://en.wikipedia.org/wiki/Goldstone_Deep_Space_Communications_Complex

標籤: ,

2017-08-31

PM8546 UART python 讀取資料

最近因為要透過PM8546 UART去讀取後面的資料,才用到更高的230400 baud速度.
基本上python 可以利用兩種方式讀取 serial port data:
1. pexpect 的 before 來獲取
  用spawn()去呼叫 miniterm.py, 新舊版的參數方式稍有不同
  舊版: pexpect.spawn('miniterm.py -d /dev/ttyUSB0 -b 230400 --lf')                                         
  新版: pexpect.spawn('miniterm.py /dev/ttyUSB0 230400 --eol LF --raw')
  (加--lf 或 --eof LF 是為了避免一次得到兩行空行)
2. serial 的 read()
  利用while 來使Serial.read() 不斷累加,獲取到達特定字元(例如 '>' 提示符號)之前的所有字串

從PM8546上讀出來的string再用 split('\r')來分隔每一行,最後從每一行的字串
裡去判讀最終目標字串。

標籤: , , ,

2017-08-26

福衛五進入軌道

這幾天的主要新聞包括台灣福衛五號在8/24昇空,8/25進入軌道。

新衛星的TLE在8/24還不太好找,因為還沒列出FORMOSAT-5,
還好找到一個8/24發射的2017-049A 然後再找到 42920
就找到TLE了.

1 42920U 17049A   17237.24511176 -.00000044  00000-0  00000+0 0  9993
2 42920  98.2909 311.6421 0009843 225.0388 135.0120 14.50730944    72

用earthtrack 畫出來
前不久經過台灣附近
即將經過台灣附近

不過有新聞提到Xspace公司這次發射福衛五號是陪本生意,因為用一支很大的
火箭來射一粒小小的福衛五就像開一列捷運車,卻只載了一個客人。

標籤: ,