ラズパイ4やめてJetson Nano + Influxdbをセンシングの母艦にする:ラズパイ4壊れたので新規インストール・センシングセンサーも新規設定:ラズパイ用Pimoroni(ピモロニ)PHAT 9選 3つ使ってみる

ラズパイ4でInfluxdbを運用して2年弱、重くてたびたびフリーズして電源を切・入して無理やり再起動していましたが、とうとううまく起動しなくなりました。

なので、心機一転 新たにRaspberry Pi OSを導入して、今度はラズパイ4をメインの母艦にせずに処理速度が速いJetson nanoを母艦にしていきます。(一番下で以前のラズパイ4が壊れた様子を書きました。)

この記事は複数のページに別れています
  1. (今このページを見ています)
  1. Raspberry Pi OS 新規インストール
    1. ネットには接続してるけどapt-getでエラー?
    2. SSHを有効にする
    3. アップデート・アップグレード
    4. PythonのInfluxDBクライアント
  2. Xiaomi 温湿度計ハック
      1. デジタル温湿度計 bluetooth 温度計 湿度計 壁掛け
    1. bluepy 導入
    2. Pythonスクリプト
    3. cron
  3. WxBeacon2 設定
    1. python-bluez 導入
    2. hcitoolでテスト
    3. 以前作ったPythonスクリプトを流用
    4. スキャンしてみる
    5. cron
    6. 完成 Grafanaでグラフ表示
  4. Raspberry Pi vcgencmdでCPU温度・電圧などを計測してInfluxDBに保存
    1. vcgencmdの使い方(英語)
    2. CPU温度取得
    3. 温度が上がって落ちる原因
    4. PythonでInfluxDBにセンシングデータを送る
    5. Cronで定期的に実行
    6. 完成
  5. bh1750で照度計測
      1. Rasbee BH1750FVI BH1750 GY-302 3V-5V デジタ
    1. GPIOピン
    2. SPI/I2Cを有効にする設定
    3. snd-bcm2835を追加
    4. ツールインストール
    5. もろもろ設定・インストール
    6. i2cdetectで認識されているか確認
    7. bh1750で照度取得テスト
    8. python bh1750.py
    9. Cron
  6. ラズパイ4に装着したその他のセンサー・PHAT
    1. BME280温湿度・気圧センサー
      1. cron
    2. お部屋のPM2.5データをInfluxdbに送る
      1. ラズパイ4とPM2.5
      2. UIOTEC PM2.5 dust sensor PPD42/PPD42NJ/P
      3. cron
    3. ラズパイ用Pimoroni(ピモロニ)PHAT
    4. 自宅センシング復活
  7. ラズパイ4 その他の設定など
    1. Wifiがブツブツ切れる?
      1. 省電力モードOffにしても変わらず
    2. Vim
    3. スクリーンショット
      1. spectacle導入
  8. Wifiがブツブツ切れる
    1. Power Management:on になっている 未解決
    2. ディスプレイの解像度を下げる
    3. Ping を打ち続けてれば切断されないみたい
  9. ラズパイ4が壊れた!
    1. bootフォルダの中身コピー
      1. Failed to start load kernel modules
    2. うまくいかないので1年前のバックアップから復旧
    3. システムアップグレード・アップデート
    4. Influxdbが正常に動かないのでInfluxdbを再度インストール
    5. Chronograf見てもエラーが目立つ

Raspberry Pi OS 新規インストール

ラズパイ4にInfluxDBを導入しないのでOSをクリーンインストールする。

Just a moment...

Windowsにイメージをダウンロードして、exeを起動するとMicroSDカードとOSを選ぶ画面に。

オススメの最新Raspberry Pi OSを選んでフォーマットしたMicroSDカードを選んで書き込む。

書き込みが完了したらラズパイ4に挿して起動(初期時ちょっと時間がかかる)して言語とWifiを設定可能。

ネットには接続してるけどapt-getでエラー?

『ホスト raspberrypi の名前解決ができません:ホスト名にアドレスが割り当てられていません』とでる。

sudo vi /etc/hosts
127.0.0.0   Raspi4B

