電子小物好きのアンテナid:osbaka 1/2ページ ▽ 退屈な日々 ●05/04 05:46 AirPods Pro の性能を上げるための簡単な方法自分の時間を確保するために必要な二つの家電遅いインターネット回線を少しでも改善する方法自宅で使うMS Office 最適なプランはどれ?寝るときの布団が冷たい、寒さ対策の決定版 ▽ やっちりん帝国Blog ●05/01 11:32 1 2 34 5 6 7 8 9 1011 12 13 14 15 16 1718 19 20 21 22 23 2425 26 27 28 29 30 31 ▽ 普通的生活 ●04/05 05:51 4月03WTW四国のドローンレース集計システム実装例昨年のNaka Drone Racing 2024以来育ててきたGoogle Sheetによるレース集計システムを紹介します。まだまだ未完成ですが、いくつかのレースを経て役に立つものになりつつあります。またTinyViewPlus v0.9.33 beta6の通知機能を利用しリアルタイムな更新も可能となりました。その概要とプログラム全てを公開いたします。使い方や細かい動作までは説明しきれないので、勝手に参考にしてもらったり、使える部分は再利用をしてください。という放任主義です、悪しからず。[ システムの概要 ]WTW Tokushimaのドローン部長による場内PAおよび配信システムの一部であるTinyViewPlusと集計操作用のMacBook Airを連携して行います。流行っているのでChatGPTに書いてもらった絵です。何となくな感じであまり正確にシステムを表現しているとは言えません。[ oscrcv.py ]oscrcv.pyスクリプトはTinyViewPlusからのOSCプロトコルによる通知で受信したデータをGoogle SheetにPOSTします。データの受信を確実にするためにoscrcv.pyはTinyViewPlusが稼働しているWindows PC上で稼働するようにしています。また予選、決勝などのレース毎(あるいはGoogle Sheetの切り替え)にoscrcv.pyの起動パラメータを指定して立ち上げ直す必要がありますので、MacBook AirからsshでTinyViewPlusのPCにログインして行なっています。# oscrcv.pyimport argparseimport mathfrom pythonosc import dispatcherfrom pythonosc import osc_serverimport jsonimport requestsimport timeimport datetimeurl = ""url1 = "https://script.google.com/macros/s/AKfycbzDg0hHdgDlE_qYEngvYBBqYDummyssJ_sA_fmstVcXgyyx-KMem32_lbSoC8gdAhgg/exec"url2 = "https://script.google.com/macros/s/AKfycbw7_T9Z4eWVWbybGm2IhXsazDummyRVwOjrQ_OcuowXC2yV-onDk0ppOxefZdZNQHQh/exec"sheetname = ""sh1 = "練習"sh2 = "予選ヒート1,2"sh3 = "予選ヒート3,4"sh4 = "勝ち上がり戦入力"def timeformat(seconds): td = datetime.timedelta(seconds=seconds) minutes, seconds = divmod(td.total_seconds(), 60) return f"{int(minutes):02d}:{seconds:05.2f}"def oschandle(addr, *args): global url global sheetname print(addr) print(args[0]) print("") timestamp = time.strftime('%Y/%m/%d %H:%M:%S') args3 = args4 = "" if (len(args) > 3): if (isinstance(args[3], float)): args3 = "{:05.2f}".format(args[3]) else: args3 = args[3] if (len(args) > 4): if (isinstance(args[4], float)): args4 = timeformat(args[4]) else: args4 = args[4] data = { "timestamp" : timestamp, "addr" : addr, "arg0" : args[0], "arg1" : args[1] if (len(args) > ▽ とむむの日々○○ ●04/01 08:59 03 | 2025/04 | 05- - 1 2 3 4 56 7 8 9 10 11 1213 14 15 16 17 18 1920 21 22 23 24 25 2627 28 29 30 - - - ▽ nobuの日記 ●01/21 08:41 この広告は、90日以上更新していないブログに表示しています。広告を非表示にする広告を非表示にする広告を非表示にする広告を非表示にするid:no61 ▽ GoGoSmartphoneBLOG ●01/26 09:29 Not Found We are sorry, but, the blog or user you are looking for can not be found. Checkout some of the blogs in our showcase. Powered by Typepad Top 6.次10> 0.はてなアンテナトップ 8.このページを友達に紹介 9.このページの先頭へ □ヘルプ /お知らせ □ログイン □無料ユーザー登録 □はてなトップ (c) Hatena