Giới thiệu bo mạch VBLUno51 của VNG

1. GIỚI THIỆU

Sau một thời gian giới thiệu bo mạch phát triển VBLUno đến cộng đồng, VBLUno đã giúp mọi người tiếp cận nhanh chóng với công nghệ Bluetooth Low Energy phục vụ phát triển ứng dụng Internet of Things.

Bên cạnh các ưu điểm trên, VBLUno phiên bản đầu tiên vẫn tồn tại khuyết điểm như: không tích hợp một interface cho phép nạp và gỡ lỗi một cách dễ dàng. Với phiên bản đầu tiên, để nạp/gỡ lỗi dễ dàng, người dùng cần sử dụng thêm mô đun CMSIS-DAP, điều này gây trở ngại không nhỏ cho người dùng.

Với tinh thần lắng nghe từ cộng đồng, chúng tôi đã nâng cấp mạch VBLUno lên phiên bản 2.0 với tên gọi là VBLUno51, bản chất là tích hợp mô đun CMSIS-DAP (DAPLink) lên mạch VBLUno và một số cải tiến quan trọng khác liên quan đến nguồn và ngoại vi. Như vậy, việc nạp chương trình cho mạch VBLUno51 sẽ dễ dàng hơn nhiều, bạn có thể xem mục Bắt đầu thôi! để biết cách nạp chương trình cho VBLUno51.

VBLUno51 = VBLUno 1.0 + giao diện DAPLink; và hơn thế nữa…

Tính năng

  • CPU:
    • Nordic nRF51822: ARM® Cortex™ M0 32bit.
    • Truyền thông tiết kiệm năng lượng Bluetooth Low Energy.
    • 256KB Flash, 32KB Ram.
    • UART(1), I2C(2), SPI(1), PWM(3), SWD, Timer 16bit(3).
    • 21 kênh vào ra số, 6 kênh ADC 10bit.
    • Tích hợp sẵn 1 led và 1 nút nhấn trên mạch.
    • Điện áp GPIO: 0 – 3.3V.
  • Giao diện DAPLink cho phép nạp và gỡ rối chương trình dễ dàng.
    • USB MSD: Nạp firmware bằng cách kéo thả.
    • USB HID: Gỡ lỗi chương trình theo chuẩn CMSIS-DAP.
    • USB CDC: Cổng COM ảo. Hỗ trợ hardware flowcontrol đảm bảo tính toàn vẹn dữ liệu truyền (RTS/CTS).
  • Giám sát năng lượng của mô đun BLE với tiện ích đo dòng (Chỉ có trên VBLUno51_EM).
  • Hỗ trợ FOTA: Nâng cấp firmware gián tiếp thông qua BLE.
  • Xây dựng các ứng dụng nhanh chóng, mạnh mẽ với:
    • Trình biên dịch & IDE: GCC, Keil MDK, IAR, Eclipse, Qt Creator.
    • Frameworks: Arduino, ARM mbed-OS, Nordic SDK, RIOT-OS, Apache MyNewt-OS,…
    • Nhiều tutorials cho Arduino, mbed-os, …
  • Tương thích pinout của Arduino Uno Rev.3.
  • 4 cách cấp nguồn:
    • Cổng USB.
    • Power adapter: +9 -> +12V.
    • Pin kẹp 3V: đế pin CR20xx.
    • Jump nối pin: +3.7 -> +12V
  • Mã nguồn mở: Thiết kế phần cứng, firmware, phần mềm hỗ trợ, ví dụ mẫu

Một số hình ảnh

2. TÀI LIỆU

Trang tài liệu cho mạch VBLUno51: https://vngiotlab.github.io/vbluno/vi/index_vi.html

Cung cấp đầy đủ các tài liệu liên quan đến VBLUno51 như: Sơ đồ mạch, pinout, fritzing part, các bài hướng dẫn cho Adruino, mbed, mã nguồn mẫu, video,...

3. HƯỚNG DẪN BẮT ĐẦU VỚI ADRUINO IDE

Hướng dẫn quá trình cài đặt trên Adruino IDE để bắt đầu làm việc với VBLUno51:

https://vngiotlab.github.io/vbluno/vi/mydoc_getstart_arduino_vi.html