sudo vi /etc/hostname
Raspi4B

sudo reboot

上記のようにhots,hostnamを Raspi4B に共通して合わせて再起動したら治った。

SSHを有効にする

左上 > 設定 > Raspberry Piの設定で以下のようなウィンドウが開き、インターフェイス タブを選択して、SSHを有効にする。

OKボタンを押すと再起動せずにSSHが有効になった。

アップデート・アップグレード

sudo apt-get update && sudo apt-get upgrade -y

PythonのInfluxDBクライアント

pipない場合はまずはpipをインストールする。Jetson nanoは入っていたような?

sudo apt install python-pip

2023年現在はpython-pipがインストールされている。

Jetson nanoのInfluxdbにPythonスクリプトから投げるときに必要です。

sudo pip install influxdb

下準備ができたのでそれぞれのセンサーの設定をしていきましょう。

Xiaomi 温湿度計ハック

BluetoothでXiaomiのアプリ Mi Homeと接続するタイプのの温湿度計をハックして、ラズパイでBluetoothで接続してセンシングしたデータをもらいます。

デジタル温湿度計 bluetooth 温度計 湿度計 壁掛け

デジタル温湿度計 bluetooth 温度計 湿度計 壁掛け

bluepy 導入

こんなエラーになった。

 $ sudo pip install bluepy
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Collecting bluepy
  Using cached https://files.pythonhosted.org/packages/27/91/6cfca10bee9862f93015413cf9e6a52c3081a71f1518963396a055128f8e/bluepy-1.3.0.tar.gz
Building wheels for collected packages: bluepy
  Running setup.py bdist_wheel for bluepy ... error
・・・以下省略・・・

libglib2.0-dev が足りなかったみたい。

$ sudo apt-get install python3-pip libglib2.0-dev -y
$ sudo pip install bluepy

これで bluepy インストールできた。

Pythonスクリプト

うちはベランダとリビングにXiaomi温湿度計を置いています。

$ sudo hcitool lescan

hcitoolでスキャンしてXiaomi温湿度計のBT MACアドレスを取得しました。

たしか?MACアドレスの最初の 4C:65:A8 あたりがXiaomiの製品だったような?うろ覚え・・・・

#!/usr/bin/env python2
import binascii
import base64
import requests
from bluepy.btle import UUID, Peripheral, ADDR_TYPE_PUBLIC, DefaultDelegate

from influxdb import InfluxDBClient
client = InfluxDBClient(host='192.168.31.53', port=8086, username='ユーザ名', password='パスワード', database='sensor')
measurement = 'air5'
one = {'place': 'Veranda','host': 'Mi_disp1'}
two = {'place': 'Living','host': 'Mi_disp2'}

# Xiaom key is MAC of BT sensor, value is sensor ID
sensor_dict = {}
sensor_dict["4C:65:A8:D0:8E:1C"] = 1
sensor_dict["4C:65:A8:DB:4E:75"] = 2

# constants for polling sensor; do not change!
BATTERY_HANDLE = 0x0018
TEMP_HUM_WRITE_HANDLE = 0x0010
TEMP_HUM_READ_HANDLE = 0x000E
TEMP_HUM_WRITE_VALUE = bytearray([0x01, 0x10])

battery_level = -1
sensor_id = -1

class TempHumDelegate(DefaultDelegate):
	def __init__(self):
		DefaultDelegate.__init__(self)

	def handleNotification(self, cHandle, data):
		if (cHandle == TEMP_HUM_READ_HANDLE):
			data = data.rstrip(' \t\r\n\0')
			#print(data)
			temperature = data.split(" ")[0][2:]
			humidity = data.split(" ")[1][2:]
			comfort_type = get_comfort_type(humidity)
			wvp = 6.1078*10**((7.5*float(temperature)/(float(temperature)+237.3)))
			ssa = 217*wvp/(float(temperature)+273.15)
			hd = (100-float(humidity))*ssa/100
			print hd
			#if (battery_level > -1):
			if (sensor_id != -1 and battery_level > -1):
				if (sensor_id == 1):
					tags=one
				elif (sensor_id == 2):
					tags=two
				json_body = [
					{
						'measurement': measurement,
						'tags': tags,
						'fields': {'housa': hd , 'temp': float(temperature) , 'humi': float(humidity) , 'battery': float(str(battery_level))}
					}
				]
				client.write_points(json_body)
				print(json_body)
				#print sensor_id

