Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
EN
Uploaded by
Takuya Nishimoto
PDF, PPTX
4,520 views
Mac から Python で BLE ペリフェラルを操作する
広島版 IoT 縛りの勉強会 IoTLT 広島 Vol.3 2016年9月15日 西本卓也
Technology
◦
Read more
4
Save
Share
Embed
Embed presentation
Download
Download as PDF, PPTX
1
/ 14
2
/ 14
3
/ 14
4
/ 14
5
/ 14
6
/ 14
7
/ 14
8
/ 14
9
/ 14
10
/ 14
11
/ 14
12
/ 14
13
/ 14
14
/ 14
More Related Content
PPTX
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
by
Shota Shinogi
PDF
Hello Java
by
Chihiro Ito
PDF
アジャイル開発のストーリーをGherkin記法で作成
by
Shinya Nakajima
PDF
実社会・実環境におけるロボットの機械学習 ver. 2
by
Kuniyuki Takahashi
PPTX
世界一わかりやすいClean Architecture
by
Atsushi Nakamura
PPTX
[DL輪読会]Live-Streaming Fraud Detection: A Heterogeneous Graph Neural Network A...
by
Deep Learning JP
PDF
リレーショナルな正しいデータベース設計
by
Mikiya Okuno
PDF
Java開発の強力な相棒として今すぐ使えるGroovy
by
Yasuharu Nakano
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
by
Shota Shinogi
Hello Java
by
Chihiro Ito
アジャイル開発のストーリーをGherkin記法で作成
by
Shinya Nakajima
実社会・実環境におけるロボットの機械学習 ver. 2
by
Kuniyuki Takahashi
世界一わかりやすいClean Architecture
by
Atsushi Nakamura
[DL輪読会]Live-Streaming Fraud Detection: A Heterogeneous Graph Neural Network A...
by
Deep Learning JP
リレーショナルな正しいデータベース設計
by
Mikiya Okuno
Java開発の強力な相棒として今すぐ使えるGroovy
by
Yasuharu Nakano
What's hot
PDF
プロダクト開発してわかったDjangoの深〜いパーミッション管理の話 @ PyconJP2017
by
hirokiky
PDF
“機械学習の説明”の信頼性
by
Satoshi Hara
PDF
なかったらINSERTしたいし、あるならロック取りたいやん?
by
ichirin2501
PDF
Attentionの基礎からTransformerの入門まで
by
AGIRobots
PPTX
【DL輪読会】Emergent World Representations: Exploring a Sequence ModelTrained on a...
by
Deep Learning JP
PDF
今なら間に合う分散型IDとEntra Verified ID
by
Naohiro Fujie
PDF
これからのネイティブアプリにおけるOpenID Connectの活用
by
Masaru Kurahayashi
PDF
オブジェクト指向プログラミング入門 -- Java object-oriented programming primer
by
増田 亨
PDF
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
by
Koichiro Matsuoka
PPTX
クラウドでも非機能要求グレードは必要だよね
by
YoshioSawada
PDF
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
by
Y Watanabe
PDF
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
by
Takuto Wada
PDF
ユーザーにうれしいチャットボットのUX 7原則 - 7 Principles to Design UX of Chatbots
by
Yoshiki Hayama
PDF
ドメイン駆動設計 の 実践 Part3 DDD
by
増田 亨
PDF
「UXデザインとは」からはじめる「本流」のUXデザインはじめの一歩 | UXデザイン基礎セミナー 第1回
by
Yoshiki Hayama
PDF
WebAssemblyのWeb以外のことぜんぶ話す
by
Takaya Saeki
PDF
Keycloak拡張入門
by
Hiroyuki Wada
PPTX
[DL輪読会]Learning to Generalize: Meta-Learning for Domain Generalization
by
Deep Learning JP
PDF
Azure AD B2CにIdPを色々と繋いでみる
by
Naohiro Fujie
PDF
テスト駆動開発のはじめ方
by
Shuji Watanabe
プロダクト開発してわかったDjangoの深〜いパーミッション管理の話 @ PyconJP2017
by
hirokiky
“機械学習の説明”の信頼性
by
Satoshi Hara
なかったらINSERTしたいし、あるならロック取りたいやん?
by
ichirin2501
Attentionの基礎からTransformerの入門まで
by
AGIRobots
【DL輪読会】Emergent World Representations: Exploring a Sequence ModelTrained on a...
by
Deep Learning JP
今なら間に合う分散型IDとEntra Verified ID
by
Naohiro Fujie
これからのネイティブアプリにおけるOpenID Connectの活用
by
Masaru Kurahayashi
オブジェクト指向プログラミング入門 -- Java object-oriented programming primer
by
増田 亨
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
by
Koichiro Matsuoka
クラウドでも非機能要求グレードは必要だよね
by
YoshioSawada
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
by
Y Watanabe
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
by
Takuto Wada
ユーザーにうれしいチャットボットのUX 7原則 - 7 Principles to Design UX of Chatbots
by
Yoshiki Hayama
ドメイン駆動設計 の 実践 Part3 DDD
by
増田 亨
「UXデザインとは」からはじめる「本流」のUXデザインはじめの一歩 | UXデザイン基礎セミナー 第1回
by
Yoshiki Hayama
WebAssemblyのWeb以外のことぜんぶ話す
by
Takaya Saeki
Keycloak拡張入門
by
Hiroyuki Wada
[DL輪読会]Learning to Generalize: Meta-Learning for Domain Generalization
by
Deep Learning JP
Azure AD B2CにIdPを色々と繋いでみる
by
Naohiro Fujie
テスト駆動開発のはじめ方
by
Shuji Watanabe
Similar to Mac から Python で BLE ペリフェラルを操作する
PDF
Bluetooth LE +スマートフォン勉強会@関西(2013年11月2日)
by
akihiro uehara
PDF
Bluetoothl-Low-Energy入門講座-part1
by
edy555
PDF
Bluetooth Low Energy入門講座 -part2
by
edy555
PPTX
とある小型の青歯規格(ブルートゥース)
by
iPride Co., Ltd.
PDF
20131026 i beaconワークショップ
by
akihiro uehara
PDF
Kavya racharla ndh-naropanth_fin_jp-final
by
PacSecJP
PPTX
Arduino tank meets bluetooth
by
Masuda Tomoaki
PDF
ifLink[改善版].pdf
by
KunihiroSugiyama1
PDF
やはりお前らのAndroidのBLEが不安定だという認識は間違っている
by
youten (ようてん)
PPTX
20170304 fmcn playbulb
by
Nariaki Iwatani
PDF
20130902 btleハンズオンワークショップ
by
akihiro uehara
PDF
iOSアプリ開発者のための Bluetooth Low Energy体験講座
by
akihiro uehara
PDF
Android BLEのつらみを予防するTips
by
Taisuke Oe
PDF
Nordic nRF51822でBLEしてみました
by
Hirokuma Ueno
PDF
IoTで使用されている Bluetoothを利用したビーコン(Beacon)の基礎と事例
by
株式会社芳和システムデザイン(Houwa System Design K.K.)
PDF
Web先端技術味見部#28 Physical Webハンズーオン開発補助資料
by
Recruit Technologies
PDF
Morinezumiiii 20150425-bluetooth
by
Amuro Nishizawa
PDF
BLEくびかりぞく
by
youten (ようてん)
PDF
Android iOS BLE 20180823
by
Tsuyoshi Hyuga
PDF
20140922 ble bootcamp
by
akihiro uehara
Bluetooth LE +スマートフォン勉強会@関西(2013年11月2日)
by
akihiro uehara
Bluetoothl-Low-Energy入門講座-part1
by
edy555
Bluetooth Low Energy入門講座 -part2
by
edy555
とある小型の青歯規格(ブルートゥース)
by
iPride Co., Ltd.
20131026 i beaconワークショップ
by
akihiro uehara
Kavya racharla ndh-naropanth_fin_jp-final
by
PacSecJP
Arduino tank meets bluetooth
by
Masuda Tomoaki
ifLink[改善版].pdf
by
KunihiroSugiyama1
やはりお前らのAndroidのBLEが不安定だという認識は間違っている
by
youten (ようてん)
20170304 fmcn playbulb
by
Nariaki Iwatani
20130902 btleハンズオンワークショップ
by
akihiro uehara
iOSアプリ開発者のための Bluetooth Low Energy体験講座
by
akihiro uehara
Android BLEのつらみを予防するTips
by
Taisuke Oe
Nordic nRF51822でBLEしてみました
by
Hirokuma Ueno
IoTで使用されている Bluetoothを利用したビーコン(Beacon)の基礎と事例
by
株式会社芳和システムデザイン(Houwa System Design K.K.)
Web先端技術味見部#28 Physical Webハンズーオン開発補助資料
by
Recruit Technologies
Morinezumiiii 20150425-bluetooth
by
Amuro Nishizawa
BLEくびかりぞく
by
youten (ようてん)
Android iOS BLE 20180823
by
Tsuyoshi Hyuga
20140922 ble bootcamp
by
akihiro uehara
More from Takuya Nishimoto
PPTX
221217 SwiftはPythonに似ている
by
Takuya Nishimoto
PPTX
220427-pydata 統計・データ分析 特集
by
Takuya Nishimoto
PPTX
220126 python-datalake-spark
by
Takuya Nishimoto
PPTX
211120 他人の書いたPythonスクリプトをステップ実行で理解する
by
Takuya Nishimoto
PPTX
211020 すごい広島 with OSH 2021.10
by
Takuya Nishimoto
PPTX
210917 オープンセミナー@広島のこれまでとこれから
by
Takuya Nishimoto
PPTX
210911 これから始める電子工作とMicroPython
by
Takuya Nishimoto
PPTX
210728 mpy
by
Takuya Nishimoto
PPTX
210630 python
by
Takuya Nishimoto
PPTX
210526 Power Automate Desktop Python
by
Takuya Nishimoto
PPTX
210428 python
by
Takuya Nishimoto
PPTX
200918 hannari-python
by
Takuya Nishimoto
PPTX
200429 python
by
Takuya Nishimoto
PPTX
200325 flask
by
Takuya Nishimoto
PPTX
200208 osh-nishimoto-v2
by
Takuya Nishimoto
PPTX
191208 python-kansai-nishimoto
by
Takuya Nishimoto
PPTX
191101 nvda-sightworld-nishimoto
by
Takuya Nishimoto
PPTX
191114 iotlt-nishimoto
by
Takuya Nishimoto
PPTX
191030 anna-with-python
by
Takuya Nishimoto
PPTX
190916 nishimoto-nvda-pyconjp
by
Takuya Nishimoto
221217 SwiftはPythonに似ている
by
Takuya Nishimoto
220427-pydata 統計・データ分析 特集
by
Takuya Nishimoto
220126 python-datalake-spark
by
Takuya Nishimoto
211120 他人の書いたPythonスクリプトをステップ実行で理解する
by
Takuya Nishimoto
211020 すごい広島 with OSH 2021.10
by
Takuya Nishimoto
210917 オープンセミナー@広島のこれまでとこれから
by
Takuya Nishimoto
210911 これから始める電子工作とMicroPython
by
Takuya Nishimoto
210728 mpy
by
Takuya Nishimoto
210630 python
by
Takuya Nishimoto
210526 Power Automate Desktop Python
by
Takuya Nishimoto
210428 python
by
Takuya Nishimoto
200918 hannari-python
by
Takuya Nishimoto
200429 python
by
Takuya Nishimoto
200325 flask
by
Takuya Nishimoto
200208 osh-nishimoto-v2
by
Takuya Nishimoto
191208 python-kansai-nishimoto
by
Takuya Nishimoto
191101 nvda-sightworld-nishimoto
by
Takuya Nishimoto
191114 iotlt-nishimoto
by
Takuya Nishimoto
191030 anna-with-python
by
Takuya Nishimoto
190916 nishimoto-nvda-pyconjp
by
Takuya Nishimoto
Mac から Python で BLE ペリフェラルを操作する
1.
Python で BLE (Bluetooth Low Energy) 2016年9月15日 西本卓也 @24motz 広島版
IoT 縛りの勉強会 Vol.3 http://ja.nishimotz.com/iotlt_hiroshima https://github.com/nishimotz/BluefruitLE_samples 1
2.
CR2032 ボタン電池 • 230mAh, 3V で
6ヶ月 = BLE のユースケース • http://rbs.ta36.com/?p=20398 2
3.
Generic Access Profile • Peripheral = デバイス(ITAG) • Central = デバイスと接続するアプリ(Python) •
Broadcaster = ビーコン • Observer = ビーコン受信アプリ 3
4.
Key Finder + リモコン機能 • ITAGを紛失するとスマートフォンが警告 • スマートフォンを紛失するとITAGが警告 •
ITAGのボタンを押すと • 位置情報を記録 • ダブルクリックでボイスレコーダー実行 • アプリ iTracing → 更新されていない • 互換アプリはある(Androidのみ確認) • いつの間にか静かに接続が切れていたり • 夜中に突然警告が鳴ったり 4
5.
ITAGの中身 5
6.
状態遷移モデル 6 スタンバイ アドバタイズ スレーブ LED点滅 電源オフ 3秒押し 5秒押し ボタン押しを送信 警告を受信 警告(LED点滅とブザー) 切断 ボタン押し ボタン押し 接続 警告停止
7.
Centralの状態遷移モデル 7 スタンバイ デバイスの一覧を取得 スキャン イニシエイト マスター 特定のデバイスに接続要求 スレーブの機能を利用(このまま数ヶ月でも)
8.
LightBlue for Mac • BLEデバイスのリストが見える •
スタンバイ → スキャン → スタンバイ状態 • 機器を選ぶと Service, Characteristic が見える • イニシエイト → マスター状態 • GATT = Generic Attribute Profile • 16進数(GUID/UUID)で指定 • ベース部分は共通 • BATTERY SERVICE = 180f • 0000180f-0000-1000-8000-00805f9b34fb 8
9.
ITAGで確認できること • 180f = BATTERY SERVICE • 2a19 = BATTERY LEVEL •
0x64 = 100 • 1802 = IMMEDIATE ALERT SERVICE • 2a06 = ALERT LEVEL • 0x02 を書き込むと警告 • 0x00 で停止 • ffe0 = 未定義Service • ffe1 = 未定義Characteristics • subscribe するとボタン押しで 0x01 が notify される 9
10.
BluefruitLE Python Library • Adafruit
が公開 • MacとLinux(Raspberry Pi)に対応 • Linux PyBluez • Core Bluetooth PyObjC • Adafruit のデバイスで使う例しかない • やってみたら ITAG を叩ける 10
11.
メインループ import Adafruit_BluefruitLE, uuid BATTERY_SERVICE = uuid.UUID('0000180f-…) BATTERY_LEVEL = uuid.UUID('00002a19-…') def main(): #デバイスのスキャン、接続、値の読み書き provider = Adafruit_BluefruitLE.get_provider() provider.initialize() provider.run_mainloop_with(main) 11
12.
デバイスのスキャン adapter = provider.get_default_adapter() adapter.power_on() adapter.start_scan() device = provider.find_device() adapter.stop_scan() print(device.name) 12
13.
接続して値の読み取り device.connect() device.discover([BATTERY_SERVICE], [BATTERY_LEVEL]) service = device.find_service(BATTERY_SERVICE) c = service.find_characteristic(BATTERY_LEVEL) v = c.read_value() print(ord(v[0])) device.disconnect() 13 書き込み:write_value() 通知待ち:start_notify()
14.
まとめ • IMMEDIATE_ALERT は
hello world • Bluefruit LE Python は Central 専用 • データ収集 • Peripheral の調査やデバッグ • RasPi を Central として運用 • MacでPythonが独自ビルド版の場合は • pip install pyobjc • リファレンスがないのでソースを読んで理解 • スマートフォンアプリ開発 14
Download