...
På GitHub kontoen vår, under plab-library, kan dere finne PLabBT, et bibliotek for å forenkle mottak av beskjeder. Dette biblioteket inneholder to klasser: PLabBTSerial og PLabBTCallback.
PLabBTSerial
Denne arver fra Arduinos SoftwareSerial, og har derfor de samme begrensningene som det. Hovedbegrensningen vi har merka, er nok bare at om du bruker flere enheter som bruker det, kan du bare motta data fra en av dem. Så lenge du bare kobler til en bluetooth enhet tror vi ikke dette har noe å si.
...
Se eksempel 2 for å se det i bruk.
PLabBTCallback
Denne klassen er helt egen. Den bruker PLabBTSerial internt, men dette har liten innvirkning for deg.
Constructor:
Metode | Argumenter |
---|---|
PLabBTCallback | uint8_t receivePin - Pinne som brukes for å motta på uint8_t transmitPin - Pinne som brukes for å sende til char divider = ':' - Tegnet som skiller kommando og argument. Standard er ': bool inverse_logic = false - Hvorvidt enheten er styrt av aktivt lavt signal. Standard er aktiv høy uint8_t bufferSize = 50 - Hvor lang en kommando og argument kan være tilsammen |
Metoder:
Metode | Argumenter | Forklaring |
---|---|---|
void begin | long speed - Hvor raskt kommunikasjonen skal foregå. 9600 fungerer bra for dette. Må kalles før update() | Starter kommunikasjon med bluetooth enheten |
void update | Oppdaterer alle interne strukturer. Forårsaker callback kall | |
void registerCallback | char *command - Tekst kommandoen callback skal reagere på void(*callback)(char *arg) - Callback funksjonen. Må ta et char * argument (c-streng) | Registrerer en callback funksjon som blir kalt når den gitte kommandoen kommer inn.Flere callbacks kan registreres på samme kommando. |
void registerNoCommandCallback | void(*callback)(char *arg) - Callback funksjonen. Må ta et char * argument (c-streng) | Registrerer en callback funksjon som blir kalt hvis delingstegnet ikke er tilstede i mottatt beskjed. Kun en slik vil registreres. |
AT kommandoer
AT kommandoer trenger generelt å bare kjøres en gang. Etter de er kjørt lagres resultatet på chipen. Derfor fungerer det helt fint å bare bruke eksempel 1 under, og skrive AT kommandoene dere vil kjøre manuelt fra konsollvinduet.
...