Raspberry Pi

元々はイギリスで教育用に開発されたスモールコンピュータ。
ARM CPU(700MHz)、メモリ(256MB/512MB)、SDカード(ストレージ)、有線LAN、HDMI、USB電源で動作する。
デフォルトOSはDebianをカスタムしたRaspbian。
GPIO端子でLED等周辺機器を制御できる。


Flightradar24: 航空機の位置を追跡

記事:


AIカメラ

記事:


ADS-B受信機、航空機情報を受信

記事


有線USBキーボードをbluetooth化

記事:


Raspberry Pi Pico:

購入:

簡易オシロスコープ:

自作キーボードのPro microの代わり:

記事:


pinout: GPIO等のピン情報を表示

インストール:


節電


長期運用


Raspberry Pi Imager: 公式のSDカードへの書き込みツール、セットアップのカスタマイズ


ラジコン


HEMS(Home Energy Management System)

USBアダプタタイプ:


PCのBIOS(UEFI)をRPiで書き直す

PCのBIOS(UEFI)のEEPROMを、ROMライターの代わりにRPiで書く。


PCと接続して、給電とインターネット接続を共有する


SDカードのバックアップ


WiFiの自動再接続

iwconfig wlan0 | grep 'Power Management'
          Power Management:on

wifi接続

wifiアクセスポイントの検索:

sudo vim /etc/network/interfaces
--
allow-hotplug wlan0
iface wlan0 inet manual
    wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
    wireless-power off
--
sudo reboot

pskの生成:

# 温度上限
temp_limit=75

# CPU周波数を下げる
arm_freq = 1000
arm_freq_min = 600

microSD /boot/wpa_supplicant.conf を作成。起動後 /etc/wpa_supplicant/wpa_supplicant.conf へ上書きされる

sudo fdisk -l
...
   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            8192     3140625     1566217    e  W95 FAT16 (LBA)
/dev/sdb2         3140626    31116287    13987831    5  Extended
/dev/sdb5         3145728     3211261       32767   83  Linux
/dev/sdb6         3211264     3346431       67584    c  W95 FAT32 (LBA)
/dev/sdb7         3350528    31116287    13882880   83  Linux

Power Managementのoff

sshのレスポンスが悪くなったり、切断されたりする場合、Power Managementをoffにする事で改善する事がある。


watchdog: ハングアップ、フリーズしたら自動的に再起動させる


Bluetooth


CPUの最高温度の制限

デフォルトではCPU 85度で、性能が下がり、熱暴走を抑えるようになっている。
これを任意の値に変える。


microSDの修復

  1. RasPiからmicroSDを取り外し、ホストOSへ付ける
  2. Memo/VirtualBox#ae8f3d27 を参考にLinux(CentOS 7, Ubuntu 18.04LTS等)でマウントする
  3. マウント状態を確認。CentOS 7での表示。/dev/sdb[1-7]として認識している
    echo 0x$(xxd /sys/class/i2c-adapter/i2c-1/of_node/clock-frequency | cut -f 2,3 -d ' ' --output-delimiter='') | xargs printf "%d\n"
    10000
    
    dmesg | grep i2c
    # baudrateのログは無い
    
    sudo ls /sys/module/i2c_bcm2835/parameters/
    debug # debugしか無い。
    
    # bcm2708では以下のファイルがあるらしい
    sudo cat /sys/module/i2c_bcm2708/parameters/baudrate
  4. Linuxのパーティションを修復
    sudo aptitude install iptables-persistent
    sudo vim /etc/iptables/rules.v4
    ----
    *filter
    :INPUT ACCEPT [0:0]
    :FORWARD ACCEPT [0:0]
    :OUTPUT ACCEPT [0:0]
    -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    -A INPUT -p icmp -j ACCEPT
    -A INPUT -i lo -j ACCEPT
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
    -A INPUT -j REJECT --reject-with icmp-host-prohibited
    -A FORWARD -j REJECT --reject-with icmp-host-prohibited
    COMMIT
    ----
    sudo service iptables-persistent restart
    sudo chkconfig iptables-persistent on
  5. readonlyテスト。時間がかかる。16GBで、○○時間
    sudo aptitude install iptables

microSDの寿命を延ばす。ROM化

microSDは書き込み回数上限があるので、何も対策をしないと、数ヶ月で壊れる事もある。


機械学習


I2Cデータ転送速度変更

  1. 10Kbit/sへ変更する場合
    keyboard
    locale
sudo apt-get update
sudo apt-get install avahi-daemon

照度センサ


ロボット


監視/webカメラ


Cloud Pi: 容易にNAT越えを可能とするP2Pトンネルシステム


アクセス制限

いずれかの方法がある


