全12件 (12件中 1-12件目)
1

今日は、おっさんパワー炸裂です。なんと3記事目です。というのも、装置の完結を書けるからです。随分、前にした作業ですが、ブログに書き続けてきて、やっとここまできました。まず、気温・湿度計のカバーを作りました。(外気を測るため独立させました。)100円ショップで適度な大きさのプラスチックボックスを買い、これに穴を開け13mmの塩ビのバルソケを取り付けました。これに気温・湿度計を設置し、制御盤に取り付け。(残念ながらうまく計測できていません。)次に、水温計ですが、コードが短かかったので、プランターにやむなく設置。最後に照度計ですが、これは直接制御盤に取り付け。ただし、直射日光で装置が壊れないように、制御盤自体の向きは直接日光を浴びない角度にしてます。この写真は、本日撮影したものなので、若干上の写真から変化してます。装置全体の写真です。ここまでくると、かなり感動ものです。気負付けないといけないことは、家のWi-Fiが確実に届く位置に設置しておくことです。(当たり前ですけど)以上です。
2020.11.29
コメント(0)

突然ですが、Googleのスプレッドシートというものを知っていますか?おっさんはこれまで知りませんでした。今回紹介するスプレッドシートは仕事でも役たちそうです。実際に見ていきます。まず、Googleドライブに入ります。(自分のアカウントは必要です。)そしたら、新規ボタンを押します。次にスプレッドシートを選択します。そうすると、スプレッドシートが開きます。どこかで、見たような画面です。なので、使いやすいです。ここまでは普通ですが、これの良いところは自分のスマホで見れることです。スマホでスプレッドシートのアプリをダウンロードします。ダウンロードするとスマホの画面に以下の画像のアプリが表示されます。これで、シートの共有をするとスマホでもパソコンでも見たり入力したりできます。なんとも便利です。このスプレッドシートにraspberry piから計測したデータを入力する機能を付ければ、どこでもスマホからデータを見ることが可能となります。ただし!!おっさんはこの機能を付ける一連の作業に相当苦戦しました。その結果、何をしたか覚えていません。でも、なぜかスプレッドシートにデータが飛んでくるようになりました。参考にしたサイトはココ等になります。一応、現在動いているスクリプトは掲載しておきます。まず、メインのスクリプトです。(DHT11_Python直下に保存しないと動きません。)# coding: utf-8import smbusimport subprocessimport gspreadimport jsonimport sysimport datetimeimport timeimport RPi.GPIO as GPIOimport sqlite3import dht11sys.path.append('/home/pi/python_apps/')from sqlite_connect import SqliteConnect# initialize GPIOGPIO.setwarnings(False)GPIO.setmode(GPIO.BCM)GPIO.cleanup()#-----------------------------------#SQLiteへt0:日時,t1:水温、t2:室温、h:湿度 l:照度を書き込む#-----------------------------------def sqlite_insert(t0,t1,t2,h,l): instance = SqliteConnect(); instance.insert(t0,t1,t2,h,l)#-----------------------------------#TEST#-----------------------------------def test(t0,t1,t2,h,l): print("日付:"+str(t0)) print("水温:{:.4}".format(t1)+"°") print("気温:{:.4}".format(t2)+"°") print("湿度:{:.4}".format( h)+"%") print("照度:{:.4}".format( l)+"lux")#-----------------------------------#Google スプレッドシートへレコード追加#-----------------------------------def spreadSheet_insert(t0,t1,t2,h,l): #ServiceAccountCredentials:Googleの各サービスへアクセスできるservice変数を生成します。 from oauth2client.service_account import ServiceAccountCredentials #2つのAPIを記述しないとリフレッシュトークンを3600秒毎に発行し続けなければならない scope = ['https://spreadsheets.google.com/feeds','https://www.googleapis.com/auth/drive'] #認証情報設定 #ダウンロードしたjsonファイル名をクレデンシャル変数に設定(秘密鍵、Pythonファイルから読み込みしやすい位置に置く) credentials = ServiceAccountCredentials.from_json_keyfile_name('取得したjsonファイル名', scope) #OAuth2の資格情報を使用してGoogle APIにログインします。 gc = gspread.authorize(credentials) #共有設定したスプレッドシートキーを変数[SPREADSHEET_KEY]に格納する。 SPREADSHEET_KEY = '設定したスプレッドシートキー' #共有設定したスプレッドシートのシート1を開く worksheet = gc.open_by_key(SPREADSHEET_KEY).sheet1 worksheet.append_row(["{0:%Y-%m-%d %H:%M:%S}".format(t0),t1,t2,h,l])#-----------------------------------#メイン処理#-----------------------------------def main(): GPIO_TEMP = 14 #DHT11 #t0:日時,t1:水温、t2:室温、h:湿度 l:照度 t0 = datetime.datetime.now() t1=0.0 t2=0.0 h=0.0 l=0.0 instance = dht11.DHT11(pin=14) result = instance.read() if result.is_valid(): t2=result.temperature h=result.humidity SENSOR_ID = "28-3c01a816bbf9" SENSOR_W1_SLAVE = "/sys/bus/w1/devices/" + SENSOR_ID + "/w1_slave" ERR_VAL = 85000 res = subprocess.check_output(["cat", SENSOR_W1_SLAVE]) temp_val = res.split("=") temp_val = round(float(temp_val[-1]) / 1000, 1) t1=temp_val bus = smbus.SMBus(1) addr = 0x23 luxRead = bus.read_i2c_block_data(addr,0x10) l=luxRead[0]*256+luxRead[1]/1.2 test(t0,t1,t2,h,l) #ローカルDBへ書き込み sqlite_insert(t0,t1,t2,h,l) #GoogleSpredSheetへ書き込み spreadSheet_insert(t0,t1,t2,h,l) #処理終了 sys.exit()#-----------------------------------#実行ここから#-----------------------------------if __name__ == '__main__': main()もう2つスクリプトがあります。この2つのスクリプトはメインにリンクするイメージです。まず、1つ目、spreadsheet.pyになります。# -*- coding: utf-8 -*-import httplib2import numpy as npfrom apiclient import discoveryfrom oauth2client.service_account import ServiceAccountCredentialsSCOPES = 'https://www.googleapis.com/auth/spreadsheets'class SpreadSheet(object): def __init__(self, key_filename,sheet_id,range,length): self.sheetId = sheet_id self.key_filename = key_filename self.append_range = range self.append_length = length credentials = ServiceAccountCredentials.from_json_keyfile_name(key_filename, scopes=SCOPES) http_auth = credentials.authorize(httplib2.Http()) discoveryUrl = ('https://sheets.googleapis.com/$discovery/rest?''version=v4') self.service = discovery.build('sheets', 'v4', http=http_auth, discoveryServiceUrl=discoveryUrl) def append(self, values): assert np.array(values).shape==(self.append_length,) , "The shape of value %s must be %s" % (np.array(values).shape,self.append_length) value_range_body = {'values':[values]} result = self.service.spreadsheets().values().append(spreadsheetId=self.sheetId, range=self.append_range, valueInputOption='USER_ENTERED', body=value_range_body).execute() #print(result)if __name__ == '__main__': sheet = SpreadSheet("シートのURL?") sheet.append(["test", "test", 0,1])最後のスクリプトです。SQLiteは、データベースの保存形式としては有名みたいです。おっさんは全然知りませんでした。スクリプト名は、sqlite_connect.pyになります。# -*- coding: utf-8 -*-import sqlite3#-----------------------------------#SQLite操作クラス#-----------------------------------class SqliteConnect(object): #----------------------------------- #SQLiteへt0:日時,t1:水温、t2:室温、h:湿度 l:照度を書き込む #----------------------------------- def insert(self,t0,t1,t2,h,l): # SQLiteのデータベースの名前と保管場所を指定。 dbname = '/home/pi/python_apps/DHT11_Python/hydroponics_db.db' # データベース内のテーブルの名前 dbtable = 'hydroponics' # SQLiteへの接続 conn = sqlite3.connect(dbname) c = conn.cursor() # SQLiteにテーブルがあるかどうか確認するクエリ checkdb = c.execute("SELECT * FROM sqlite_master WHERE type='table' and name='%s'" % dbtable) # もしテーブルがなかったら新規でテーブルを作成する if checkdb.fetchone() == None: # クエリを実行 c.execute("create table %s(time default CURRENT_TIMESTAMP,water REAL,room REAL,humidity REAL,lux REAL)" % dbtable) # 変更を保存する conn.commit() # 温度、湿度、タイムスタンプを保存。 sql = 'insert into hydroponics (time, water, room,humidity,lux) values (?,?,?,?,?)' data= (t0,t1,t2,h,l) c.execute(sql, data) conn.commit() #接続を切る conn.close()if __name__ == '__main__': print(__name__)ちなみに、使用するスプレッドシート名はhydroponicsにしてます。実際はアクアポニックスなんですけどねこれを前回紹介したcronで2時間おきに起動させます。*/120 * * * * cd ~/python_apps/DHT11_Python/ ; echo raspberry ; sudo -S python ./hydroponics.pyこれで、スプレッドシートにも2時間ごとのデータが入力されていきます。以上になります。おっさんのとおり知識がなくチャレンジされる方は、かなり苦戦すると思います。YouTubeにも参考できるものがありますので、いろいろ参考にしたほうがいいと思います。
2020.11.29
コメント(0)

