Blockchain code public-private partnership 起業

Smallbusiness×Hunter×Blockchain(771)

スポンサーリンク

//tips

//Biz

営業。猟銃問題周回。

ライター研究所アテンド対応。

寒すぎて太平山が遠のいている。くううう、登らねば。

猟師先輩飲みスケジュール確認。1月7日確定。

博多織の方からご紹介があったのでアプローチしてみる。

https://camp-fire.jp/projects/view/358587

解体場16日訪問確定。

IOTデバイス制作シミュレーション

Iotのサーバー側を設定。

フォルダの作成。
mkdir temperature-sensor-server
cd temperature-sensor-server

仮想化の実行。
python3 -m venv .venv
source ./.venv/bin/activate

pip install paho-mqtt

touch app.py

night-light serverの際に書いたコードをコピペ。

これをベースに修正していく。

大きな変更はデータをcsvファイルで管理すること。

諸々変更して実行。

import json
import time

import paho.mqtt.client as mqtt

from os import path
import csv
from datetime import datetime

id = 'ff219060-93cb-4d28-8a2d-20afb5aab84e'

client_telemetry_topic = id + '/telemetry'
server_command_topic = id + '/commands'

client_name = id + 'temperature_sensor_server'

mqtt_client = mqtt.Client(client_name)
mqtt_client.connect('test.mosquitto.org')

mqtt_client.loop_start()

temperature_file_name = 'temperature.csv'
fieldnames = ['date', 'temperature']

if not path.exists(temperature_file_name):
with open(temperature_file_name, mode='w') as csv_file:
writer = csv.DictWriter(csv_file, fieldnames=fieldnames)
writer.writeheader()

def handle_telemetry(client, userdata, message):
payload = json.loads(message.payload.decode())
print("Message received:", payload)

#command = { 'led_on' : payload['light'] < 300 }
#print("Sending message:", command)
#client.publish(server_command_topic, json.dumps(command))

#csv最初のrowの確認または作成
with open(temperature_file_name, mode='a') as temperature_file:
temperature_writer = csv.DictWriter(temperature_file, fieldnames=fieldnames)
temperature_writer.writerow({'date' : datetime.now().astimezone().replace(microsecond=0).isoformat(), 'temperature' : payload['temperature']})

#新たなrowの追加、情報追加
with open(temperature_file_name, mode='a') as temperature_file:
temperature_writer = csv.DictWriter(temperature_file, fieldnames=fieldnames)
temperature_writer.writerow({'date' : datetime.now().astimezone().replace(microsecond=0).isoformat(), 'temperature' : payload['temperature']})

mqtt_client.subscribe(client_telemetry_topic)
mqtt_client.on_message = handle_telemetry

while True:
time.sleep(2)

コマンド部分は不要だったのでコメントアウト。

クライアント
Sending telemetry {"temperature": 73.15}

サーバー
Message received: {'temperature': 73.15}

でコネクション確認。

Csvもセンサー感知の5秒ごとに新たな情報が加えられて行っていた。

素晴らしい。

人気の記事

1

コロナによる需要変化 コロナパンデミックの影響で、人々は外に出られなくなり、自宅で過ごす時間が増えました。 この自粛ムードの中、下記のようなビジネスの需要変化が引き起こされています。 【利用者減少】 ...

2

米国レストランの決済時に毎日お世話になっていた「Square」のビジネスモデルについて本日はふれていきたいと思います。 「Square」とは、ネットにつながったモバイル端末と専用のカードリーダーを用意 ...

3

無料でネットショップを開けるアプリとして多くの人に驚きを与えたBASE株式会社が、2019年10月25日東証マザーズに上場しました。2020年2月時点で90万店を超えるショップを抱えるまでに成長してい ...

4

2011年にサービスを開始してから圧倒的な成長率を誇るインテリア通販サイト 【FLYMEe/フライミー】を皆さんご存じでしょうか。 「自分のイメージするインテリア、本当に欲しいインテリアがどこにあるの ...

5

ナイキのSNKRSが、なぜこれほどまでに人気なのか?調べてみました。 きっかけは米国での友達との会話。彼は自分のシューズをみせて、「これ20万円もしたんだぜ。」と語ってくれました。 あまり靴に興味がな ...

-Blockchain, code, public-private partnership, 起業
-, ,

Copyright© BUSINESS HUNTER , 2023 All Rights Reserved Powered by AFFINGER5.