IPhone aan Arduino met behulp van Bluetooth 4.0-- (6 / 7 stap)

Stap 6: Code

Onder importeren toevoegen UIKit,

 import CoreBluetooth 

Dit laadt het BLE-kader.

Wijzigen van uw klassendefinitie te laten uitzien als dit,

 class ViewController: UIViewController, CBCentralManagerDelegate, CBPeripheralDelegate 

Dit verbindt de Main View afluistert voor acties die worden uitgevoerd door de iPhone BLE en de HM-10.

Aangezien we toegevoegd de CBCentralManagerDelegate wij de centralManagerDidUpdateState moet toevoegen. Deze functies horloges het iOS apparaat van Bluetooth-apparaat. Als staten verandert (bijvoorbeeld Bluetooth uitstaat) dan is deze functie wordt uitgevoerd.

 func centralManagerDidUpdateState(central: CBCentralManager?) { if let central = central{ if central.state == CBCentralManagerState.PoweredOn { println("Bluetooth ON") } else { println("Bluetooth switched off or not initialized") } } } 

Kortom, alles wat we hier doen is af te drukken naar systeem of de BLE heb uitgeschakeld. U dit hiervoor allerlei mooie dingen kan veranderen, maar wij zullen het eenvoudig houden.

Nu, hier is waar het wordt leuk! Laten we het toevoegen van een functie om te grijpen alle gegevens vanuit de HM-10 en op de navigatie balk titel afdrukken.

Gegevenswaarden krijgen wanneer ze worden bijgewerkt // Get data values when they are updated func peripheral(peripheral: CBPeripheral?, didUpdateValueForCharacteristic characteristic: CBCharacteristic?, error: NSError!) { if let characteristicValue = characteristic?.value{ var datastring = NSString(data: characteristicValue, encoding: NSUTF8StringEncoding) if let datastring = datastring{ navigationItem.title = datastring as String } } } 

Een paar dingen van opmerking hier, var datastring = NSString (gegevens: characteristicValue, encoding: NSUTF8StringEncoding) is eigenlijk het verkrijgen van de gegevens uit de RX-buffer, converteren naar een NSString. De if laat datastring = datastring is de optionele, vervolgens stellen de navigatie balk titel aan de RX-reeks kunnen uitpakken. Handig, hè?

Mind you, het kon maken van de ontvanger van de gegevens om het even wat die een tekenreeks. Ik gebruikte gewoon de navigatie balk titel zodat we niet hoefde andere items toe te voegen.

Oke, krijgen we dicht bij het einde. Wat over het verzenden van tekst?

 // Write function func writeValue(data: String){ let data = (data as NSString).dataUsingEncoding(NSUTF8StringEncoding) if let peripheralDevice = peripheralDevice{ if let deviceCharacteristics = deviceCharacteristics{ peripheralDevice.writeValue(data, forCharacteristic: deviceCharacteristics, type: CBCharacteristicWriteType.WithoutResponse) } } } 

Deze functie is eigenlijk een voorbereiding gegevensfunctie voor het echte werkpaard: peripheralDevice.writeValue (gegevens, karakteristiek).

De wrapper functie die ik heb gemaakt, writeValue(String), neemt een string, het zet het naar UTF8 gegevensformaat, dat de indeling die nodig zijn voor writeValue (data, karakteristiek is). Het controleert vervolgens of er een randapparaat te schrijven van de waarden. Als er, roept de functie van de writeValue met behulp van de gegevens die u doorgegeven.

Als dat verwarrend lijkt, gewoon weten, het duurt een string en verzendt het naar het ontvangende apparaat.

U kunt deze writeValue functie aanroepen vanuit een knop, zoals de 'Verzenden' knop die we opzetten.

 func sendButton(sender: AnyObject) { if let text = sendTextField{ writeValue(sendTextField.text) } } 

Dit zorgt ervoor dat onze knop om te grijpen wat u hebt getypt in het vak tekstveld en stuur het naar het ontvangende apparaat, door middel van de handige kleine writeValue(String) functie die we gemaakt.

OK! Thats it. (Ik hoop. Gulp.)

Wanneer u klaar bent van uw ViewController code moet op zoek naar iets als dit,

Gerelateerde Artikelen

IoT je Arduino met behulp van bluetooth en andriod slimme telefoon (MQTT tethering)

IoT je Arduino met behulp van bluetooth en andriod slimme telefoon (MQTT tethering)