デフォルト設定


他PCからRPiを見つけられるようにする

Windows/MacOSXからのネットワークからRPiを簡単に見つけられるように、「avahi-daemon」をインストール。Bonjour互換


avahi-daemonのInvalid response packetログを捨てる

以下のログが多数でる事がある。syslogが読みにくいし、microSDの寿命も気になるので捨てる。


自動認識しない無線LANアダプタ


無線LANアダプタの設定


デプロイマネージメント


NSX-39 ポケミクとの接続


BIOSの書き換え

flashromが使える。


GPIO


音声合成


CUIから音を鳴らす


温度/湿度/気圧計測


Zabbix Agentのインストール


cron logの有効化


hostname変更


独自サービスの追加


SoftEther VPNでVPN Server

  1. static ipを割り当てておく
  2. SoftEther ダウンロード センター
    • ダウンロードするソフトウェア: SoftEther VPN(Freeware)
    • コンポーネントを選択: SoftEther VPN Server
    • プラットフォームを選択: Linux
    • CPUを選択: ARM EABI(32bit)
  3. Install
    sudo su -
    cd /usr/local/src/
    wget http://jp.softether-download.com/files/softether/v2.00-9387-rtm-2013.09.16-tree/Linux/SoftEther%20VPN%20Server/32bit%20-%20ARM%20EABI/softether-vpnserver-v2.00-9387-rtm-2013.09.16-linux-arm_eabi-32bit.tar.gz
    tar xvfz softether-vpnserver-v2.00-9387-rtm-2013.09.16-linux-arm_eabi-32bit.tar.gz
    cd vpnserver
    make
    
    chmod 600 *
    chmod 700 vpncmd vpnserver
    
    cd ..
    mv vpnserver /usr/local/
    chmod 755 /usr/local/vpnserver
    rm softether-vpnserver-v2.00-9387-rtm-2013.09.16-linux-arm_eabi-32bit.tar.gz
  4. Check
    /usr/local/vpnserver/vpncmd
    ...
    Select 1, 2 or 3: 3
    
    VPN Tools>help
    You can use the following 5 commands:
     About         - Display the version information
     Check         - Check whether SoftEther VPN Operation is Possible
     MakeCert      - Create New X.509 Certificate and Private Key
     TrafficClient - Run Network Traffic Speed Test Tool in Client Mode
     TrafficServer - Run Network Traffic Speed Test Tool in Server Mode
    
    To reference the usage for each command, input "command name /?" to view a help.
    The command completed successfully.
    
    VPN Tools>check
    
    VPN Tools>exit
  5. startup script : filevpnserver.Raspbian
    chmod +x /etc/init.d/vpnserver
    insserv -d vpnserver
    
    insserv -s | grep vpnserver
    K:01:0 1 6:vpnserver
    S:01:2 3 4 5:vpnserver
  6. ログの圧縮と90日を経過したログの削除
    sudo crontab -e
    ----
    5 1 * * * ( LOG_DIR="/usr/local/vpnserver/"; /usr/bin/find $LOG_DIR -follow -name "*.log" -type f -mtime +1 -exec /bin/gzip {} \; ; /usr/bin/find $LOG_DIR -follow -name "*.gz" -type f -mtime +90 -delete; )
    ----
  7. 起動
    service vpnserver start
    • 設定ファイル: /usr/local/vpnserver/vpn_server.config
    • ログファイル: /usr/local/vpnserver/server_log/vpn_YYYYMMDD.log, /usr/local/vpnserver/security_log/
  1. SoftEther ダウンロード センター
    • ダウンロードするソフトウェア: SoftEther VPN(Freeware)
    • コンポーネントを選択: SoftEther VPN Serer Manager for Windows
    • プラットフォームを選択: Windows
    • CPUを選択: Intel
  2. softether-vpnserver_vpnbridge-v2.00-9387-rtm-2013.09.16-windows-x86_x64-intel.exe を実行
  3. SoftEther VPN サーバー管理マネージャ(管理ツールのみ)をインストール
  4. SoftEther VPN サーバー管理マネージャ を起動
  5. 新しい接続設定
    • 接続設定名:My VPN
    • 接続先 VPN Server の指定
      • ホスト名:VPN SERVER IP
      • ポート番号:443 or any
      • パスワード欄は初期設定のため空欄のままで良い
  6. 接続
  7. 新しいパスワード設定:
  8. リモートアクセス VPNサーバ : checked
  9. 仮想HUB名 : MyHUB
  10. DynamicDNS : 使用しない
  11. IPsec / L2TP / EtherIP / L2TPv3 サーバ機能の設定
    • checked: L2TPサーバ機能を有効にする(L2TP over IPsec)
    • checked: L2TPサーバ機能を有効にする(暗号化されていない L2TP)
    • checked: EtherIP / L2TPv3 over IPsecサーバ機能有効
    • IPsec 事前共通鍵:******** (MacOSXで使用)
  12. checked: VPN Azureを無効にする
  13. VPN接続を受け入れるためのユーザの作成 > ユーザを作成する
    • user01
    • ローカルブリッジの設定: eth0
  1. グローバルIP:443(default) から VPN Serverへのstatic routeを設定する

