মাইক্রো জন্য ব্লুটুথ তথ্য বিনিময়: বিট ডিভাইস
বিট ডিভাইস: এই অ্যাপ্লিকেশন দুটি অণু মধ্যে একটি চ্যানেল প্রতিষ্ঠিত. চ্যানেল UART যোগাযোগ যেমন handeled হবে. UART স্থানান্তর সঙ্গে বিট ডিভাইস: আপনি প্রতিটি অণু উপর একটি প্রোগ্রাম বিকাশ আছে.
ইঙ্গিত aktive: BLE ইঙ্গিত (ডিফল্ট)
ইঙ্গিত inaktive: BLE নোটিফিকেশন
সাইলেন্ট aktive: কোন চাক্ষুষ লগিং
সাইলেন্ট inaktive: লগিং
আবশ্যকতা:
- ন্যূনতম. অ্যান্ড্রয়েড 4.4
- ব্লুটুথ কম শক্তি (BLE)
- জোড় ডিভাইস
- মাইক্রো: বিট প্রোগ্রাম (নিজেকে দ্বারা উন্নত)
MBED উদাহরণ:
#include "MicroBit.h"
#include "MicroBitUARTService.h"
MicroBit uBit;
MicroBitUARTService * UART;
কোন int = 0 যুক্ত ছিলেন;
বাতিলযোগ্য onConnected (MicroBitEvent ঙ)
{
uBit.display.scroll ( "সি");
সংযুক্ত = 1;
}
বাতিলযোগ্য onDisconnected (MicroBitEvent ঙ)
{
uBit.display.scroll ( "ডি");
= 0 যুক্ত ছিলেন;
}
বাতিলযোগ্য onButtonA (MicroBitEvent ঙ)
{
যদি (সংযুক্ত == 0) {
uBit.display.scroll ( "এনসি");
ফিরে;
}
uart-> ( "হ্যাঁ") পাঠান;
uBit.display.scroll ( "ওয়াই");
}
বাতিলযোগ্য onButtonB (MicroBitEvent ঙ)
{
যদি (সংযুক্ত == 0) {
uBit.display.scroll ( "এনসি");
ফিরে;
}
uart-> ( "না") পাঠান;
uBit.display.scroll ( "এন");
}
বাতিলযোগ্য onButtonAB (MicroBitEvent ঙ)
{
যদি (সংযুক্ত == 0) {
uBit.display.scroll ( "এনসি");
ফিরে;
}
uart-> পাঠান ( "এস");
uBit.display.scroll ( "এস");
}
অকার্যকর processBLEUart () {
uint8_t readBuf [22];
যখন (1) {// চিরকাল লুপ
যদি ((! সংযুক্ত) || (! uart-> isReadable ())) {
uBit.sleep (50); // 50mS অপেক্ষা করুন এবং আবার পরীক্ষা
অবিরত; // লুপ;
}
অন্য // আমরা সংযুক্ত করা হয় এবং সেখানে পড়তে কিছু ইনপুট
যদি (uart-> isReadable ()) {
যখন (uart-> isReadable ()) {
কোন int charCount = uart-> পড়া (readBuf, 22, ASYNC);
যদি (charCount! = 0) {
জন্য (int i = 0; আমি uBit.display.scroll ((গৃহস্থালি) readBuf [আমি]);
}
}
}
}
}
/ *
গুরুত্বপূর্ণ !!!
Oherwise আপনি মেমরি রান আউট হবে!
MicroBitConfig.h মধ্যে DFU এবং ইভেন্ট সেবা নিষ্ক্রিয় সুপারিশ যেহেতু তারা এখানে প্রয়োজন হয় না:
microbit-> microbit-dal-> inc-> core-> MicroBitConfig.h
# define MICROBIT_BLE_DFU_SERVICE 0
# define MICROBIT_BLE_EVENT_SERVICE 0
# define MICROBIT_SD_GATT_TABLE_SIZE 0x500
* /
প্রধান int ()
{
বিট রানটাইম: // মাইক্রো ইনিশিয়ালাইজ.
uBit.init ();
uBit.messageBus.listen (MICROBIT_ID_BLE, MICROBIT_BLE_EVT_CONNECTED, onConnected);
uBit.messageBus.listen (MICROBIT_ID_BLE, MICROBIT_BLE_EVT_DISCONNECTED, onDisconnected);
uBit.messageBus.listen (MICROBIT_ID_BUTTON_A, MICROBIT_BUTTON_EVT_CLICK, onButtonA);
uBit.messageBus.listen (MICROBIT_ID_BUTTON_B, MICROBIT_BUTTON_EVT_CLICK, onButtonB);
uBit.messageBus.listen (MICROBIT_ID_BUTTON_AB, MICROBIT_BUTTON_EVT_CLICK, onButtonAB);
UART = নতুন MicroBitUARTService (* uBit.ble, 32, 32);
uBit.display.scroll ( "Go");
create_fiber (& processBLEUart); // ফাইবার তৈরি এবং তা নির্ধারণ করুন.
release_fiber ();
}