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

皆さん、ついに、エアラインでも、サブスクリプションが始まったのはご存じですか? まだ実験段階ですが、ANAが、定額全国住み放題サービスを提供する「ADDress」と組んで、国内線を4回まで定額利用可能 ...

2

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

3

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

4

ついに、noteの月間アクティブユーザー数が4400万人(2020年3月時点)に到達しました。 そもそも、「note」とは、クリエイターが、文章やマンガ、写真、音声を投稿することができ、ユーザーはその ...

5

ボードゲームカフェが1日2回転で儲かるという記事をみつけたので興味を持ち、調べてみました。 まずは、需要がどれくらいあるのか、市場のようすからみていきましょう。 世界最大のボードゲーム市場はドイツで、 ...

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

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