今週の生育状況です。随分、大きくなっています。先週より成長が早いような気がします。気温は下がってきているのに?さて、葉の状況です。若干、緑色が増えている気がします。レモン効果はあったのでしょうか?現段階では判断できません。硝酸塩濃度とpHです。許容の範囲内と思いますが、少し硝酸塩濃度が下がっているようです。今週分のデータです。だんだん温度が下がってきています。土田さんにとってつらい季節の到来です。年月日 WT(℃) AT(℃) L(ルクス) 2020/11/22 12.7 13.2 24574.32020/11/23 13.2 13.5 22836.82020/11/24 12 13.1 28583.82020/11/25 13.1 14.1 309102020/11/26 12.7 13.2 29023.22020/11/27 13.1 13.9 34208.32020/11/28 10.6 10.2 23411.2小松菜1年月日 AWT(℃) AAT(℃) AL(ルクス) H(cm)2020/11/15 507.8 524.3 1087964.1 12.792020/11/16 521 537.8 1110800.9 13.572020/11/17 533 550.9 1139384.7 14.362020/11/18 546.1 565 1170294.7 15.142020/11/19 558.8 578.2 1199317.9 15.932020/11/20 571.9 592.1 1233526.2 16.712020/11/21 582.5 602.3 1256937.4 17.5小松菜2年月日 AWT(℃) AAT(℃) AL(ルクス) H(cm)2020/11/15 127.2 130.9 242102.2 1.642020/11/16 140.4 144.4 264939 1.792020/11/17 152.4 157.5 293522.8 1.932020/11/18 165.5 171.6 324432.8 2.072020/11/19 178.2 184.8 353456 2.212020/11/20 191.3 198.7 387664.3 2.362020/11/21 201.9 208.9 411075.5 2.5
2020.11.29
コメント(0)

