Tạo OpenWeave

Chuỗi công cụ được hỗ trợ chính để tạo OpenWeave là GNU Autotools.

Yêu cầu hệ thống

Mọi nền tảng hệ điều hành chính đều hỗ trợ việc xây dựng và biên dịch chéo trên OpenWeave. Các chuỗi công cụ trong danh sách đã được Nest thử nghiệm chính thức.

Linux

Yêu cầu: Ubuntu 14.04 (Trusty) chính thức được hỗ trợ, nhưng mọi hệ thống dựa trên Linux tương tự cũng sẽ hoạt động.
Liên kết C/C++, Java, Python
Chuỗi công cụ gcc 4.6.3
Mục tiêu i386-unknown-Linux-gnu
x86_64-unknown-Linux-gnu
C/C++, liên kết Java
Chuỗi công cụ gcc 4,6
Mục tiêu Arm-unknown-Linux-android
armv7-unknown-wifi-android
i386-unknown-Linux-android

Mac OS X

Yêu cầu: XQuartz để sao chép cây con thư mục này sang cây con khác bằng các đường liên kết tượng trưng.
C/C++, liên kết ca cao
Mục tiêu Armv7-apple-darwin-ios
armv7s-apple-darwin-ios
i386-apple-darwin-ios
C/C++, liên kết Python
Chuỗi công cụ LLVM/clang 3.5 (6.0)
Mục tiêu i386-apple-darwin-macosx
x86_64-apple-darwin-macosx

Windows

Yêu cầu: Cygwin để hỗ trợ dòng lệnh Linux.
Liên kết C/C++
Chuỗi công cụ gcc 4.8.3
Mục tiêu i686–pc-cygwin

Nhúng

Liên kết C/C++
Chuỗi công cụ gcc 4.4.1
LLVM/clang 3.1
LLVM/clang 3.3
Mục tiêu nhánh*-unknown- sóng*
arm*-unknown-freertos-Lynxip

Điều kiện tiên quyết

Ngoài một chuỗi công cụ được hỗ trợ, bạn nên cài đặt các gói và công cụ sau đây trước khi tạo OpenWeave.

Gói

Linux:

sudo apt-get install python-pip python-setuptools bridge-utils /
               libglib2.0-dev libdbus-1-dev libudev-dev /
               libical-dev libreadline-dev

Linux và Mac OS X:

pip install --user google-cloud googleapis-common-protos grpc protobuf pycryptodomex
sudo cpan -i Text::Template

Công cụ tự động GNU

OpenWeave phụ thuộc vào GNU Autotools cho hệ thống bản dựng của nó. Phải có một phiên bản GNU autotools để tạo thành công OpenWeave. Cách sử dụng phiên bản công cụ tự động do hệ thống cung cấp trên Linux:

sudo apt-get install libtool autoconf automake

Đối với các hệ thống mà Công cụ tự động GNU không có sẵn hoặc có thể cài đặt (ví dụ: Mac OS) hoặc trên các hệ thống không cung cấp phiên bản xây dựng sẵn chắc chắn, Nest Labs đã tạo một khung hệ thống bản dựng tùy chỉnh, dựa trên GNU Autotools. Hệ thống ghim nhóm chương trình được sử dụng trong quá trình tạo bản dựng vào một phiên bản tốt đã biết. Việc ghim công cụ vào một phiên bản cụ thể cũng đảm bảo tỷ lệ rời bỏ tương đối thấp trong dữ liệu đầu ra của công cụ tự động, nhờ đó dẫn đến trải nghiệm hỗ trợ và nhà phát triển có thể dự đoán được. Bạn nên sử dụng bản dựng Nest Labs của GNU Autotools để sử dụng với OpenWeave.

Cách xây dựng Nest Labs GNU Autotools:

git clone https://github.com/openweave/openweave-core.git
cd openweave-core
make -C third_party/nlbuild-autotools/repo/ tools

Tươi vui

