Powetool キーボードの入れ替え
ElevenClock 時計関連(秒の表示など)
defenderのログ(eventlog)
Powetool キーボードの入れ替え
ElevenClock 時計関連(秒の表示など)
defenderのログ(eventlog)
必要なツールをインストール
$ sudo apt install mpack
$ sudo apt install libemail-outlook-message-perl libemail-sender-perl
/dev/sdb1 がFAT32のUSBで、/mnt/tmpへマウント
mount -t vfat -o defaults,utf8 /dev/sdb1 /mnt/tmp
msgファイルをemlへ変換
$ msgconvert *.msg
*emlファイルが生成されるので、emlファイルを解析
$ munpack *eml
raspberryPiで利用できるマルチブートの環境として、PINN(PINN IsNotNoobs)とBerrybootなどが知られている。
PINNでカスタムOSを利用する手順のリンク。
結構煩雑な手順を踏む必要がある。
PINN用のカスタムOS設定に必要なファイル
https://sourceforge.net/projects/pinn/files/
BerryBoot用に設定されたOSイメージのダウンロードリンク
https://sourceforge.net/projects/berryboot/files/
PINNよりも公開されているカスタムOSの種類が多く、さらに導入手順も比較的容易。実際に試してみたところ、swapをONにする設定ができない模様。
その後の調査でBerryBootのファイルシステムはoverlayとなっていてることがswapを設定できない原因らしい。最近のRaspberry OSでは、swapの設定を/sbin/dphys-swapfileのスクリプトで実行しているが、こんな記事を発見。
[Solved] With overlay of root, swap does not work
解決方法として:
〇dphys-swapfileを利用しない。
〇swapとしてファイルではなく、(overlayとは別の?)デバイスを指定する必要があると理解。
次のように、SSDのパーティションにswap用に4GBを割り当ててみました。
evice Boot Start End Sectors Size Id Type
/dev/sda1 2048 262143 260096 127M e W95 FAT16 (LBA)
/dev/sda2 47955968 468860927 420904960 200.7G 83 Linux
/dev/sda3 39567360 47955967 8388608 4G 82 Linux swap / Solaris
swapファイルの指定は、昔ながらの(?)/etc/fstabに記述します。
/dev/sda3 swap swap defaults 0 0
その結果、4GBのswap領域を確保することができた。
$ free
total used free shared buff/cache available
Mem: 3798908 307284 579676 47612 2911948 3366744
Swap: 4194300 0 4194300
BerryBootでインストールした複数のOS毎に、以上のようにswap設定を変更することで、目的を達成!
最初にASI_linux_mac_SDK_V1.21をインストール
ダウンロードのリンク
Software and Drivers
ダウンロードして展開すると;
$ls ASI_linux_mac_SDK_V1.21
demo doc include lib license.txt
$ls ASI_linux_mac_SDK_V1.21/demo
Makefile bin main_SDK2_snap.cpp main_SDK2_video.cpp main_SDK2_video_mac main_SDK2_video_mac.cpp readme.txt
$cat readme.txt
Please install opencv2 at first, for example under Linux x86 OS, run:
make platform=x86
Below options is supported:
x86(Linux 32-bit)
x64(Linux 64-bit)
armv5
armv6
armv7
armv8
mac32
mac64
mac(32-bit and 64-bit)
If libASICamera2.so or (.dylib) can't be found at run time, resolve by delow two ways:
1.Add a .conf file that contains the path of the library to /etc/ld.so.conf.d/, run ldconfig.
2.Add compile option -Wl,-rpath=<library path>
raspberry pi4 64bit OSの場合 armv8
makeに先立って、demo/binの下へarmv8フォルダーを作る。
/usr/includeの下に、opencv2のファイル一式が必要。
root権限なしでカメラをアクセスできるようにするためのルールを追加
設定ファイル ASI_linux_mac_SDK_V1.21lib/asi.rulesをlib/udev/rules.d または/etc/udev/rules.dへCopyして、カメラを抜き差し。
$cd demo
$mkdir demo/bin/armv8
$make platform=armv8
$ ls demo/bin/armv8/
libASICamera2.so main_SDK2_video_mac test_gui2_snap test_gui2_video
libASICamera2.so を参照できるよう、適切なフォルダーへ配置しldconfig
(あまり良い方法ではないが、/lib の下へlibASICamera2.soをCopy)
Pythonから利用できるようにライブラーをインストール
https://github.com/python-zwoasi/python-zwoasi
#!/usr/bin/env python
import argparse
import os
import sys
import time
import zwoasi as asi
env_filename = os.getenv('ZWO_ASI_LIB')
ZWO_ASI_LIBには、次のパスを設定
$ echo $ZWO_ASI_LIB
/home/pi/python-zwoasi/build/lib/zwoasi
$ ls /home/pi/python-zwoasi/build/lib/zwoasi
__init__.py の内容
"""Interface to ZWO ASI range of USB cameras.
Calls to the `zwoasi` module may raise :class:`TypeError` or :class:`ValueError` exceptions if an input argument
is incorrect. Failure conditions from within the module may raise exceptions of type :class:`ZWO_Error`. Errors from
conditions specifically from the SDK C library are indicated by errors of type :class:`ZWO_IOError`; certain
:func:`Camera.capture()` errors are signalled by :class:`ZWO_CaptureError`."""
import ctypes as c
from ctypes.util import find_library
import logging
import numpy as np
import os
import six
import sys
import time
import traceback
__author__ = 'Steve Marple'
__version__ = '0.1.0.1'
__license__ = 'MIT'
def get_num_cameras():
"""Retrieves the number of ZWO ASI cameras that are connected. Type :class:`int`."""
return zwolib.ASIGetNumOfConnectedCameras()