Bước 1: Cài đặt Arduino IDE

  • Nếu đã cài đặt, bạn có thể bỏ qua bước này
  • Thực hiện: Tải bản cài đặt phù hợp tại ĐÂY và cài đặt vào máy.
  • Chú ý: Nếu bạn đang sử dụng hệ điều hành Linux, cần chạy Arduino IDE với quyền root. Điều này giúp Arduino IDE có thể mở cổng nối tiếp (UART) để nạp firmware cho mạch VBLUno (đối với VBLUno 1.0).
    • Mở Terminal (Ctrl + Alt + T)
    • Chuyển đến thư mục đã cài đặt Arduino bằng cách sử dụng lệnh “cd”. Ví dụ cd /home/mrABC/arduino-1.6.10
    • Mở Arduino IDE với lệnh sudo: sudo ./arduino

Bước 2. Cài đặt trình điều khiển UART cho giao diện DAPLink (CMSIS-DAP) trên mạch VBLUno51

  • Phần này chỉ dành cho máy tính sử dụng hệ điều hành Windows.
  • Thực hiện: Tải trình điều khiển phù hợp tại ĐÂY và cài đặt vào máy tính của bạn.

Bước 3. Cài đặt gói dữ liệu giúp lập trình Arduino IDE trên mạch VBLUno51

Các bo mạch Arduino phổ biến sử dụng chip vi điều khiển AVR. Nếu thiết kế theo các mạch Arduino có sẵn, có thể dễ dàng sử dụng Arduino IDE để lập trình. Bo mạch VBLUno không sử dụng các thiết kế có sẵn từ arduino.cc nên cần cài đặt bổ sung các package hỗ trợ. VNG IoT Lab đã tham khảo và nghiên cứu phát triển package hỗ trợ Arduino IDE cho VBLUno và VBLUno51.

Cách 1: Cài đặt offline (khuyên dùng)

  • Bạn cần chắc chắn Arduino IDE không được mở trong quá trình cài đặt offline.
  • Tải bản cài đặt phù hợp với hệ điều hành:
    • Cho Linux Chú ý: Không nên lưu thư mục này trong các phân vùng ngoài mà nên lưu trong phân vùng của hệ điều hành. Ví dụ: /home/mrbean
  • Giải nén và chạy file cài đặt
    • Windows: Setup_VBLUno_Windows.exe
    • Linux:
      • cd Setup_Offline_VBLUno_Linux_xxx
      • chmod 777 Setup_VBLUno_Linux
      • sudo ./Setup_VBLUno_Linux . (Cần phải sử dụng lệnh sudo)
    • Đường dẫn mặc định của thư mục cài đặt các packages cho Arduino:
      • Windows: %APPDATA%\Arduino15. Ví dụ: “C:\Users\MrABC\AppData\Local\Arduino15”
      • Linux: ~/.arduino15
      • OS X: ~/Library/Arduino15
    • Bạn chờ đến khi chương trình thông báo “The installation was successful” là quá trình cài đặt đã hoàn thành.
  • Chú ý: Từ bây giờ, tại Preferences->Additional Boards Manager URLs luôn phải có nội dung sau (các packages khác nhau được phân tách bởi dấy phẩy): https://raw.githubusercontent.com/VNGIoTLab/Arduino_VBLUno_nRF51822/master/package_vngiotlab_vbluno_index.json.

Cách 2: Cài đặt online

  • Chạy Arduino IDE, vào menu File, chọn “Preferences”, thêm dòng sau vào ô “Additional Boards Manager URLs”: https://raw.githubusercontent.com/VNGIoTLab/Arduino_VBLUno_nRF51822/master/package_vngiotlab_vbluno_index.json
    • *Chú ý: * Bạn có thể thêm nhiều địa chỉ URLs tại đây, phân tách chúng bởi dấy phẩy.
  • Cài đặt dữ liệu “VNGIoTLab VBLUno Boards” thông qua Trình quản lý boards (Boards Manager)
    • Từ menu: Tools -> Board -> Boards Manager
    • Chọn VNGIoTLab VBLUno Boards và nhấn Install

VÍ DỤ HELLO WORLD!

Khi học một ngôn ngữ lập trình mới, thông thường chương trình đầu tiên chúng ta thực hiện là Hello World example. Mục đích để giúp lập trình viên nắm được cấu trúc cơ bản của một chương trình, cách sử dụng IDE và trình biên dịch, và đặc biệt là tạo hứng thú cho lập trình viên theo kiểu “Đầu xuôi đuôi lọt”.