def get_comfort_type(humidity):
	comfort_type = "0"
	if float(humidity) < 40:
		comfort_type = "2"
	elif float(humidity) <= 70:
		comfort_type = "1"
	elif float(humidity) > 70:
		comfort_type = "3"
	return comfort_type

def get_battery_value():
	battery_value = 0;
	try:
		battery_value = p.readCharacteristic(BATTERY_HANDLE)
	finally:
		return int(binascii.b2a_hex(battery_value), 16)

def handle_temp_hum_value():
	p.writeCharacteristic(TEMP_HUM_WRITE_HANDLE, TEMP_HUM_WRITE_VALUE)
	while True:
		if p.waitForNotifications(1.0):
			break

for key, value in sensor_dict.iteritems():
	try:
		sensor_id = value
		p = Peripheral(key)
		p.withDelegate(TempHumDelegate())
		battery_level = get_battery_value()
		#print battery_level
		handle_temp_hum_value()
		p.disconnect()
	except:
		pass

実行しても取得できない時が多い。適当すぎる作りのPythonスクリプトがダメなのかも・・・

cron

最後に定期的に取得するためにCron設定

4-58/3 * * * * /usr/bin/python /home/pi/script/mi.py

WxBeacon2 設定

WxBeacon2 で温度・湿度・気圧・照度・騒音・紫外線・不快指数・熱中症危険度の情報をJetson nanoのInfluxDBに送って自宅の環境をグラフ化します。

python-bluez 導入

BluetoothをWxBeacon2で使う。

sudo apt-get install python-bluez

Jetson nanoではBluetoothが無いので、古いBluetoothドングルでも使えるかと思ったけど、無理でした。なのでラズパイ4のBluetoothでWxBeacon2のセンシングデータを取得してJetson nanoのInfluxDBに投げる。

hcitoolでテスト

Jetson nanoではうまくいかなかったけど、Raspberry Pi4は最初からBluetoothがあるのが便利♪

$ sudo hcitool lescan
LE Scan ...
BE:FF:50:00:38:03 ELK-BLEDOM
31:88:43:84:2F:83 (unknown)
BE:FF:50:00:38:03 (unknown)
CC:B0:D0:D2:F5:83 (unknown)
CC:B0:D0:D2:F5:83 (unknown)
DE:A5:17:19:24:31 (unknown)
FB:E7:85:97:29:D7 Hi-P1001-12AW400D7
CB:C0:08:B7:0F:57 (unknown)
CB:C0:08:B7:0F:57 Mi Smart Band 5
F8:A8:82:C6:33:97 IM
F8:A8:82:C6:33:97 (unknown)
EF:FC:25:C5:D2:4A (unknown)
EF:FC:25:C5:D2:4A (unknown)
43:EC:B9:15:04:10 (unknown)
43:EC:B9:15:04:10 (unknown)
C4:F1:D0:9E:2A:26 (unknown)
C4:F1:D0:9E:2A:26 (unknown)
4C:65:A8:D0:8E:1C (unknown)

以前作ったPythonスクリプトを流用

以下で詳しく説明しました。

WxBeacon2で温度・湿度・気圧・照度・騒音・紫外線・不快指数・熱中症危険度の8つをセンシングしてグラフ表示
前回まででラズパイを母艦にしてセンシングしたデータをデータベース(InfluxDB)に保存してGrafanaでグラフ表示することができたので、今後は少しずつセンシングデータを増やしていく作業です。 今のところセンサーで取得できているデータは

バックアップからスクリプトファイル郡のomronディレクトリをJetson nanoの/home/ユーザー名/script/omronにコピーして作業する。

cp -r /media/pi/73a0c708-506d-4803-8438-845d18349ee8/pi/script/omron /home/pi/script/

