Stap 6: Schrijven gegevens interactief met Gatttool (Raspberry Pi)
Met de Raspberry Pi en RFduino klaar om te gaan, kunnen we doorgaan, open een Terminal venster op de Pi en ervoor te zorgen dat de RFduino wordt aangedreven.
Het eerste wat dat we doen is om te scannen voor nabijgelegen BLE apparaten door het invoeren van het commando:
sudo hcitool lescan
We zullen zien dat de output zal een vermelding bevatten voor onze RFduino, in ons geval het luidt als volgt:
DC:E2:F4:0b:3a:03 mijn BLE geleid
Waar de eerste reeks alfanumerieke (hex) tekens komt overeen met het MAC-adres van onze RFduino, en de tekenreeks "Mijn BLE LED" is de naam van het apparaat die we toegewezen. Nu dat we het MAC-adres, kunt wij gegevens naar de RFduino te schrijven.
Voor deze stap die we willen openen een venster van de Seriële Monitor op de computer waarop de RFduino is aangesloten. Hierdoor zullen we Zie de debug verklaringen die we geprogrammeerd. Vervolgens wij Ga terug naar de Terminal venster met de Pi en voer:
sudo gatttool -b DC:E2:F4:0B:3A:03 -t willekeurige - ik
Opmerking: Vergeet niet om het wijzigen van het Mac-adres voor uw eigen, en dat de laatste letter van de opdracht is een hoofdletter "i".
Zoals gezien in onze vorige Instructable, dit laat ons toe om te verzenden/ontvangen opdrachten interactief. De volgende stappen zijn de commando's te verbinden, en schrijven van gegevens naar de RFduino terwijl een oogje op de Seriële Monitor:
[DC:E2:F4:0B:3A:03] [LE] > verbinding
Opmerking: Na het invoeren van de opdracht "verbinden" moet u een "Verbinding succesvol"bericht in het Terminal venster en een "RFduino verbonden" op de Seriële Monitor.
Vervolgens kunnen wij bepaalde gegevens naar sturen de karakteristieke handgreep (0x0011) waar de RFduino luistert naar binnenkomende berichten:
[DC:E2:F4:0B:3A:03] [LE] > char-schrijven-req-0x0011 5B48454C4C4F5D
Als we kijken naar de Seriële Monitor kunnen we zien hoe de berichten worden ontvangen:
Gegevens ontvangen:
91726976767993
[HALLO]
Dit toont aan dat de karakter array gegevens heeft een lengte gelijk is aan het aantal bytes die wij sturen. In ons geval, is de eerste byte "5B" waarvan decimale equivalent is van "91" en komt overeen met het teken "[". Onze tweede byte is "48" waarvan decimale equivalent is van "72" en komt overeen met het teken "H".
Dit wetende, kunnen we nu beginnen met het verzenden opdrachten om de helderheid en kleur van een RGB-LED!