昨日、葉の色の薄さに触れ、しばらく様子を見ると書きましたが、どうしても気になっていました。そこで、今日の朝、再度、葉を確認。植えたばかりの小松菜とくらべると顕著にわかりますが、やはり、薄すぎる。どうしても、鉄分等の不足が原因ではないかという懸念が拭えません。水中の鉄分等の不足は、そもそもそれ自体が不足しているか、pHが高いかということらしいです。つまりアルカリ側になっている。(下図参照)昨日測ったpHはアルカリに傾いていました。やはり、これが原因では・・・そうこう悩んでいると、ふと、おっさんは気づいてしまったのです・・・・いただいたレモンがあることを。こうなると、居ても立っても居られません。さっそく水槽に直行。急激なpHの調整は生き物にpHショックを与えるらしいですが、1個だけなので、おもっきし果汁を水槽に投入。投入後、pHの確認。う~ん。変化がないような気がする。しかしもうこれ以上絞りきれない。でも、なぜかすっきりしたので、これで様子をみよと思います。
2020.11.23
コメント(0)

小松菜の生育状況です。タイトルにあるとおり、先週、新たに3株植えました。相変わらず、虫が食べてます。あと、気になることが・・・葉の色が少し薄い気がします。本来水耕栽培では葉が薄いそうですが、それにしても・・・硝酸塩とpHです。若干、アルカリ側に傾いている気がします。先ほど、小松菜の葉が薄いことに触れましたが、調べると鉄分等の不足が考えられるそうです。もし、pHが高いせいで鉄分の溶解が阻害されているとすれば・・・・考えすぎかもしれません。ひとまず様子を見ることにします。今週のデータです。新たな株が増えたので、若干記入を変えています。年月日 WT(℃) AT(℃) L(ルクス) 2020/11/15 13.3 13.6 45110.82020/11/16 15.8 16.7 188952020/11/17 16.8 15.9 232862020/11/18 17.3 18.3 36553.32020/11/19 19.7 22.6 40596.52020/11/20 18 17.5 27522.82020/11/21 13.6 13.1 25563.5小松菜1年月日 AWT(℃) AAT(℃) AL(ルクス) H(cm)2020/11/15 393.9 407 890972.7 10.712020/11/16 409.7 423.7 909867.7 10.932020/11/17 426.5 439.6 933153.7 11.142020/11/18 443.8 457.9 969707 11.362020/11/19 463.5 480.5 1010303.5 11.572020/11/20 481.5 498 1037826.3 11.792020/11/21 495.1 511.1 1063389.8 12小松菜2年月日 AWT(℃) AAT(℃) AL(ルクス) H(cm)2020/11/15 13.3 13.6 45110.8 02020/11/16 29.1 30.3 64005.8 0.212020/11/17 45.9 46.2 87291.8 0.432020/11/18 63.2 64.5 123845.1 0.642020/11/19 82.9 87.1 164441.6 0.862020/11/20 100.9 104.6 191964.4 1.072020/11/21 114.5 117.7 217527.9 1.5
2020.11.22
コメント(0)

