すれ違いガジェット
爆誕してほしいな
駅伝方式
データ自体はインターネットにあるが,鍵をすれ違い通信レイヤーで送る 目的のアドレスのノードについたら終わり
ルーティングどうする問題
使用中のアドレスはインターネットで公開する
あとは省エネも考えないといけない
受信は?受信はradioのオンオフで制御するらしい
cocoaで使われたシステムではExposure Notificationという規格が使われていたとのこと
ほんとかわからんが,受信は5分休んで5秒聞くぐらいで,
googleは4秒に0.5秒?
送信は0.3秒に一回とか
受信の方がエネルギーがかかるらしい
micropythonでやらんと
通信サイズがバッテリーに関わるなら、探索してから送信とか
広くたまに打ったほうがいいのか、狭く頻繁に打った方がいいのか
ledを先頭だけを明るく表示するとか
周りにいない時はなるべく喋らないとか
それをどうやってセンシングするか
相手から受信したそれを反射するように応答する
ハウリングみたいになるのも嫌だから、不応期みたいなのを作るのがいいかも
不揮発メモリで使える領域もあるらしい
事足りる
20文字ぐらいしか保持できない
無線送信できる文字列の限界がある
分割送信する?
いつもめんどくさくなるのはこういう,想定しなかった仕様だ
micropythonだと251文字まで行けるらしい
ついにmicropythonデビューか
すれ違い通信は8時間以内の重複はカウントしないことになっている
このフィルタを省エネでやるためには
1時間刻みごとに8個の配列にいれる
この配列がフィルタとして働き、ここにあるものはプッシュしない
プッシュした時は、フィルタも更新する
0分を回るとフィルタの配列を押し出す
フィルタは再起動するたびに、再構築できるのか
もっと簡易化して、ドットの数分だけ重複なしで埋めるようにする
リセットすると再びカウントできるようになる
そのため,ログファイルには重複がある可能性がある
がそれは外部のパワーのあるコンピューターでやればいいだろう
トラッカブルを召喚するには
ちゃんとハンドシェイクして、移動したことを証明しないと行けな
3way?2wayで事足りる?
もし誰かが分岐させた場合には、時間が新しい方を残す
位置がないのに何が面白い?
誰かが好きなタイミングで位置情報をつけてインターネットに送る
位置情報は改竄できてしまうが仕方ない
検証可能な位置情報なんてあゆのか?
proof of location
トラッカブルidを辿ってインターネットで落ち合う
キャプチャモードとリリースモードで出ししれ
使うIDの仕様をきめておけば、この辺の実装は適当でも
正直IDも適当でもいい
urlでもいいし、ひとことでもいいし
チャンネルさえ合ってれば
このチャンネルで交流しましょうというただのお誘い
nostrのidを使うことにするか?
マイクロビットじゃなくてもいいし
独自通信の可能性あり
bluetoothビーコンをユーザーのために
lineビーコンの拡張機能があるがどういう使い勝手があるのか
code:.py
# Imports go at the top
from microbit import *
import radio
import log
radio.config(group=1)
filter = []
uuid = "d01478d6ba119bac7b48a7361154fc0579890450a50e37656a8cd03ea603128c"
radio.on()
radio.config(length=64 + 3)
def on_received_string(receivedString):
if not (receivedString in filter) and len(filter) <= 25:
filter.append(receivedString)
display.set_pixel((len(filter) - 1) % 5, (len(filter) - 1) // 5,3)
log.add(id=receivedString)
@run_every(s=1000)
def send():
radio.send(uuid)
# Code in a 'while True:' loop repeats forever
while True:
message = radio.receive()
if message:
on_received_string(message)
if button_a.was_pressed():
display.clear()
filter.clear()