Wake console screen with SSH
Raspberry Pi のコンソールをSSH経由でブランクから復帰させるコマンド
$ sudo sh -c "setterm --blank poke --term linux > /dev/tty1 < /dev/tty1"
逆にブランクにする場合
$ sudo sh -c "setterm --blank force --term linux > /dev/tty1 < /dev/tty1"
DisplayのON, OFF
ON
$ vcgencmd display_power 1
OFF
$ vcgencmd display_power 0
Raspberry Pi から LPC1114 への書き込み
lpc21isp のソースを眺めていると、Raspberry Pi の GPIO を使って、リセットとISPモードの制御ができるようになっていたので試してみました
Raspberry Pi と LPC1114の配線
lpc21isp のコンパイル
lpc21isp のソースをダウンロードして、次のようにしてビルドすることで、リセットとISPモードの制御に Raspberry Pi の GPIO が使えるようになります。
$ tar xvzf ~/Downloads/lpc21isp_197.tar.gz $ cd lpc21isp_197 $ make CFLAGS="-Wall -DGPIO_ISP=23 -DGPIO_RST=18"
Raspberry Pi の GPIO のセットアップ
#!/bin/sh # Configure -ISP signal echo 23 >/sys/class/gpio/export echo out >/sys/class/gpio/gpio23/direction echo 1 >/sys/class/gpio/gpio23/value chown root.gpio /sys/class/gpio/gpio23/value chmod 660 /sys/class/gpio/gpio23/value # Configure -RST signal echo 18 >/sys/class/gpio/export echo out >/sys/class/gpio/gpio18/direction echo 1 >/sys/class/gpio/gpio18/value chown root.gpio /sys/class/gpio/gpio18/value chmod 660 /sys/class/gpio/gpio18/value
bin ファイルの書き込み
lpc21isp -control -bin firmware.bin /dev/ttyAMA0 115200 48000
SDKMANを使ってRaspberry PiにScalaをインストール
まず、zip をインストールします
$ sudo apt-get install zip
SDKMANをインストールしてパス設定等を反映します
$ curl -s "https://get.sdkman.io" | bash $ source "$HOME/.sdkman/bin/sdkman-init.sh"
sbt, scala をインストールします
$ sdk install sbt $ sdk install scala
activator をインストールします
$ sdk install activator
activator の起動がメモリ不足でできないときは、swap を増やして対応します
$ sudo dd if=/dev/zero of=/swapfile bs=4096 count=1048576 $ sudo mkswap /swapfile
/etc/fstab に次の記述を追加します
/swapfile swap swap defaults
$ swapon -a
Raspberry Pi で Arduino のスケッチを書き込む
マルツのArduino互換ボード Maruduino UNO R3【MABTB-UNO-R3】
- ジャンル: おもちゃ・ホビー・ゲーム > おもちゃ > 知育玩具 > その他
- ショップ: マルツオンライン
- 価格: 2,220円
Raspbian の設定
arduino
# apt-get install arduino
python-pip
# apt-get install python-pip -y
platformio
# pip install platformio
プロジェクトを作成します
$ mkdir arduino-led $ cd arduino-led $ platformio init --board=uno
platformio.ini の最後に次の記述を追記します
upload_port=/dev/ttyACM0
ソースコードを記述します
#define LED_PIN (13) void setup() { pinMode(LED_PIN, OUTPUT); } void loop() { digitalWrite(LED_PIN, HIGH); delay(5000); digitalWrite(LED_PIN, LOW); delay(5000); }
ビルドと実行
$ platformio run --target=upload
Apple社のMobile Device Management用のベンダー証明書の発行手順
概要
MDM証明書要求の手順
RSAの鍵ペアの生成
最初にRSAの公開鍵と秘密鍵のペアを生成します。 秘密鍵はプッシュ通信を行う時に使用するため、生成した秘密鍵は厳重に保管します。
証明書署名要求(Certificataion Signing Request)の生成
Apple社のMDM証明書のCSRは独自のフォーマット(plist)で生成する必要があります。
1. 証明書署名要求の生成
証明書署名要求をRSAの秘密鍵でSHA1を使って署名したバイナリイメージをBase64で変換した文字列を生成します。
2. 証明書チェーンの生成
以下のPEM形式の証明書ファイルを結合します。
- MDMベンダーの証明書
- Apple社のWWDR中間証明書
- Apple社のルート証明書
3. 証明書署名要求のバイナリを署名
証明書署名要求のバイナリをMDMベンダー証明書のRSA秘密鍵でSHA1を使って署名したバイナリイメージをBase64で変換した文字列を生成します。
前述の手順で作成したイメージを元に、plistイメージの生成
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple Inc//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>PushCertRequestCSR</key> <string> 証明書署名要求(*1) </string> <key>PushCertCertificateChain</key> <string> 証明書チェーン(*2) </string> <key>PushCertSignature</key> <string> 署名した証明書署名要求(*3) </string> </dict> </plist>
plistイメージをBase64でエンコード
plistイメージをBase64でエンコードしたイメージをファイルに出力して、Apple Push Certificates Portalにアップロードします。
Apple社からMDM証明書をダウンロードする
Apple社にアップロードした後、MDM証明書のダウンロードボタンが有効となります。 ダウンロードされるMDM証明書はPEM形式のテキストファイルです。
Spring Boot の auto-configuration の作り方
バージョン情報
- Spring Boot 1.4.2.RELEASE
作り方
auto-configuration の作成方法は、リファレンスの 43. Creating your own auto-configuration に書かれています。
リファレンスの説明にある通り、spring-boot-autoconfigure と spring-boot-starter の2つのモジュールを作成することが推奨されていますが、 spring-boot-starter だけにすることもできると書かれていますので、GitHub に demo-spring-boot-starter を作成して試してみました。
demo-spring-boot-starter に DemoAutoConfiguration クラスを作成し、META-INF/spring.factories を次の内容で作成しています。
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ jp.pigumer.boot.autoconfigure.DemoAutoConfiguration