Raspberry Pi Bluetooth LE Controller för WS2812B (NeoPixels) (8 / 9 steg)
Steg 8: Skriva BLE Data direkt från terminalen (Raspberry Pi)
Med den kretsen byggts och testats är vi redo att börja skicka RGB LED ljusstyrka/färgdata från Raspberry Pi. Den första sak att göra är se till att våra RFduino är redo att ta emot data för att styra RGB LED. För detta vi ladda upp koden i ble_led_control arkivet använder Arduino IDE.
När koden är laddad till RFduino, kan vi gå tillbaka till våra Raspberry Pi och använder kommandot gatttool som vi använder innan. Men istället för att använda det interaktiva läget, kommer vi in i kompletta kommandon direkt. Till exempel, för att slå på röda och blå lysdioder till maximal ljusstyrka använder vi kommandot:
sudo gatttool -b DC:E2:F4:0B:3A:03 -t slumpmässiga--char-skriva-req - en 0x0011 - n FF00FF
Vi är bekant med den första delen av kommandot (sudo gatttool -b DC:E2:F4:0B:3A:03 -t slumpmässiga) eftersom detta är vad vi använde innan, men vi har blivit av med den "-jag" växla, vilket är vad startade den interaktiva prompten. I stället skriver vi "--char-skriva-req" direkt med samma handtag som innan (0x0011). Det enda som har förändrats är det sista värdet.
På ett tidigare steg såg vi hur skickas data i byte, vilket gjorde det lite knepigt när vi behövde skicka teckenvärden som vi behövde för att skicka sin HEX representation i stället. I det här fallet vill vi helt enkelt skicka 3 värden mellan 0 och 255 som kommer att ställa ljusstyrkan i varje LED.
Lyckligtvis kan vi använda en enda byte för att representera varje värde (0 är 0x00, 10 0x0A,... 255 är 0xFF). Så för att skicka RGB-data så att röda och den blå lysdioder är inställd på maximal ljusstyrka, vi helt enkelt skicka 3 byte "FF", "00" och "FF". Detta bör resultera i en lila/rosa färg i RGB LED!
I vår sista steget beskriver vi ett enkelt sätt att göra våra Raspberry Pi ändra färgerna programmatiskt med Python!