static IPを割り振る

デフォルトはDHCP


Minecraft: Pi Edition

raspbian-minecraft-0.1.1.jpg

  1. LXTerminalを開く
    wget https://s3.amazonaws.com/assets.minecraft.net/pi/minecraft-pi-0.1.1.tar.gz
    tar xvfz minecraft-pi-0.1.1.tar.gz
    cd mcpi/
    ./minecraft-pi

Scratch: 子供向けプログラミング環境


スクリーンショットを取る


ソフトウェア、kernel、GPUファームウェアの更新


ディストリビューション


Raspberry Pi OS (64-bit)

メリット:


Raspberry Pi Imager: デフォルトのインストーラ


NOOBS : 複数のディストリビューションをメニューから選択してインストール

※デフォルトがRaspberry Pi Imagerに変わった。

  1. PCでSD Formatter 4.0 for SD/SDHC/SDXC - SD Association FORMAT SIZE ADJUSTMENT:ON, でフォーマット
  2. NOOBSをダウンロード。ここではoffline版
  3. NOOBS_v1_3.zip を展開。(NOOBS Lite はネットワークインストール専用のためSDカード容量が少なくても良いと思う)
  4. 全てのファイルをSDカードのルートにコピー
  5. Raspberry Piに、マウス、キーボード、ディスプレイ、LAN等を差し込んでから電源ON
  6. NOOBSのメニューが表示されるので、OSを選択
    • Language: English(US) (日本語もあるが、localeが変更されraspi-configが化けるため英語)
    • Keyboard: jp
  7. Raspbian にチェック
  8. Install
  9. "SDカード上のデータが上書きされるが良い?"と聞いてくるので"Yes"
  10. 1639MBを書き込むのに0.5〜1.4MB/sec(ADATA class4)位なので、約15分程
  11. インストールが終わると自動的に再起動する

OpenELEC : XBMC メディアプレイヤー


Pidora : Fedora系

RedHat/CentOS系に慣れた人は良さそう

  1. 初期設定が始まる
    • Welcome: Forward
    • License Infomation: Forward
    • Keyboard: Japanese
    • Create User: Username:pidora, Password: ********
    • Root User: Password: ********
    • Date and Time:
    • Time Zone:
    • Filesystem:
    • System Settings:

Raspbian : debian系(デフォルト)

raspbian-7.1.jpg

  1. raspi-configが自動起動するので設定
    • Expand Filesystem: パーティションの設定。NOOBSは特に設定なし
    • Change User Password: piユーザのパスワードを変更
    • Enable Boot to Desktop/Scratch: デフォルトで起動するUIを選択。
    • Internationalisation Options:言語、タイムゾーン、キーボードレイアウトの設定
      • Change Locale: en_US.UTF-8
      • Change Timezone: Asia > Tokyo
      • Change Keyboard Lauout: Generic 105-key (Intl) PC > Other > Japanese > The default for the keyboard layout
    • Enable Camera: Carameモジュールを接続している場合
    • Add to Rastrack:
    • Overclock:
    • Advanced Options:
      • A4 SSH: Enabled
      • A5 Update: raspi-config自身のネットワークアップデートを行う
    • About raspi-config:
  2. Finishで終了
  3. ifconfigでIPアドレスを調べる
    ifconfig
  4. 外からsshで接続できるか確認
    • default user: pi
    • default password: raspberry
      ssh pi@IPアドレス
      
      # rootになれるか
      sudo su -
      
      # rootユーザのパスワード変更
      passwd

購入


書籍


GPIO/ブレッドボード/その他


ケース


HDMI/DVIケーブル


WiFi USBアダプタ


SDカード

OSをSDカードにインストールするので必須。


電源


本体

モデルに種類があるが、個人的には


添付ファイル: fileTEMPerV1.4-zabbix.jpg 2238件 [詳細] fileTEMPerV1.4.jpg 2407件 [詳細] filetemper.localtime.patch 2326件 [詳細] filevpnserver.Raspbian 2431件 [詳細] fileraspbian-minecraft-0.1.1.jpg 2343件 [詳細] fileraspbian-7.1.jpg 2245件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2025-10-27 (月) 17:45:28