Ik wil proberen IoT via het MQTT-protocol (http://mqtt.org/), om te doen deze meeste van Arduino recept toepassingen Ethernet of WIFI, maar ik heb alleen bluetooth HC-06, zodat ik mijn smartphone als hub gebruiken voor toegang tot internet via hetbij
Gebruik RFduino om te voeren Arduino compatibel schetsen en communiceren met uw iPhone met behulp van Bluetooth 4.0 Low Energy.

Gebruik RFduino om te voeren Arduino compatibel schetsen en communiceren met uw iPhone met behulp van Bluetooth 4.0 Low Energy.

Munt-en kleinbedrijf Arduino compatibele open-source micro-computer die communiceert met uw iPhone met behulp van Bluetooth 4.0 Low Energy draadloosDe RFduino is een zelfstandige board, net als de Arduino UNO. Daarnaast beschikt de RFduino over een k
BlueSense - DIY Smart kamer automatisering met behulp van Bluetooth

BlueSense - DIY Smart kamer automatisering met behulp van Bluetooth

Uw droom Smart kamer is slechts één aanraking weg! Invoering van "BlueSense"--het slimme kamer automatiseringssysteem dat een kunt bepalen van het toestel in de kamer met behulp van smartphones. Het bereik van de werking voor BlueSense is ongeve
LED controle met behulp van Bluetooth

LED controle met behulp van Bluetooth

SORRY VOOR DE SLECHTE KWALITEIT VAN VIDEO. IK COULDNT KRIJGEN EEN GOED SCHOT EN IK BEN NIEUW OP ARDUINO EN COMMUNICATIE MET BLUETOOTHHallo iedereen, dit is mijn eerste instructables hier. Dit een kleine acitivity die ik gemaakt heb om te controleren
Mobile Application Monitor en Control Arduino, met behulp van kito.io IOT Platform

Mobile Application Monitor en Control Arduino, met behulp van kito.io IOT Platform

Bewaking en beheersing van je Arduino uit uw kito Mobile App.Ik heb een IOT Platform ontwikkeld voor het helpen van DIY Makers die net doet dat met geen kennis van Xcode, Android, JavaScript nodig anders dan hoe weet te schrijven van de Arduino schet
Sensorgegevens (DHT11 & BMP180) verzenden ThingSpeak met een Arduino, met behulp van ENC28J60 Ethercard

Sensorgegevens (DHT11 & BMP180) verzenden ThingSpeak met een Arduino, met behulp van ENC28J60 Ethercard

Opmerking: Dit instructable is voor de oude ENC26J60 Ethershield en ethercard. Als u de moderne WIZ5100 op basis van Ethernetshield of een ESP8266 ga bezoek mijn andere instructable dat ik noemen hieronderOngeveer een jaar en een half geleden ik publ
Arduino/Android BLUETOOTH seriële Monitor APP voor arduino met behulp van de HC-06 en ANDROID

Arduino/Android BLUETOOTH seriële Monitor APP voor arduino met behulp van de HC-06 en ANDROID

Hello wereld! Vandaag maakte ik een Android app die gewoon leest waarden of tekst die zijn afgedrukt op de arduino seriële met behulp van de bluetooth-module HC-06/05 of andere modules. U hoeft niet te stellen iets in de code van de arduino. Gewoon S
Arduino aan MySQL met behulp van Python interface

Arduino aan MySQL met behulp van Python interface

hier is een korte tutorial die moet je opstaan en lopen interfacing van uw Adruino met een MySQL-database. Omwille van deze tutorial veronderstel ik dat u weet hoe u kunt instellen en gebruiken van MySQL. Deze tutorial niet veel Python ervaring verei
Afspelen van geluid met de Intel Edison en Arduino met behulp van een Bluetooth-luidspreker

Afspelen van geluid met de Intel Edison en Arduino met behulp van een Bluetooth-luidspreker

Dit is een korte introductie over hoe te spelen geluiden via de Intel Edison board als met behulp van Arduino als een programmeeromgeving.Sinds de Arduino board voor Intel Edison niet elk geluid capbabilities hoeft, we gebruiken een goedkope bluetoot
Kerstverlichting aan muziek met behulp van Arduino

Kerstverlichting aan muziek met behulp van Arduino

mijn vrouw en ik hebben willen maken van onze eigen verlichting-set-naar-music show voor de laatste paar seizoenen Vakantiewoningen.  Geïnspireerd door de onderstaande twee Instructables, hebben we besloten om eindelijk dit jaar aan de slag en decore
POI locaties toevoegen aan OSM met behulp van uw iPhone

POI locaties toevoegen aan OSM met behulp van uw iPhone

toe te voegen Places of Interest (POI) locaties aan het project Open Street kaart (OSM) is een geweldige manier om het verbeteren van de digitale presentatie van de omringende gemeenschap! Het is zelfs eenvoudiger dan je denkt, want u kunt eenvoudig
Mobiele robot gecontroleerd met behulp van bluetooth

Mobiele robot gecontroleerd met behulp van bluetooth

Deze keer ging ik over het bouwen van een kleine mobiele robot die kan worden gecontroleerd met behulp van mijn Android telefoons bluetooth. De robot maakt gebruik van een bluetooth-module van Bolutek BC04, gekoppeld aan een Arduino UNO.Stap 1: De BC
Een esp8266 arduino met behulp van een relais met behulp van home-assistant

Een esp8266 arduino met behulp van een relais met behulp van home-assistant

Dit Instructable laat zien hoe een Relais module verbinden met een esp8266, iets dat moet ongecompliceerd, maar moet een paar extra componenten te maken van de estafette werkt correct als u van het kleine apparaat van de esp in de foto's gebruikmaakt
Controle van de Arduino met behulp van android app

Controle van de Arduino met behulp van android app

In deze instructables ga ik uit te leggen hoe de controle van de arduino IO pinnen met behulp van een android app, die we hier schrijven.De mededeling zal via ethernet en gebruiken we het GET-verzoek voor het activeren van de IO.Laten we beginnen!Sta