Để chạy các tập lệnh thử nghiệm có trong OpenWeave hoặc sử dụng Weave trong các ứng dụng phân bổ mô phỏng, hãy cài đặt Happy trên máy Linux của bạn. Hãy xem bài viết Chúc bạn thiết lập vui vẻ để biết thêm thông tin.

Ứng dụng độc lập

Sử dụng ứng dụng OpenWeave Độc lập mặc định cho máy chủ phát triển máy tính hoặc máy chủ.

  1. Sao chép kho lưu trữ OpenWeave:
    git clone https://github.com/openweave/openweave-core.git
  2. Xây dựng ứng dụng OpenWeave Độc lập:
    cd openweave-core
    make -f Makefile-Standalone

Sử dụng cờ help với Makefile-Standalone để tìm hiểu xem những công tắc xây dựng nào có sẵn để tùy chỉnh bản dựng.

make -f Makefile-Standalone help

Ví dụ: để bật mã gỡ lỗi Weave và ghi nhật ký:

make -f Makefile-Standalone DEBUG=1

Liên kết dự án

  1. Sao chép kho lưu trữ OpenWeave:
    git clone https://github.com/openweave/openweave-core.git
  2. Định cấu hình môi trường bản dựng cho AutoGN Autotools:
    cd openweave-core
    ./bootstrap
    ./configure
  3. Tạo OpenWeave:
    make all
  4. Chuyển kết quả đầu ra sang vị trí riêng biệt để liên kết dự án:
    mkdir <openweave-output>
    make DESTDIR=<openweave-output> install

Sau khi chạy thử, hãy sử dụng các thư mục trong <openweave-output> để liên kết dự án:

  • /usr/local/include — tiêu đề công khai
  • /usr/local/lib — thư viện

Android và iOS

Để xây dựng các thư viện giúp liên kết dự án trên Android và iOS, hãy sử dụng Makefiles theo nền tảng:

make -f Makefile-Android
make -f Makefile-iOS

Sử dụng cờ help với Makefile-<platform> để tìm hiểu xem có công tắc nào để tùy chỉnh bản dựng. Ví dụ:

make -f Makefile-Android help
make -f Makefile-iOS help

Cấu hình

Trước khi định cấu hình OpenWeave với nhiều tập lệnh và tiêu đề khác nhau, hãy sử dụng công cụ tự động để khởi động các tệp bản dựng có liên quan:

./bootstrap

Bước này cần được thực hiện một lần, sau quy trình thanh toán trên cây và sau đó là bất kỳ thay đổi nào đối với configure.ac hoặc Makefile.am. Không cần lặp lại khi chỉ thay đổi cấu hình hoặc mục tiêu của bản dựng.

Tập lệnh

Sử dụng cờ --help với tập lệnh cấu hình đi kèm để tìm hiểu thêm về các tùy chọn có thể định cấu hình.

./configure --help

Ví dụ: để định cấu hình OpenWeave mà không hỗ trợ BlueZ:

./configure --without-bluez

Tiêu đề

Makefiles bao gồm sử dụng hai tệp tiêu đề xác định hằng số tại thời gian biên dịch:

Bạn cũng có thể cung cấp các tiêu đề cấu hình dành riêng cho dự án. Hãy đặt các tệp này vào thư mục dự án của bạn—không đặt các tệp này trong kho lưu trữ OpenWeave. Sử dụng tùy chọn cấu hình thích hợp để chỉ định vị trí của mỗi tệp trong khi định cấu hình:

Tệp tiêu đề Tùy chọn cấu hình
InetProjectConfig.h --with-weave-inet-project-includes=<directory>
WeaveProjectConfig.h --with-weave-project-includes=<directory>

Ví dụ: để định cấu hình OpenWeave sử dụng tệp WeaveProjectConfig.h dành riêng cho dự án nằm trong ~/my-project/headers:

./configure --with-weave-project-includes=~/my-project/headers