{"id":1262,"date":"2016-02-06T08:48:36","date_gmt":"2016-02-06T08:48:36","guid":{"rendered":"http:\/\/coolt.ch\/notizen\/?p=1262"},"modified":"2016-02-06T10:22:42","modified_gmt":"2016-02-06T10:22:42","slug":"bluetooth-low-energy-introduction","status":"publish","type":"post","link":"https:\/\/coolt.ch\/notizen\/bluetooth-low-energy-introduction\/","title":{"rendered":"Bluetooth Low Energy: Introduction (Ch. 1, 2, 3)"},"content":{"rendered":"<p>Robin Heydon, Bluetooth Low Energy, The Developer&#8217;s HandBook (2013)<\/p>\n<p><span style=\"text-decoration: underline;\">Kapitel 1: Was ist BLE?<\/span><br \/>\nDas Ziel von BLE ist, die <span style=\"color: #3366ff;\">energiearmste wireless Verbindung<\/span> zu erm\u00f6glichen. BLE hat nur wenig mit Bluetooth classic zu tun. Anstelle immer h\u00f6herer Datenraten, ist hier die kleinst notwendige Datenrate gefragt (R = 0.3 Mbps). f = 2.4 GHz<br \/>\nBluetooth ab Version 4\u00a0 kennt den Dual-Mode, in dem sowohl BLE wie auch Bluetooth benutz werden k\u00f6nnen.<br \/>\nGlossar: FrequenzHopping<\/p>\n<p><span style=\"text-decoration: underline;\">Kapitel 2: Basic Concepts<\/span><br \/>\n&#8211; Gespiesen wird mit der kleinstm\u00f6glichen Battterie (Knopfbatterie), die 3 V \/230 mAh. Spitzenstrom von 15 mA. Die Batterie h\u00e4lt l\u00e4nger, wenn keine Leistungen an ihrem Limit bezogen werden.<\/p>\n<p>&#8211; Zeit = Energieverlust: Jede Abfrage ist auf das Minimum beschr\u00e4nkt. Sich wiederholende Abfragen (ID senden) sind zu minimieren. Jede Abfrage muss daf\u00fcr so sicher wie m\u00f6glich sein, denn f\u00fcr Wiederholung w\u00e4re eine Energieverschwendung. Aus diesem Grund sind nur 3 der 16 Frequenzen bei der Daten\u00fcbermittlung parallel aktiv (1 oder 2 sind zu wenig sicher).<\/p>\n<p>&#8211; Speichern der Daten = Energieverlust: Speicher sind Stromfresser.<\/p>\n<p>&#8211; <span style=\"color: #000000;\">Asynchrones Kommunikationskonzept<\/span>: Es wird klar unterschieden zwischen der Energief\u00e4higkeit unter den Ger\u00e4ten. <span style=\"color: #3366ff;\">Das energiearme Ger\u00e4t behandelt auf allen OSI-Layern nur das Minimum. Die Arbeit \u00fcbernimmt das Energiest\u00e4rkere Ger\u00e4t<\/span>.<br \/>\nPhysical Layer: Theoretisch kann ein Ger\u00e4t <em>Senden<\/em> und <em>Empfangen<\/em>. Doch um zu Sparen, t\u00e4tigen im asynchronen Konzept die energiearmen Ger\u00e4te nur 1 Sache und nur 1 Ger\u00e4t erledigt alle energiefordernden Prozesse.<br \/>\nLink Layer: Die Aufgaben <em>advertize<\/em> (Packete senden), <em>scannen<\/em> (Packete erhalten) in den Rollen master, slave (nur Instruktionen erhalten) werden strikt zugewiesen. Der master \u00fcbernimmt das timing, w\u00e4hlt die Frequenzen, entschl\u00fcsselt die Daten und weitere komplexe Aufgaben.<br \/>\nProtocol Layer: Aufgeteilt in Server &#8211; Client. Der Client generiert die Daten und teilt dies per Request dem Server mit. Der Server macht,\u00a0 \u00e4hnlich wie der Slave auf dem Link Layer, macht nur, was man ihm sagt. <em>Der Client macht die Arbeit<\/em>.<\/p>\n<p>&#8211; <span style=\"color: #3366ff;\">Zustandsgesteuert<\/span>:\u00a0 Jede Inhalt setzt einen Zustand im Attribut Protocol. Die aktuelle Temperatur, der Ladungszustand der Batterie,\u00a0 der Name des Ger\u00e4ts oder die Beschreibung, wo die Temperatur erfasst wurde: alles wird einem Zustand zugewiesen. Der Vorteil davon ist, dass Slave sich zu jedem gew\u00fcnschten Zeitpunkt ausklicken k\u00f6nnen.<\/p>\n<p>Kapitel 3: Aufbau<br \/>\nDer Kontroller, der Host, der Applikations Layer und der Stack werden im \u00dcberblick vorgestellt und jedes dieser Komponten erh\u00e4lt nachher ein eigenes Kapitel.<\/p>\n<p><a href=\"http:\/\/coolt.ch\/notizen\/wp-content\/uploads\/2016\/02\/BLE_architecture.jpg\"><img loading=\"lazy\" class=\"alignnone wp-image-1284 size-medium\" src=\"http:\/\/coolt.ch\/notizen\/wp-content\/uploads\/2016\/02\/BLE_architecture-300x266.jpg\" alt=\"BLE_architecture\" width=\"300\" height=\"266\" srcset=\"https:\/\/coolt.ch\/notizen\/wp-content\/uploads\/2016\/02\/BLE_architecture-300x266.jpg 300w, https:\/\/coolt.ch\/notizen\/wp-content\/uploads\/2016\/02\/BLE_architecture.jpg 640w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><br \/>\n&#8211; Der Kontroller:<br \/>\n<span style=\"text-decoration: underline;\"> Physical Layer<\/span>: f = 2.4 GHz, Modulation: GFSK (Gaussian Frequenz Shift Keying = die Frequenzen werden gewechselt. Gauss wird als Filter gebraucht, da der Frequenzwechsel St\u00f6rpulse generiert). <span style=\"text-decoration: underline;\">Direct Test Mode<\/span>: Direkter Paketversand zum Testen des Physical Layers. <strong><span style=\"text-decoration: underline;\">Link Layer<\/span>: T\u00e4tigt fast alle Aufgaben<\/strong>: advertizing (Packete anbieten), scanning (Packete abholen), Auf- und Abbau sowie die Unterhaltung einer Verbingung. Packete richtig aufbauen.<br \/>\n<span style=\"color: #3366ff;\">Kommuniziert wird auf 3 advertizig channels<\/span>: Wer ist da? Wer hat Daten? Eine Verbindung wird aufgebaut. Neben den 3 advertizing channels gibt es <span style=\"color: #3366ff;\">37 data channels<\/span>.\u00a0 Auf einem davon werden die <span style=\"color: #3366ff;\">Daten gesendet<\/span> (mit einem ACK).<br \/>\nEin Standard-Packet ist minimum10 Bytes lang, das l\u00e4ngste 47 Bytes.<a href=\"http:\/\/coolt.ch\/notizen\/wp-content\/uploads\/2016\/02\/BLE_packet_structure1.png\"><img loading=\"lazy\" class=\"alignnone wp-image-1287 size-medium\" src=\"http:\/\/coolt.ch\/notizen\/wp-content\/uploads\/2016\/02\/BLE_packet_structure1-300x82.png\" alt=\"BLE_packet_structure\" width=\"300\" height=\"82\" srcset=\"https:\/\/coolt.ch\/notizen\/wp-content\/uploads\/2016\/02\/BLE_packet_structure1-300x82.png 300w, https:\/\/coolt.ch\/notizen\/wp-content\/uploads\/2016\/02\/BLE_packet_structure1.png 530w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p><span style=\"text-decoration: underline;\">The Host\/ControllerInterface<\/span> (HCI): Stellt sicher, dass das BLE Ger\u00e4t mit einem Host kommunizieren kann. Der Host sendet Befehlte, das BLE sendet vorwiegend Daten. Der HCI hat zwei getrennte Bereiche: einer beinhaltet die Anbindung zum Physical Layer und der andere die Anbindung zum Logica Link.<br \/>\nIn der Andbingung zum Physical Layer ist die Kommunikationsart definiert. Erlaubt ist <span style=\"color: #3366ff;\">USB, SDIO und UART<\/span>.<\/p>\n<p>..<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Robin Heydon, Bluetooth Low Energy, The Developer&#8217;s HandBook (2013) Kapitel 1: Was ist BLE? Das Ziel von BLE ist, die energiearmste wireless Verbindung zu erm\u00f6glichen. BLE hat nur wenig mit Bluetooth classic zu tun. Anstelle immer h\u00f6herer Datenraten, ist hier die kleinst notwendige Datenrate gefragt (R = 0.3 Mbps). f = 2.4 GHz Bluetooth ab &hellip; <a href=\"https:\/\/coolt.ch\/notizen\/bluetooth-low-energy-introduction\/\" class=\"more-link\"><span class=\"screen-reader-text\">Bluetooth Low Energy: Introduction (Ch. 1, 2, 3)<\/span> weiterlesen<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[20,35],"tags":[49,51],"_links":{"self":[{"href":"https:\/\/coolt.ch\/notizen\/wp-json\/wp\/v2\/posts\/1262"}],"collection":[{"href":"https:\/\/coolt.ch\/notizen\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/coolt.ch\/notizen\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/coolt.ch\/notizen\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/coolt.ch\/notizen\/wp-json\/wp\/v2\/comments?post=1262"}],"version-history":[{"count":9,"href":"https:\/\/coolt.ch\/notizen\/wp-json\/wp\/v2\/posts\/1262\/revisions"}],"predecessor-version":[{"id":1288,"href":"https:\/\/coolt.ch\/notizen\/wp-json\/wp\/v2\/posts\/1262\/revisions\/1288"}],"wp:attachment":[{"href":"https:\/\/coolt.ch\/notizen\/wp-json\/wp\/v2\/media?parent=1262"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/coolt.ch\/notizen\/wp-json\/wp\/v2\/categories?post=1262"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/coolt.ch\/notizen\/wp-json\/wp\/v2\/tags?post=1262"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}