スキャンしてみる

うまくいった。

$ sudo python /home/pi/script/omron/envsensor_observer.py

cron

最後にCronで定期的にデータを取得していきます。デーモンが残ってしまうので定期的にpkillも実行する。

@reboot sleep 50; /usr/bin/python /home/pi/script/omron/envsensor_observer.py
*/3 * * * * pkill -f envsensor_observer.py
3-58/10 * * * * /usr/bin/python /home/pi/script/omron/envsensor_observer.py

完成 Grafanaでグラフ表示

WxBeacon2は多くの環境センサーがあるのでデータを集めてグラフ化するのが楽しい。

Raspberry Pi vcgencmdでCPU温度・電圧などを計測してInfluxDBに保存

vcgencmdの使い方(英語)

vcgencmdの使い方はこちらに詳細が書いてあります。

RPI vcgencmd usage - eLinux.org

CPU温度取得

$ cat /sys/class/thermal/thermal_zone0/temp
48312
$ vcgencmd measure_temp
temp=47.8'C

やばい、CPU温度高くて落ちるみたい。

$ python script/raspi.py
70.4'C #CPU温度
1200126000 #CPU周波数
1.2375V #電圧
896M #CPUメモリ使用量
128M #GPUメモリ使用量

温度が上がって落ちる原因

原因はPM2.5のセンサーだった。なぜかCronがたまって温度があがる。

PM2.5センサーの実行スクリプトをCronから外したら温度があがらなくなった。

PM2.5センサーがラズパイから外れていたり、ちゃんとハマってない場合はPythonが溜まってメモリ使いすぎで落ちる。

PythonでInfluxDBにセンシングデータを送る

スクリプトは以下の方のを参考にInfluxDBにインサートするように改造させていただきました。ありがとうございますm(_ _)m

Raspberry Pi CPU周波数、CPU温度、CPU使用率の取得Pythonスクリプト | ある計算機屋さんの手帳
CPU周波数、CPU温度、CPU使用率 2017年10月、Raspberry PiでCPU周波数、CPU温度、CPU使用率を取得するPythonスクリプトを作成しました。 画面の最終行を例として説明します。 ・CPU周波
#!/usr/bin/python
# -*- coding: utf-8 -*-
import time 
import subprocess
import sys

from influxdb import InfluxDBClient
client = InfluxDBClient(host='192.168.31.53', port=8086, username='root', password='パスワード', database='sensor')
measurement = 'cpu'
tags = {'host': 'Raspi4B'}


def GetTmp(Cmd):
	result = subprocess.Popen(Cmd, shell=True,  stdout=subprocess.PIPE, stderr=subprocess.PIPE, universal_newlines=True)
	Rstdout ,Rstderr = result.communicate()
	return Rstdout

def GetCpuFreq():#arm
	Cmd = 'vcgencmd measure_clock arm'
	CpuFreq = GetTmp(Cmd).split('=')
	return int(CpuFreq[1])

def GetCpuTemp():#cpu temp
	Cmd = 'vcgencmd measure_temp'
	CpuTemp = GetTmp(Cmd).split()
	CpuTemp_zero=CpuTemp[0].replace("temp=",'').replace("'C",'')
	return CpuTemp_zero

def GetCpuVolts():#cpu V
	Cmd = 'vcgencmd measure_volts'
	CpuVolts = GetTmp(Cmd).split('=')
	CpuVoltsone =CpuVolts[1].replace("V\n",'')
	return CpuVoltsone

def GetVoltsThro():#電圧の状態
	Cmd = 'vcgencmd get_throttled'
	VoltsThro = GetTmp(Cmd).split('=')
	VT = VoltsThro[1].replace("\n",'')
	throarr = {'0xd0000':0,'0x0':1, '0x50000':2, '0x50005':3, '0x80000':4, '0x80008':5}
	#0:0xd0000 ????
	#1:0x0 正常
	#2:0x50000 過去に低電圧状態になった。今は正常
	#3:0x50005 低電圧!
	#4:0x80000 熱でクロックダウン
	#5:0x80008 今現在熱でクロックダウン
	if VT in throarr:
		val = throarr[VT]
		return val

