マナー講師を10人ぐらい集めて共同生活させるバラエティー番組とかどうだろう 全員がしょうもないマナーを押し付けあううちに化けの皮が剥がれてきたら面白そうだけど
どうも、クラゲです。 今回はBLEそのものについて超簡単に説明します。 BlueJellyに限らず、全てのBLEに共通した内容です。BLE雑学ではなく、開発視点での最低限必要な情報だけを説明します! 【 概要 】 [TOC] はじめに 初めに、BLEと普通のBluetooth(以下BTと略します)の違いについて説明します。ポイントは3つです。 普通のBTはクラシックBT 普通のBTはクラシックBTと呼ばれています。データのやりとりは主にSPP(Serial Port Protocol)が使われていました。 低消費電力になっただけじゃない ファームウェアやアプリ開発視点ではクラシックBTのSPPや一般的なシリアル通信(UART、I2C、SPI、RS232Cなど)と結構違います。 イメージ的にオブジェクト指向 注) 技術的にオブジェクト指向という意味ではないです。 例えば、趣味でちょっとしたサ
Bluetooth Low Energy とは パソコンやスマホ、ウェアラブルデバイス、家電、IoT機器など、 様々なデバイスを接続して、データ通信をおこなうのに使われている。 WiFi などと同じ 2.4GHz帯 の ISM バンドを 40個 に 分割したチャンネルを用いて、ホッピング しながら データ通信をおこなう。 現在の最新仕様は Bluetooth 5 です。 プロトコルスタックは、下記のようになっており、同じプロファイルを実装したデバイス同士が通信できる。 逆に言うと、同じプロファイルを実装しなければ、データ通信をおこなうことはできない。 BLE のプロファイルは 複数のサービスの集合体として仕様が決められており、複数の仕様書をまたがって読む必要がある。
GATT : データ構造の交換 GATT通信は、GATTサーバーが持つ サービス や キャラクタリスティック などで構成される データ構造に従って、データを読み書きすることになる。 このデータ構造は、製品の実装毎に異なっており、事前に把握することはできない。 サポートするプロファイルが決まれば データ構造が決まるようなケースでは 事前に把握することはできるが、そのようなケースはまずない。 データの構造が分からなければ、その中にあるデータに正しくアクセスすることはできないので、 BLEデバイスでデータ通信をおこなう際には、リンクが確立したら、 まず始めに、GATTサーバーが持つデータ構造を GATTクライアントに渡さなければならない。 そのための通信手順には、 SERVICE DISCOVERY CHARACTERISTIC DISCOVERY CHARACTERISTIC DESCRIPT
2021年12月10日、Javaベースのログ出力ライブラリ「Apache Log4j」の2.x系バージョン(以降はLog4j2と記載)で確認された深刻な脆弱性を修正したバージョンが公開されました。セキュリティ関係組織では過去話題になったHeartbleedやShellshockと同レベルの脆弱性とも評価しています。ここでは関連する情報をまとめます。 1.何が起きたの? Javaベースのログ出力ライブラリLog4j2で深刻な脆弱性(CVE-2021-44228)を修正したバージョンが公開された。その後も修正が不完全であったことなどを理由に2件の脆弱性が修正された。 広く利用されているライブラリであるため影響を受ける対象が多く存在するとみられ、攻撃が容易であることから2014年のHeartbleed、Shellshock以来の危険性があるとみる向きもあり、The Apache Software
はじめに ブラウザ上で動くゲームボーイエミュレータを OCaml で書きました。以下のページで試せます。 デモページ いくつかの homebrew ROM も一緒になっているのでいろいろ遊んでみてください。おすすめは「Bouncing ball」と「Tobu Tobu Girl」です。最近のスマホならだいたい安定して 60 FPS 出るはずなので、スマホでも遊べます。 レポジトリはこちらです。 スクリーンショット なぜ OCaml でゲームボーイエミュレータ?新しいプログラミング言語を学ぶ過程で以下のように思ったことはないでしょうか? 簡単なプログラムなら書けるが、中規模以上のコード1をどうやって書けばよいのか分からない 発展的な言語機能2も勉強しなんとなく理解した気になったが、実践のなかでどのように活用すればいいのかが分からない OCaml を本格的に勉強し始めてた数ヶ月前の筆者はまさに
Beginners who want to get into the software field often get programming and software engineering mixed up. These are not the same thing. Programming is a part of software engineering. Software engineering on the other hand, encompasses so much more than programming. Software engineering is the process of starting with a problem, designing a way to solve that problem, and then delivering a software
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く