RP2040-ZeroとWaveshare Pico-LCD-1.3で空気環境表示

実践IOTハウスでは

部屋毎のRaspberry Piで空気環境データーを常時収集と監視できるようにしている

必要に応じてAlexaに温度を聞いたり、Raspberry Pi自身で喋らせている

今回はRP2040-ZeroとWaveshare Pico-LCD-1.3でRaspberry Piが収集したデーターを常時表示できるようにした

右が10年前のRaspberry Pi今も現役のUSBへRP2040-Zeroを接続、時計と空気環境表示

10年前のRaspberry Pi今も現役

Raspberry Piで下記コードを10分毎に起動している

Web UIで自動作成されたスクリプトに追加処理を書いているので分かりにくいと思うが

要は自身の空気環境データーをpeporp2040rwctlコマンドで送信しているのと23時55分に時計セットしている、それとLCD焼け保護の為、10秒毎に表示位置の変更と消灯を行なっている

$ cat /www/remote-hand/tmp/auto_act10
#!/bin/bash
if [ ENABLE = "DISABLE" ];then
  exit
elif [ "-1" != -1 ];then
  [ -e /www/remote-hand/tmp/.di_read_data ] && . /www/remote-hand/tmp/.di_read_data
  [ -z "${di[-1]}" ] && exit
  [ "${di[-1]}" = "-1" ] && exit
  [ "${di[-1]}" != "-1" ] && exit
fi
if [ 16 -gt 7 -a 16 -lt 14 ];then
  /usr/local/bin/pepoirkitpost 3
elif [ 16 -gt 13 -a 16 -lt 17 ];then
  DIR=/www/remote-hand/tmp
  if [ $(date +%H%M) -eq 2355 ];then
    NOW=dt$(($(date +%s) + 2))
    peporp2040rwctl $NOW 19 500
  fi
  IOT001AIR=$(cat /$DIR/.gpiodi_read_data)
  TEMP=$(echo $IOT001AIR |awk 'BEGIN{FS=","};{printf $2}')
  HUM=$(echo $IOT001AIR |awk 'BEGIN{FS=","};{printf $3}')
  PRES=$(echo $IOT001AIR |awk 'BEGIN{FS=","};{printf $4}')
  IAQ=$(echo $IOT001AIR |awk 'BEGIN{FS=","};{printf $6}')
  IAQ_STATUS="Good"
  if [ $IAQ -lt 51 ];then
    IAQ_STATUS="Good"
  elif [ $IAQ -lt 101 ];then
    IAQ_STATUS="Nor"
  elif [ $IAQ -lt 151 ];then
    IAQ_STATUS="L_bad"
  elif [ $IAQ -lt 201 ];then
    IAQ_STATUS="Bad"
  elif [ $IAQ -lt 301 ];then
    IAQ_STATUS="V_bad"
  elif [ $IAQ -gt 300 ];then
    IAQ_STATUS="Worst"
  fi
  MSGTMP=$(echo -n "strTemp:${TEMP}C_Hum:${HUM}%_Pres:${PRES}_IAQ:${IAQ}_${IAQ_STATUS}")
  peporp2040rwctl $MSGTMP 2 500
#  /usr/local/bin/pepotocoshelp 3 1
elif [ 16 -gt 16 -a 16 -lt 27 ];then
  /usr/local/bin/peposound 1
elif [ 16 -lt 8 ];then
  /usr/local/bin/pepodioctl 16 1
fi


RP2040-Zeroのコード等は以下URL参照してください

見出し画像

https://note.com/kujiranodanna/n/n352edadb1393

以上です

\ 最新情報をチェック /