これまで、raspberry piでの計測について書いてきましたが、今回は、その計測したデータの保存について触れていこうと思います。また、データの保存形式にもいろいろ種類がありますが、まずCSV形式での保存について紹介します。そもそも、CSV形式とは何ぞや?ということなんですが、Excelでの保存形式にも存在します。実際にExcelを開いて、適当な数字を入力します。これを、名前を付けて保存する際に、csv形式が選択できます。実際に保存すると、拡張子がcsvのファイルが作成されます。できたファイルをメモ帳で開くと下のようになります。カンマ区切りのデータが作成されています。このカンマ区切りのデータのことをCSV形式というみたいです。それでは、raspberry piでの制御方法について書きます。(ただし、今回は気温・湿度のみの保存方法にしています。ご了承ください。)まず、「Atom」を開き、temp.pyとうい名前でスクリプトを作成します。スクリプトの内容は以下のとおりとなります。import RPi.GPIO as GPIOimport dht11import timeimport datetimeimport csv# initialize GPIOGPIO.setwarnings(True)GPIO.setmode(GPIO.BCM)# read data using pin 14instance = dht11.DHT11(pin=14)result = instance.read()if result.is_valid(): a="Last valid input: " + str(datetime.datetime.now()) b="%-3.1f" % result.temperature c="%-3.1f" % result.humidity with open('temp.csv', 'a') as csvfile: writer = csv.writer(csvfile, lineterminator='\n') writer.writerow([a, b, c])ここで、大事なのはこのtemp.pyの保存場所です。上のスクリプトを使用する場合は、絶対にDHT11_Pythonフォルダ直下にファイルを保存してください。詳しくは理解できていませんが、同じフォルダ内にdht11ファイルが存在しないといけないためです。このtemp.pyを実行すれば、CSVファイルが生成され計測データが保存されていきます。しかし、毎回手動で実行していくわけにはいきません。仕事中でも計測データを保存できるようにする必要があります。そこで、参考にしたサイトは、ココになります。これに従うと、まず、「Tera Term」を開き、raspberry piに入ります。次にcrontab -eと入力しenterキーを押します。そうすると、エディタが開きますので、一番下の行に30 * * * * cd ~/python_apps/DHT11_Python/ ; echo raspberry ; sudo -S python ./temp.pyと入力します。ctrlボタンとOボタンで保存します。ctrlボタンとXボタンで終了します。これで、1時30分、2時30分、3時30分というように30分になると計測データを保存します。(つまり1時間ごとに保存されます。)以上で終了です。raspberry piさえ電源を入れておけば保存されていきます。
2020.11.15
コメント(0)