Với VBLUno51 cũng vậy, các bạn cũng nên bắt đầu bằng việc thực hiện một ví dụ Hello World, đó chính là ví dụ điều khiển nhấp nháy Led đơn.

Các bước thực hiện

  • Kết nối mạch VBLUno51 với máy tính thông qua cổng USB. Lúc này, Led báo nguồn phải sáng
  • Chọn board và cổng serial để nạp
    • Chọn VBLUno51_nRF51822_DAPLink(vx.x.x) từ menu của Arduino IDE: Menu > Tools > Board > VBLUno51_nRF51822_DAPLink(v1.x.x)
    • Chọn cổng nối tiếp tương ứng của VBLUno51: Menu > Tools > Port > [tên cổng nối tiếp của VBLUno51]

/*************************************************************************
VNGIoTLab - 2017
Arduino IDE with VBLUno51 board
Tutorial 1 - Hello World Example
Mô tả: Ví dụ nhấp nháy led trên mạch VBLUno51 với chu kỳ 2s và truyền thông UART 
***************************************************************************/

// the setup function runs once when you press reset or power the board
void setup() {
  // Khởi tạo chân LED là chân OUTPUT (trên VBLUno có sẵn 1 Led)
  pinMode(LED, OUTPUT);

  //Serial  
  Serial.begin(115200);
  Serial.println("Test the VBLUno51 board on Arduino IDE");
}

// the loop function runs over and over again forever
void loop() {
  digitalWrite(LED, HIGH);   		// Bật sáng Led 
  delay(1000);              		// Chờ 1 giây
  digitalWrite(LED, LOW);    		// Tắt led
  delay(1000);              		// Chờ 1 giây
  Serial.println("Finish a period");
}
  • Sử dụng chức năng upload (Menu => Sketch => Upload) để biên dịch chương trình và nạp firmware xuống mạch VBLUno51. Điểm khác biệt của VBLUno51 so với phiên bản đầu tiên: NGƯỜI DÙNG KHÔNG CẦN CAN THIỆP VÀO PHẦN CỨNG, QUÁ TRÌNH NẠP DIỄN RA TỰ ĐỘNG
  • Nếu biên dịch và nạp thành công, bạn sẽ nhận được thông báo như hình dưới đây

  • Sau khi nạp code, chương trình sẽ tự động chạy. Hãy quan sát LED trên mạch VBLUno51 nhấp nháy với chu kỳ 2 giây. Sử dụng phần mềm Terminal trên máy tính để quan sát dữ liệu nhận được từ VBLUno51 qua giao tiếp UART.

Video hướng dẫn tạo chương trình nhấp nháy LED và truyền thông UART trên Adruino:

lên
32 thành viên đã đánh giá bài viết này hữu ích.
Các dự án được truyền cảm hứng

Select any filter and click on Apply to see results

Các bài viết cùng tác giả

VBLUno kit - Tutorial 5 - Demo thiết bị nhiệt kế y tế với VBLUno

Trong tutorial này sẽ giới thiệu các nét chính về chức năng và tham số kỹ thuật quan trọng của một thiết bị nhiệt kế y tế - Health Thermometer. Tiếp đó sẽ trình bày một ví dụ demo nhiệt kế y tế sử dụng VBLUno và cảm biến nhiệt độ bên trong chip nRF51822 (Tutorial 4). Với VBLUno, ví dụ được thực hiện một các nhanh chóng và hiệu quả.

lên
2 thành viên đã đánh giá bài viết này hữu ích.

VBLUno Tutorial 7 - Điều khiển và giám sát thiết bị bằng Smartphone qua giao tiếp Bluetooth Low Energy

Trong các bài viết trước, chúng tôi đã trình bày một số ứng dụng điển hình của giao tiếp Bluetooth Low Energy (BLE) như: Heart Rate Mesuarement, Health Thermometer, Beacons. Các ứng dụng này sử dụng các services đã được Bluetooth SIG định nghĩa sẵn. 

Cho các ứng dụng bất kỳ với BLE, việc tạo ra các services riêng là cần thiết. Bài viết này hướng dẫn các bạn thiết kế và cài đặt một BLE Service cho các ứng dụng điều khiển bất kỳ.

lên
11 thành viên đã đánh giá bài viết này hữu ích.