//tips
//Biz
営業候補先ストック。猟銃読本周回。
ゴムなしパンツをトライ。
ひたすら電気回路学習。
九州休眠預金経営実践戦略会議参加。
https://us02web.zoom.us/j/85377694950?pwd=WW1QcG9VNHJaWVNDaDU5RHZxZVB5QT09
課題→対策のtipsのyoutubeをいつでも制作できるようなリストアップはしておく。
ストック収入につながるプロダクトを制作するか若干迷う。やる場合は年末でいいか。youtube撮影、自動トレードbot制作など。
人を雇ってプロダクトを制作する訓練をしても良い。
IOT制作
soil-moisture-sensor-serverフォルダを作成する。
mkdir soil-moisture-sensor-server
Cd soil-moisture-sensor-server
python3 -m venv .venv
source ./.venv/bin/activate
pip install paho-mqtt
touch app.py
下記にて作成。
import json
import time
import paho.mqtt.client as mqtt
id = '4ef9e3dc-808d-4288-bc39-83692a2149e5'
client_telemetry_topic = id + '/telemetry'
server_command_topic = id + '/commands'
client_name = id + 'soilmoisturesensor_server'
mqtt_client = mqtt.Client(client_name)
mqtt_client.connect('test.mosquitto.org')
mqtt_client.loop_start()
def handle_telemetry(client, userdata, message):
payload = json.loads(message.payload.decode())
print("Message received:", payload)
#relay_onに変換
command = { 'relay_on' : payload['soil_moisture'] < 450 }
print("Sending message:", command)
client.publish(server_command_topic, json.dumps(command))
mqtt_client.subscribe(client_telemetry_topic)
mqtt_client.on_message = handle_telemetry
while True:
time.sleep(2)
これで450以下の土中湿度の場合、relayをonにすることができた。
Payloadでjsonの取り出しと payload['soil_moisture'] でのjsonの中身の取り出しが行われていることは頭に入れておく。
Sending message: {'relay_on': True}
Message received: {'soil_moisture': 751}
Sending message: {'relay_on': False}
Message received: {'soil_moisture': 765}
Sending message: {'relay_on': False}
が確認できた。