4週目の状況報告です。現在の生育状況は下の写真のとおりです。順調に育っていますが、かなり、虫に食べれています。葉に付いていた虫が下の写真です。今週1週間でかなり退治しました。でも、毎日チェックして退治しないとやはり食べられる感じがします。しかし、残念なおっさんにはその根気がありません。今週も硝酸塩とpHの確認をしています。いずれも異常なさそうです。また、今週分のデータは以下のとおりでした。年月日 WT(℃) AT(℃) L(ルクス) AWT(℃) AAT(℃) AL(ルクス) H(cm)2020/11/8 15.7 15.4 28706.3 313.1 324 609502 7.072020/11/9 11.7 11.8 40049.7 324.8 335.8 649551.7 7.642020/11/10 10.2 10.4 32763 335 346.2 682314.7 8.212020/11/11 10.1 10.2 35081.3 345.1 356.4 717396 8.792020/11/12 10.9 11 45774.2 356 367.4 763170.2 9.362020/11/13 11.8 13.4 42302.7 367.8 380.8 805472.9 9.932020/11/14 12.8 12.6 40389 380.6 393.4 845861.9 10.5
2020.11.15
コメント(0)
![]()
はじめに、お断りします。今回、紹介する気温・湿度センサーは現在うまくいってません。ご了承のうえ見てください。使用したセンサーはDHT11です。このセンサー1つで気温と湿度が測れます。さらに、小さなブレッドボードと10kΩの抵抗も使用しました。Arduino互換 DHT11 ベーシック 温度&湿度センサーブレッドボード 17ライン 緑 試作ボード 1個入 <1zi-182>KOA 1/4W金属皮膜抵抗 910kΩ 白茶黒橙茶 【MF1/4CC9103F】まず、配線ですが下のとおりにしました。次に制御ですが、リモート側のパソコンで「Tera Term」を開きます。cd python_appsでpython_apps直下に移動します。git clone https://github.com/szazo/DHT11_Python.gitと入力し、DHT11を動かす何かをダウンロードします。python_apps直下にちゃんと保存されたか確認します。lsと入力します。「DHT11_Python」が表示されていればO.Kです。次にDHT11_Python直下に移動します。cd DHT11_Pythonと入力します。移動後、またlsで確認します。ここで、「example.py」が存在していることがわかると思います。センサーの動作確認はこの用意されているファイルを使用します。python example.pyと入力し実行します。気温と湿度が表示されていれば、成功です。これで、計測しているセンサーはすべて付け終わりました。付け終わった状況は下の写真のとおりです。次は、計測したデータの保存について触れていこうと思います。
2020.11.08
コメント(0)

3週目の状況報告です。現在の小松菜の生育状況は下の写真のとおりです。今週は、結構成長しております。ただし、葉に小さな穴が多数有り、やられています。多分虫だと思い、良く見ると葉の裏におっさんの老眼ではとらえにくい小さな虫が3匹もいました。たった5株で3匹の虫がいるとは・・・オーガニック栽培をしている人はどう管理をしているんだろう。ちなみに、硝酸塩濃度は50mg/ℓくらいで、pHも異常がありませんでした。今週分のデータです。水温が6.8℃まで下がり土田さんが心配でしたが、本日1匹確認できました。年月日 WT(℃) AT(℃) L(ルクス) AWT(℃) AAT(℃) AL(ルクス) H(cm)2020/11/1 15.2 16.4 40183.8 212.8 220.9 431823.9 2.642020/11/2 16.6 16.4 6978.8 229.4 237.3 438802.7 3.292020/11/3 14.2 13.7 39131.5 243.6 251 477934.2 3.932020/11/4 11.3 10.9 36704 254.9 261.9 514638.2 4.572020/11/5 10.9 11.4 40302.2 265.8 273.3 554940.4 5.212020/11/6 14.1 16.3 16645.8 279.9 289.6 571586.2 5.862020/11/7 17.5 19 9209.5 297.4 308.6 580795.7 6.5
2020.11.08
コメント(0)
![]()
今回は、水温センサーをraspberry piに取り付けた過程を紹介したいと思います。参考にしたサイトはココになります。まず、購入したセンサーですが、DS18B20(下の写真)というものになります。DS18B20 防水デジタル温度センサー(モジュールも別途必要です。)KOA 1/4W金属皮膜抵抗 4.7kΩ 黄紫黒茶茶 【MF1/4CC4701F】これをraspberry piに取り付けるのですが、同封されているジャンパーワイヤーは使用しませんでした。まず、ケーブルを付けるのですが、ケーブルの皮をむき銅線を出す必要があります。なにも専用の道具を持っていないのでカッターで切り込みを入れ剥がしました。(切り込みは浅めに入れておいて指で強引に引っ張り取るほうがいいみたいです。)剥がした後の状態が下の写真です。これを、それぞれの箇所に固定する必要があります。おっさんの場合は、黄色のケーブル→DAT 赤色のケーブル→VCC 黒色のケーブル→GNDにそれぞれ繋ぎました。ここまで終わりましたら、残りの配線は下の写真及び図のとおりとなります。(前回の照度センサーに追加した形にしてます。)ちなみに、抵抗は4.7kΩを使用しています。また、GND側に電流がどれくらい流れるかわからないので、ワイヤーを1本追加しています。(raspberry piからでている黒の線)これで配線が終わりになりますので、制御に移ります。いつものとおり、raspberry piを起動します。起動したらリモート側のパソコンの「Tera Term」を起動し、sudo raspi-configと入力しenterキーを押します。「5」を選びます。「P7 1-Wire」を選びます。「はい」を選びます。「Finish」を選んで、一応再起動します。再度「Tera Term」を起動し、sudo nano /boot/config.txtと入力してenterキーを押してください。そうそすると、nanoエディタが開きますので、一番下の[all]のところの下の箇所を、dtoverlay=w1-gpio,pullup=onと書き換え、ctrlボタンとOキーを押します。これで、保存が完了します。変更が終わったのでctrlボタンとXキーでエディタを終了します。以下の場所のフォルダに移動します。ここで、ls -laと入力しenterキーを押します。28-ではじまるファルダが表示されていればO.Kみたいです。ちなみに28-からはじまるファルダ名は後程使いますので記録しておいてください。設定はこれで終了になります。次に、プログラム(スクリプト)を書きます。「Atom」を開きます。home→pi→python_apps直下にw_temp.pyを新たに作成して、以下の内容を入力し保存します。import sysimport subprocessSENSOR_ID = "28-3c01a816bbf9"SENSOR_W1_SLAVE = "/sys/bus/w1/devices/" + SENSOR_ID + "/w1_slave"ERR_VAL = 85000res = subprocess.check_output(["cat", SENSOR_W1_SLAVE])temp_val = res.split("=")temp_val = round(float(temp_val[-1]) / 1000, 1)print temp_val保存しましたら、実際に実行してみます。ファイルのある場所、つまりpython_apps直下で実行する必要がありますので、cd文で移動して実行してください。実際には、cd ~ cd python_apps python w_temp.pyになります。温度が表示されれば成功です。
2020.11.02
コメント(0)

