Chương trình của client cung cấp một giao diện để người dùng có thể nhập những yêu cầu queries khác nhau tới sever.. Chương trình mô phỏng được dùng trong example này tên là netdb.. Tron
Trang 1IV Mô phỏng Antelope bằng Cooja sử dụng Sky mote.
- Antelope example có thể được tìm thấy tại đường dẫn: contiki/examples/antelope/netdb Trong example này chứa một chương trình của client và một chương trình của sever Chương trình của client cung cấp một giao diện để người dùng có thể nhập những yêu cầu (queries) khác nhau tới sever Một khi yêu cầu được chấp nhận, client sẽ gửi yêu cầu này tới sever đang chạy – là một node cụ thể trong network Chương trình mô phỏng được dùng trong example này tên là netdb Bằng cách chạy mô phỏng này, node id 51 được chọn là client và tất cả những node còn lại đều
là sever Tuy nhiên, chương trình của client được ví dụ mặc định để chỉ gửi yêu cầu tới node id 4 chạy chương trình của sever
- Để chạy mô phỏng Antelope, nhập “sudo ant run” trong đường dẫn contiki/tools/cooja mở bằng Terminal Tại thanh công cụ trong chương trình Cooja Simulation, chọn File Open simulation Browse, và lựa chọn file netdb.csc theo đường dẫn: contiki/examples/antelope/netdb
Giao diện:
- Cửa sổ Network:
Trang 2Trong mô phỏng này thì mote 51 là antelope netdb client và mote 4 là sever.
- Cửa sổ Mote Output:
Tại ô Filter hiển thị ID:4 $ có ý nghĩa: Mote 4 được chọn để xem các thông tin output
- Cửa sổ Mote Interface Viewer:
Trang 3Đây là cửa sổ giao diện dành riêng cho Antelope netdb client (Mote 51), được dùng để send queries tới sever (ở đây là mote 4) và in lên cửa sổ trả lời của query
Simulate:
- Start, kết quả hiện như hình:
Trang 4 Các thao tác cơ bản dùng khi mô phỏng:
- Ở dòng 1: câu lệnh CREATE RELATION sensor; dùng để tạo 1 relation trống có tên là sensor.
- Ở dòng 2: câu lệnh CREATE ATTRIBUTE id DOMAIN INT IN sensor; câu lệnh này sẽ tạo một 1
attribute có tên là “id”, kiểu dữ liệu int, nằm trong relation sensor vừa được tạo Chương trình cho phép tạo nhiều attribute, có thể sử dụng kiểu dữ liệu khác ngoài INT là LONG (dòng 5) và STRING (dòng 4) Riêng Attributes với kiểu dữ liệu STRING, khi khai báo cần được định rõ độ dài
tối đa của chuỗi STRING, như đối với câu lệnh tại dòng 4: STRING(20) mang ý nghĩa Attribute có
tên “name” thuộc kiểu STRING gồm tối đa 20 ký tự
Trang 5- Dòng 7 và dòng 8: Tạo 2 indexes cho phép tuple mà các giá trị attribute ứng với tiêu chuẩn tìm kiếm truy xuất nhanh hơn Sử dụng kiểu INLINE cho index tại vì đây là kiểu nhanh nhất dành cho
dữ liệu được thêm vào theo thứ tự tăng dần đều Trong trường hợp dữ liệu được thêm vào theo thứ tự ngẫu nhiên, kiểu MAXHEAP được sử dụng
Nhập dữ liệu:
- Sau khi hoàn thành các bước khởi tạo, ta có thể bắt đầu nhập dữ liệu cho relation Khi nhập dữ liệu, giá trị nằm trong dấu ngoặc đơn nằm theo đúng vị trí là thứ tự được khai báo của các attribute Trong VD như trên, với câu lệnh: INSERT (10,NHIETDO,2500); thì giá trị 10 thuộc về attribute “id”, NHIETDO thuộc về attribute “name” và 2500 thuộc về attribute “position”
Một số câu lệnh khác:
Thực hành:
- Tạo Relation có tên sample bằng câu lệnh:
create relation sample;
- Tạo Attribute có tên id, kiểu dữ liệu integer (int) trong sample:
create attribute id domain int in sample;
- Nhập dữ liệu vào relation bằng lệnh insert:
Insert (4) into sample;
Insert (23) into sample;
Insert (31) into sample;
- Lựa chọn giá trị Max trong attribute id bằng câu lệnh:
Trang 6Select max(id) from sample;
- Thông tin quan sát trên cửa sổ Mote Interface Viewer:
- Thông tin quan sát được tại cửa sổ Mote Output: