Forskjeller

Det er to helt forskjellige teknologier. Så kanskje kan man si at for praktiske hensyn er den største likheten navnet.

Den største forskjellen for oss er at for å kommunisere med vanlig bluetooth må man først pare enhetene, mens det trenger man ikke med BLE.

En annen viktig forskjell er at vanlig bluetooth er rett fram å få til å fungere på Android, noe som ikke går med iOS.

Bluetooth

Vi bruker noen enheter som baserer seg på HC-06. For spesielt interesserte, kan datablad kan finnes her, eller søkes opp på nett. Vi har valgt disse siden de kun trenger to digitale inn/utganger for å virke. De fungerer greit med Android og datamaskiner, men ikke for iOS, se under.

Hvordan koden til Arduino kan skrives er det en egen underside for.

Vanlig bluetooth må pares før bruk. På Andorid telefoner ligger dette under Innstillinger->Bluetooth. Velg den enheten som du vil pare med (den må være tilkoblet strøm). Standard pin kode for paring er "1234".

Pin kode for paring kan nok endres med AT kommandoer (se under), men om du ikke frykter at noen kommer til å kidnappe enheten deres, trenger dere ikke tenke på det.

Navnet til enheten kan endres med AT kommandoer (se under).

iOS og seriell bluetooth

Dessverre er det slik at Apple ikke støtter seriell bluetooth protokoll for alle enheter. For å få til det med iOS må det være en ekstra chip tilgjengelig, noe som ikke er sannsynlig å gjøre i et slikt kurs som dette.

Så, til dere som vil bruke iOS, må dere bruke BLE enheter. Vi har fått inn slike, men de er ikke utdelt enda (de kom inn etter robotene var begynt utdelt).

Bluetooth 4.0 - Low Energy (BLE)

Bluetooth 4.0 (BLE) er en ganske annen teknologi enn vanlig bluetooth. En veldig stor endring er at du ikke trenger å pare to enheter før de kommuniserer. Vi skal ikke gå så veldig i detalj på hvordan dette henger sammen, men kan nevne at teknisk sett baserer teknologien seg på adresserte tjenester med adresserte beskrivere du kan lese og skrive til.

For vår del er vi bare interessert i tekstbasert seriell kommunikasjon. Det finnes flere tjenester som kan brukes for slik kommunikasjon, skjønt vi har valgt en som er satt opp som fra fabrikken på de brikkene dere kan få utlevert. Hvordan dere koder for på Arduino er det en egen underside for.

Vi har gjort vårt beste for at du du kan skrive programmer som fungerer likt uavhengig om du bruker en bluetooth eller BLE enhet.

Ekstra lesestoff for spesielt interesserte for forskjellige BLE moduler. De dere kan få utdelt baserer seg på HM-10.

HM-11 User Guide

HM-11 Breakout

HM-10 og HM-11 Datasheet

Bluefruit

AT kommandoer

AT kommandoer er kommandoer du kan sende til bluetooth enheten for at den skal endre oppførsel på en eller annen måte. De er tekststrenger du sender til bluetooth enheten. De kjennetegnes ved at de starter med "AT".

Formatet på AT kommandoene, hvilke som gjør hva og hvordan de skrives, er forskjellig fra type til type.

Kommandomodus

For å komme i kommandomodus, så du får sendt kommandoer må du på noen enheter gjøre spesielle handlinger. Her er en rask oversikt over relevante enheter:

  • HM-10: Er som standard i kommandomodus når den ikke er tilkoblet en annen enhet. Når den er tilkoblet vil kommandoen bli sendt til den andre enheten som en melding.
  • HC-06: Er som standard i kommandomodus når den ikke er tilkoblet en annen enhet. Når den er tilkoblet vil kommandoen bli sendt til den andre enheten som en melding.
  • HC-05: Før spenning settes på VCC må KEY settes høy. Hold KEY høy så lenge enheten er på. Enheten blir i kommandomodus til enheten blir startet på nytt ved å stoppe strømtilgang. Hastighet på UART forbindelse i kommandomodus er alltid 38400 bps.

Støttede kommandoer

Forskjellige enheter støtter forskjellige AT kommandoer. Formatet på AT kommandoene er også ulik. En rask oversikt for eksterne kilder følger her:

Et eksempel på kommando for HC-06 er å skifte navn:

AT+NAME[navn] - Gir nytt navn til enheten. For eksempel vil AT+NAMEHC-06 gi enheten navnet HC-06 (merk ikke noe åpenrom)

Denne er ikke lik for HC-05 eller BTLE HM-10/11.

  • No labels