if __name__=='__main__':
	
	CpuTemp	 = GetCpuTemp()
	CpuVolts = GetCpuVolts()
	VoltsThro = GetVoltsThro()
	#print CpuVolts
	CpuFreq	 = int(GetCpuFreq()/1000000)
	FieldArr = {'arm': float(CpuFreq) , 'cpu_temp': float(CpuTemp) , 'cpu_volt': float(CpuVolts)}
	if VoltsThro is not None:
		FieldArr['throttled'] = VoltsThro

	json_body = [
		{
			'measurement': measurement,
			'tags': tags,
			'fields': FieldArr
		}
	]
	print(json_body)
	client.write_points(json_body)

Cronで定期的に実行

4-58/5 * * * * /usr/bin/python /home/pi/script/cpu.py

完成

vcgencmdコマンドを使ってJetson nanoのInfluxDBにラズパイのCPU温度などのデータを投げてGrafanaでグラフにしたのが以下の図、ラズパイ3が2台、ラズパイ4が1台のグラフを表示できました。

bh1750で照度計測

bh1750センサは↓こういった安いものです。

Rasbee BH1750FVI BH1750 GY-302 3V-5V デジタ

Rasbee BH1750FVI BH1750 GY-302 3V-5V デジタ

GPIOピン

bh1750ラズパイ
VCC3.3V
GNDGND
SCLGPIO3
SDAGPIO2
ADDRなし

SPI/I2Cを有効にする設定

以下のように raspi-config でSPIとI2Cを有効にします。

$ sudo raspi-config
Interfacing Options > SPI > enabled
Interfacing Options > I2C > enabled

snd-bcm2835を追加

$ sudo vim /etc/modules
snd-bcm2835 ←追加
i2c-dev

ツールインストール

$ sudo sudo apt-get install libi2c-dev
$ sudo apt-get install git-core

もろもろ設定・インストール