硝酸濃度が低くなってきたので、水生生物の補充をしようと思いました。いままで結構お金を使ってきているので、今回は節約のため川での捕獲を試みました。ということで、近場の川にいき、適当な場所を探索。下の写真のところは網が届きそうだし、何か匂う・・・(おっさんの第6感が感知)網を投入。ガサガサもう1回ガサガサ結果は、下の写真のとおりです。小さな稚魚が入りました。どうやらウグイのようです。これじゃ、硝酸濃度の増加は期待できない。でもせっかく捕れたので水槽で飼ってみようと思います。
2020.11.01
コメント(0)

昨日も冷え込みましたが、今日も冷え込みました。今日の朝で気温は7.7℃でしたが、水温は10℃を下回っていませんでした。しかし、これまでの水温の最低はすでに9.8℃で、これからの本格的な寒さでどこまで水温が下がるか不安です。では、2週目のまとめです。現在の小松菜の生育状況は下の写真のとおりです。順調に育っております。今週分のデータは以下のとおりです。特に目立ったことはありません。年月日 WT(℃) AT(℃) L(ルクス) AWT(℃) AAT(℃) AL(ルクス) H(cm)2020/10/25 13.1 14.9 41532.2 108.6 113.3 193420 1.142020/10/26 14.7 14.6 41388.5 123.3 127.9 234808.5 1.292020/10/27 14.8 14.7 42571.2 138.1 142.6 277379.7 1.432020/10/28 15.3 15.9 23352.8 153.4 158.5 300732.5 1.572020/10/29 15.7 16.5 29406.8 169.1 175 330139.3 1.712020/10/30 15.1 16.4 27089.5 184.2 191.4 357228.8 1.862020/10/31 13.4 13.1 34411.3 197.6 204.5 391640.1 2次に、硝酸塩濃度とpHです。硝酸塩濃度は前回よりも低くなっています。やはり土田さんの活性が落ちているのでしょうか・・・餌も食べてるのかよくわからないし・・・pHはやや酸性側になっていますが、問題なしです。
2020.11.01
コメント(0)
全12件 (12件中 1-12件目)
1