-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathbas04_tx_temp.py
32 lines (28 loc) · 1.46 KB
/
bas04_tx_temp.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# MicroPython XBee3 ZigBee
# coding: utf-8
'''
内蔵温度センサと電源電圧の値を読みとってブロードキャスト送信する
Copyright (c) 2018-2019 Wataru KUNINO
'''
import xbee
import time
TEMP_OFFSET = 14.0 # 内部温度上昇
addr = '\x00\x00\x00\x00\x00\x00\xFF\xFF' # XBee ブロードキャストアドレス
def getTemp(): # getTemp関数を定義する
temp = xbee.atcmd('TP') - TEMP_OFFSET # XBeeモジュールから温度値を取得する
volt = xbee.atcmd('%V') / 1000 # XBeeモジュールから電圧値を取得する
return {'temp':temp, 'volt':volt} # 取得結果を応答する
while True:
status = xbee.atcmd('AI') # ネットワーク参加状態を確認する
print('.',end='')
if status == 0x00: # 参加状態の時にループを抜ける
break
xbee.atcmd('CB',0x01) # コミッショニング(ネットワーク参加)
time.sleep_ms(2000) # 2秒間の待ち時間処理
print('\nJoined')
while True:
sensor = getTemp() # センサ値を取得
payload = str(sensor['temp']) + ',' + str(sensor['volt'])
print('send:',payload)
xbee.transmit(addr, payload) # 取得値をXBeeで送信する
time.sleep_ms(3000) # 3秒間の待ち時間処理