$ sudo vim /etc/ld.so.conf
include /etc/ld.so.conf.d/*.conf
/usr/local/lib ←追加

$ sudo ldconfig
$ sudo apt-get install bc

i2cdetectで認識されているか確認

23が出れば認識されてる。

 $ sudo i2cdetect -y 1
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- 23 -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --

bh1750で照度取得テスト

#!/bin/bash

sudo i2cset -y 1 0x23 0x01 c
sleep 1

sudo i2cset -y 1 0x23 0x20 c
sleep 1

TMP=$(sudo i2cget -y 1 0x23 0x00 w)
MSB="0x$(echo $TMP | cut -c 5-6)"
LSB="0x$(echo $TMP | cut -c 3-4)"
IL=$(((MSB<<8)|LSB))

printf "Illuminance: %.2f lx\n" $(echo "scale=2;$IL / 1.2" | bc)

exit 0

正常のようです。

 $ ./bh1750.sh
Illuminance: 410.00 lx

python bh1750.py

$ sudo pip install smbus

適当に作った。

# encoding: utf-8
import smbus
from influxdb import InfluxDBClient
client = InfluxDBClient(host='192.168.31.53', port=8086, username='root', password='パスワード', database='sensor')
measurement = 'air'
tags = {'place': 'raspi-lx','host': 'Raspi4B'}

bus = smbus.SMBus(1)
addr = 0x23
lux = bus.read_i2c_block_data(addr,0x10)

if __name__ == '__main__':
	value = str(round((lux[0]*256+lux[1])/1.2,3))
	if value is not None:
		#print value
		json_body = [
			{
				'measurement': measurement,
				'tags': tags,
				'fields': {'lux': float(value)}
			}
		]
		client.write_points(json_body)
		print(json_body)

	else:
		print "None"

Cron

2-57/7 * * * * /usr/bin/python /home/pi/script/bh1750.py

ラズパイ4に装着したその他のセンサー・PHAT

その他のセンサー類は過去記事で書きました。

BME280温湿度・気圧センサー

こちらの通りに設定しました。

cron

3-58/8 * * * * /usr/bin/python /home/pi/script/bme280.py

お部屋のPM2.5データをInfluxdbに送る

ラズパイ4とPM2.5

PM2.5センサーはこちらを使いました。

UIOTEC PM2.5 dust sensor PPD42/PPD42NJ/P

UIOTEC PM2.5 dust sensor PPD42/PPD42NJ/P

過去にこちら↓の記事で書きました。

cron

3-58/6 * * * * /usr/bin/python /home/pi/script/pm2.5.py

ラズパイ用Pimoroni(ピモロニ)PHAT

ラズパイ4にはPHATのScroll pHAT HDPimoroni Touch PHATを付けてる。↓以下で説明しました。

自宅センシング復活

InfluxdbをJetson nanoで運用するようになって、ラズパイ4はBluetooth接続のセンサーを取得してJetson nanoのInfluxdbに投げる役目に変更。

Jetson nanoのほうが処理能力が速いようで、もうフリーズもせずにかなり快適になりました。

ただ、ラズパイ4は新規インストールしても、デスクトップ環境の動作が鈍く、マウスが一定時間動かないときが度々、デスクトップ環境ではあまり使えなかったのかな?

以前はこんなことなかったような気がしますが。早くもっと処理速度が速いラズパイ5出て欲しい。

ラズパイ4 その他の設定など

Wifiがブツブツ切れる?

なんだかWifiがブツブツ切れて調子悪い・・・

起動時5分くらいはWifiが切れるみたい。

WifiルーターのDHCPでIP固定設定をやめてみる。様子見

省電力モードOffにしても変わらず

sudo iwconfig wlan0 power off

Wifi 5Gと4Gの両方につないだので、それぞれを定期的に?接続しているみたい。

未解決

Vim

テキストファイル編集に便利なVimを入れる。

sudo apt-get install vim

スクリーンショット

デフォルトであるスクリーンショットは[Fn]+[p]キーでスクリーンショットが撮れるがスタートメニューなどは撮れないので、別のを導入。

spectacle導入

sudo apt-get install kde-spectacle -y

インストール後は、アクセサリ > Spectacleに入っていました。

Wifiがブツブツ切れる

Raspberry Pi OSをインストールして、使っているとWifiが定期的にブツブツと切断される。

電波が悪いと思ってWifi中継機に接続してもブツブツ途切れる。

Power Management:on になっている 未解決

以下のようにwlan0のPower Managementがオンになっているので、オフにする。

 $ iwconfig wlan0
wlan0     IEEE 802.11  ESSID:"Xiaomi_wifi_5G"
          Mode:Managed  Frequency:5.18 GHz  Access Point: 88:C3:97:C1:1D:73
          Bit Rate=234 Mb/s   Tx-Power=31 dBm
          Retry short limit:7   RTS thr:off   Fragment thr:off
          Power Management:on
          Link Quality=67/70  Signal level=-43 dBm
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

これはWifiを使わない間は省電力でWifiを切断するというものらしいのでオフにする。

sudo iwconfig wlan0 power off

オフにしたが??、そもそもがネットにアクセスしている時にも切断されるので意味はないみたい。

ディスプレイの解像度を下げる

こちらのサイトにラズパイ4は2560x1440にするとWifiが不安定になるとのこと。

現状は4Kディスプレイに接続していたので、フルHD1980x1080pxに下げてみる。

設定 > Screen Configuration

・・・解像度を下げてもWifiがブツブツ途切れる・・・未解決

Ping を打ち続けてれば切断されないみたい

ラズパイ3から以下のようにPingを打ち続けると切断されない。かな?

$ ping 192.168.31.111
PING 192.168.31.111 (192.168.31.111) 56(84) bytes of data.

Wifi 5Gでなくて2.4GHzに接続したほうが切断されにくいのかもれない。

5Gをやめて2.4GHzにしたら切断されにくくなったか、切断されなくなったみたいなので、しばらく様子をみます。

以下、ラズパイ4が壊れた様子。メモです。

ラズパイ4が壊れた!

アップデートして再起動したらラズパイが起動しなくなった。

bootフォルダの中身コピー

無理やり再起動を繰り返したのでbootフォルダの中身が消えたみたい。

こちらをダウンロードしてbootの中身をbootフォルダにコピーして起動する。

GitHub - raspberrypi/firmware: This repository contains pre-compiled binaries of the current Raspberry Pi kernel and modules, userspace libraries, and bootloader/GPU firmware.
This repository contains pre-compiled binaries of the current Raspberry Pi kernel and modules, userspace libraries, and bootloader/GPU firmware. - raspberrypi/...

Failed to start load kernel modules

bootをコピーして起動したら最初のデーモンのメッセージまで行ったけど途中で止まって正常に起動しない。

ポータブルSSDさしたらなぜかちゃんと起動したが重くて調子が悪い。

うまくいかないので1年前のバックアップから復旧

まずはアップデート・アップグレードするが・・・

$ sudo apt-get update && sudo apt-get upgrade -y

以下のようになる。

E: Repository 'http://raspbian.raspberrypi.org/raspbian buster InRelease' changed its 'Suite' value from 'stable' to 'oldstable'
N: This must be accepted explicitly before updates for this repository can be applied. See apt-secure(8) manpage for details.

システムアップグレード・アップデート

以下を実行する。

$ sudo apt update --allow-releaseinfo-change

その後、再度アップデートする

$ sudo apt-get update && sudo apt-get upgrade -y

Influxdbが正常に動かないのでInfluxdbを再度インストール

ストップする。

sudo systemctl stop influxdb.service

再度上書き?インストール

sudo apt-get install influxdb

インストールしたらサービス開始。

sudo systemctl start influxdb.service

Influxdbステータス見てもうまく動いてない??

$ systemctl status influxdb.service
● influxdb.service - InfluxDB is an open-source, distributed, time series databa
   Loaded: loaded (/lib/systemd/system/influxdb.service; enabled; vendor preset:
   Active: activating (start) since Sat 2021-10-16 11:38:27 JST; 19s ago
     Docs: https://docs.influxdata.com/influxdb/
Cntrl PID: 27033 (influxd-systemd)
    Tasks: 15 (limit: 4915)
   Memory: 651.5M
   CGroup: /system.slice/influxdb.service
           ├─27033 /bin/bash -e /usr/lib/influxdb/scripts/influxd-systemd-start.
           ├─27034 /usr/bin/influxd -config /etc/influxdb/influxdb.conf
           └─27124 sleep 1

10月 16 11:38:42 Raspi4B influxd-systemd-start.sh[27033]: ts=2021-10-16T02:38:42
10月 16 11:38:42 Raspi4B influxd-systemd-start.sh[27033]: ts=2021-10-16T02:38:42
10月 16 11:38:42 Raspi4B influxd-systemd-start.sh[27033]: InfluxDB API unavailab
10月 16 11:38:43 Raspi4B influxd-systemd-start.sh[27033]: InfluxDB API unavailab
10月 16 11:38:44 Raspi4B influxd-systemd-start.sh[27033]: ts=2021-10-16T02:38:44
10月 16 11:38:44 Raspi4B influxd-systemd-start.sh[27033]: InfluxDB API unavailab
10月 16 11:38:44 Raspi4B influxd-systemd-start.sh[27033]: ts=2021-10-16T02:38:44
10月 16 11:38:45 Raspi4B influxd-systemd-start.sh[27033]: InfluxDB API unavailab
10月 16 11:38:45 Raspi4B influxd-systemd-start.sh[27033]: ts=2021-10-16T02:38:45
10月 16 11:38:46 Raspi4B influxd-systemd-start.sh[27033]: InfluxDB API unavailab
lines 1-22/22 (END)

ダメっぽい。

Chronograf見てもエラーが目立つ

http://192.168.31.53:8888/
sudo chmod +x /usr/lib/influxdb/scripts/influxd-systemd-start.sh

うまく行かないだめですね。 あきらめてRaspberry Pi OS 新規インストールします。

今後、Influxdbはラズパイでは使わずJetson nanoで運用することにする。

コメント

タイトルとURLをコピーしました