URL Eddystone, SSDP và mDNS hỗ trợ Web vật lý

URL Eddystone, SSDP và mDNS hỗ trợ Web vật lý

Giới thiệu về Web trong cuộc sống

Đèn hiệu phù hợp với tất cả các loại kịch bản ứng dụng yêu cầu giao tiếp giữa các vật thể hàng ngày và môi trường của chúng. Web thực giúp người dùng sử dụng tối ưu các cơ hội kết quả. Trong bài viết này, chúng tôi sẽ giới thiệu cách thức hoạt động của web vật lý, và chắc chắn rằng URL Eddystone đóng một vai trò quan trọng trong quá trình làm việc của Eddystone.

Trong 2014, Google đã giới thiệu dự án nguồn mở Web trong cuộc sống của mình với mục đích liên kết thế giới ảo thậm chí còn chặt chẽ hơn với thế giới thực. Trạm dừng xe buýt, điểm thu hút khách du lịch, đồ vật hàng ngày hoặc đồ siêu thị – về nguyên tắc, tất cả chúng hiện có thể độc lập gửi tin nhắn đến điện thoại thông minh qua đèn hiệu. Cơ sở cho giao tiếp như vậy là Bluetooth Low Energy (ĐÃ TRỞ THÀNH) công nghệ vô tuyến. Nếu một vật phẩm đã được trang bị đèn hiệu, nó có thể gửi tin nhắn đến điện thoại thông minh hỗ trợ BLE, ví dụ thông báo về sự chậm trễ, ưu đãi đặc biệt hoặc ngày chiến dịch.

Trong ngữ cảnh này, web thực đảm bảo, Trong số những thứ khác, rằng người dùng không phải cài đặt ứng dụng mới ở mọi nơi, nhưng có thể xem tin tức trên một giao diện thống nhất. Nó có thể được sử dụng trong hầu hết các trường hợp mà người dùng quan tâm đến thông tin về môi trường của họ hoặc trong đó sự tương tác giữa họ và các đối tượng thông minh là cần thiết. Để có được ý tưởng tốt hơn về các tình huống như vậy, ba ví dụ ứng dụng ngắn sau.

Bến xe buýt thông minh: Một trạm xe buýt gần đó có thể thông báo chờ mọi người qua điện thoại thông minh của họ khi chuyến xe buýt tiếp theo sẽ đến. Trong trường hợp này, cảm biến BLE web vật lý gửi một URL dẫn đến trang web của trạm xe buýt. Để phân biệt chúng với những người khác, URL sẽ chứa mã nhận dạng của điểm dừng.

Tương tác với máy bán hàng tự động: Máy bán hàng tự động có kết nối Internet gửi một URL mà khách hàng có thể sử dụng để truy cập trang web bằng chức năng thanh toán của máy bán hàng tự động nếu họ không có tiền mặt bên mình. URL bao gồm một mã thông báo thay đổi động sau mỗi lần mua hàng. Máy và trang web được mở trên điện thoại thông minh kết nối với máy chủ back-end của nhà cung cấp bằng cùng một mã thông báo. Sau khi giao dịch mua được xử lý, máy chủ gửi yêu cầu đến máy bán hàng để cấp các sản phẩm đã mua. Trang web thực được sử dụng để chuyển URL đến điện thoại thông minh. Tất cả các bước khác diễn ra trên Internet như bình thường. Ví dụ, cái gọi là ổ cắm web có thể được sử dụng để giao tiếp hai chiều giữa máy hoặc trang web và máy chủ.

Thiết bị gia dụng được giám sát: Web vật lý cũng có thể được sử dụng để điều khiển và giám sát các thiết bị gia dụng như máy giặt. Mỗi thiết bị gửi ra một URL đề cập đến địa chỉ IP và chỉ có thể truy cập được khi được kết nối với mạng cục bộ. Khả năng hiển thị của URL có thể bị giới hạn đối với các thiết bị trong mạng nếu các kỹ thuật khám phá mạng như mDNS và SSDP được sử dụng thay vì BLE.

Web thực hoặc các ứng dụng đơn lẻ

Ngược lại với các thông tin cung cấp khác (ví dụ. thông tin thời gian biểu hoặc hiệp hội du lịch), nơi người dùng phải cài đặt ứng dụng của riêng họ cho từng nhà cung cấp, web thực tích hợp URL Eddystone được truyền bởi các beacon như thể chúng là một truy vấn tìm kiếm trên một trang. Vì vậy, người dùng có thể tìm thấy các đối tượng thông minh trong môi trường của họ chỉ bằng một ứng dụng và tương tác trực tiếp với chúng. Sự thuận lợi khác: không có thông báo chủ động nào được gửi. Người dùng chỉ nhìn thấy danh sách các đối tượng trong khu vực của mình nếu họ muốn.

Ngoài BLE, MOKOSmart, trong đó tác giả làm việc, đề xuất phương pháp gửi và nhận URL trong mạng cục bộ dựa trên Giao thức khám phá dịch vụ đơn giản (SSDP). Với sự trợ giúp của SSDP, có thể hạn chế khả năng hiển thị của URL Eddystone đã gửi trong các mạng cục bộ và do đó tăng cường bảo mật kết nối.

Web trong cuộc sống có sẵn dưới dạng một dự án theo giấy phép Apache trên MOKOSmart và bao gồm các triển khai cho các nền tảng như Android, iOS, và Node.js. Các ứng dụng web thực cho Android và iOS có sẵn trong Apple App Store và Google Play Store. Tất cả các ứng dụng phải được hiểu là nguyên mẫu, cho phép các nhà phát triển thử nghiệm với web thực ở giai đoạn đầu. Trong tương lai, nó sẽ có sẵn trên các thiết bị di động khác ngoài điện thoại thông minh.

url eddystone

Web thực hoạt động như thế nào?

Web vật lý được cho là một phần mở rộng của internet. Giống như tất cả các công nghệ web, nó mở cho tất cả mọi người và mọi người có thể phát triển nó hơn nữa. Vì hệ thống dựa trên việc hiển thị các URL, nó được phân cấp và không bị kiểm soát bởi bất kỳ ai. URL Eddystone có thể dẫn đến các trang thông tin đơn giản, phức tạp hơn, ứng dụng web tương tác hoặc thậm chí cho các ứng dụng gốc. Web thực có thể so sánh với tìm kiếm trên web:

Người dùng gọi lên một danh sách các đối tượng từ vùng lân cận của mình.
Danh sách các URL được hiển thị.
Người dùng chọn một.
URL xuất hiện trong cửa sổ trình duyệt.
Các khía cạnh sau đây phải được xem xét dưới góc độ kỹ thuật:
1. Gửi thông tin phản hồi
2. Lịch sử
3. Đã lưu
4. cộng đồng

• Gửi và nhận URL: Có nhiều cách để gửi URL. Web vật lý hiện hỗ trợ truyền qua BLE, mDNS, và SSDP (thêm về điều này trong phần tiếp theo).
Lấy thông tin cơ bản từ các trang web: Ứng dụng khách web thực thu thập các URL được tìm thấy và gửi chúng cùng với tất cả thông tin liên quan (ví dụ. cường độ tín hiệu) đến một dịch vụ web. Điều này, lần lượt, gọi lên thông tin cơ bản như tiêu đề, sự miêu tả, và biểu tượng của trang web và trả về kết quả tìm kiếm cho khách hàng. Việc triển khai nguyên mẫu của dịch vụ web có sẵn trong kho lưu trữ GitHub của dự án.

• Hiển thị kết quả: Xếp hạng rất quan trọng khi nói đến việc hiển thị nhiều thiết bị gửi URL từ khu vực. Ứng dụng khách web vật lý có thể sắp xếp theo cường độ tín hiệu, sở thích cá nhân và các tiêu chí khác. Hệ thống nên phân loại thư rác trước. Vì các công cụ tìm kiếm có cùng một vấn đề, cách tiếp cận của họ có thể được sử dụng cho web vật lý. Trong kết quả hiển thị, người dùng nhấp vào đối tượng danh sách và trình duyệt mở trang web được liên kết.

• Như đã đề cập, web thực hiện biết ba cách để gửi và nhận URL. Chúng dựa trên hai quy trình khác nhau: Bluetooth năng lượng thấp và khám phá dịch vụ mạng. Về mặt lý thuyết, các phương pháp khác có thể được thêm vào trong tương lai. Ví dụ, nhà phát triển có thể sử dụng công nghệ đánh dấu âm thanh để nhúng URL vào tín hiệu âm thanh. Trong trường hợp này, máy khách web thực sẽ phải được mở rộng để có thể nhận tín hiệu âm thanh và giải mã các URL chứa trong đó.

Ble Bluetooth và Eddystone

Bản nháp đầu tiên của Web thực SỬ DỤNG BLE để gửi URL đến gói thích hợp. Công nghệ này rất tiết kiệm năng lượng, đặc biệt nếu sản phẩm sử dụng nó được vận hành ở chế độ truyền (chế độ BLE không thể kết nối), như trong trường hợp của web thực. Các thiết bị BLE nhỏ có thể gửi URL Eddystone bằng một ô nút duy nhất trong gần hai năm.

Một trong những khối xây dựng cơ bản của Web trong cuộc sống là URL Eddystone. Như một đặc tả giao thức, Eddystone xác định định dạng tin nhắn Bluetooth công suất thấp cho các đèn hiệu ở gần dựa trên đặc điểm kỹ thuật của lõi Bluetooth. Nó mô tả các loại khung khác nhau mà báo hiệu có thể sử dụng riêng lẻ hoặc kết hợp: Eddystone-UID, Eddystone-TLM, và URL Eddystone nói trên, cái nào là cái duy nhất có liên quan đến web thực.

Thông báo Eddystone bao gồm hai loại dữ liệu cơ bản trong một khối dữ liệu quảng cáo (QUẢNG CÁO): UUID và dịch vụ dữ liệu. Cả hai loại đều sử dụng mã định danh duy nhất toàn cầu 16 bit (UUID) tuân thủ các tiêu chuẩn Bluetooth. Dịch vụ UUID dành riêng cho Eddystone là 0xFEAA. Nó cung cấp một cơ chế để, quét nền đa nền tảng mà cả Android và iOS đều cho phép. Các byte tiếp theo của khối AD chứa dữ liệu cụ thể cho khung. Byte đầu tiên xác định loại khung. Chỉ bốn bit quan trọng nhất hiện được sử dụng. Bốn cái thấp hơn được dành để sử dụng sau này và phải có giá trị 0000.

Khung Eddystone UID gửi một ID báo hiệu 16 byte duy nhất bao gồm ID không gian tên 10 byte và ID phiên bản 6 byte. Mặc dù ID không gian tên có thể được sử dụng để nhóm một tập hợp các báo hiệu cụ thể, ID phiên bản hữu ích để xác định các thiết bị trong nhóm.

Nếu bạn nhìn vào khái niệm về Eddystone UID, nó hoạt động theo cách tương tự như các iBeacons được Apple giới thiệu trong 2013. Gói iBeacon chứa 16 byte gần với UUID, miền chính 2 byte, và miền phụ 2 byte. Các gói iBeacon chứa một UUID lân cận 16 byte, 2-trường chính byte và trường phụ 2 byte. UUID lân cận có thể được sử dụng để xác định một tổ chức hoặc ứng dụng như doanh nghiệp. Các trường chính và phụ cho phép chỉ định chi tiết hơn về danh tính được xác định bởi UUID, như trong trường hợp của một chi nhánh. Eddystone-TLM hiện đang gửi thông tin đo từ xa như trạng thái pin, nhiệt độ thiết bị và số lượng gói được gửi bởi beacon.

Khung URL Eddystone gửi một phiên bản rút gọn của URL được tạo bằng mã hóa. Việc nén giúp có thể truyền nhiều dữ liệu hơn với gói quảng cáo giới hạn. Định dạng của cái đầu tiên 11 byte (byte 0 xuyên qua 10) của thông báo Eddystone giống nhau đối với tất cả các loại khung. Cách đặt các byte sau (bắt đầu từ byte 11), Tuy nhiên, phụ thuộc vào loại khung:

• Byte 11 xác định loại khung. Giá trị của nó đối với khung URL Eddystone là 0x10.
• Byte 12 xác định sức mạnh của TX. Đây là giá trị số nguyên 8 bit có dấu như được mô tả trong Đặc tính Bluetooth mức công suất TX

Khám phá dịch vụ mạng

Ngoài BLE beacons và Eddystone URL, các phương pháp khám phá mạng như SSDP và mDNS cung cấp tùy chọn truyền URL. Bạn cũng có thể gửi URL đến các thiết bị trên mạng cục bộ. Phương pháp này có hai ưu điểm so với BLE: Đầu tiên, chỉ những người dùng đã đăng nhập vào mạng cục bộ mới có thể xem các URL, và thứ hai, không có giới hạn độ dài URL như với BLE.

Sử dụng Network Discovery cho web thực có ý nghĩa trong các tình huống mà bảo mật và quyền riêng tư đóng vai trò quan trọng. Một ví dụ sẽ là khu vực nhà thông minh nếu quyền truy cập vào các thiết bị chỉ nên được giới hạn cho những người trong cùng một hộ gia đình.

Giao thức khám phá dịch vụ đơn giản (SSDP) là một giao thức mạng để quảng cáo và khám phá các dịch vụ và thiết bị trong mạng cục bộ. Nó tạo thành lớp khám phá của giao thức plug-and-play phổ biến (UPnP) và giúp công khai các thiết bị mới được thêm vào được xác định là điểm kiểm soát. Nó cũng cho phép bạn tìm kiếm các thiết bị và dịch vụ cụ thể.

Các chức năng như vậy dựa trên hai loại thông báo SSDP. Đầu tiên, có thông báo quảng cáo mà một thiết bị gửi đi ngay sau khi nó được thêm vào mạng. Thông báo đến địa chỉ và cổng phát đa hướng chuẩn 239.255.255.250:1900 là ssdp: sống sót. Các điểm điều khiển lắng nghe cổng để nhận thông báo SSDP và do đó có thể phát hiện các thiết bị và dịch vụ mới. Trước khi thiết bị UPnP biến mất khỏi mạng hoặc không còn khả dụng, họ phải gửi tin nhắn ssdp: tạm biệt đến cùng một địa chỉ multicast và cổng tương ứng.

Mặt khác, có một chức năng khám phá trong đó SSDP cho phép các điểm kiểm soát tìm thấy các thiết bị và dịch vụ quan tâm ngay cả trong mạng. Trong trường hợp này, một điểm điều khiển gửi yêu cầu tìm kiếm đến địa chỉ và cổng phát đa hướng 239.255.255.250:1900. Các thiết bị UPnP hỗ trợ các dịch vụ được yêu cầu gửi phản hồi unicast đến địa chỉ của trạm kiểm soát đã gửi yêu cầu. Định dạng của phản hồi tương tự như thông báo SSDP của loại ssdp: sống sót.

Web trong cuộc sống hỗ trợ SSDP để gửi và nhận URL trong mạng cục bộ. Fraunhofer FOKUS đã phát triển khái niệm và triển khai cơ chế tương ứng. Việc triển khai bao gồm tích hợp SSDP trong ứng dụng web thực cho Android và iOS để nhận URL qua giao thức. Ngoài ra, một công cụ đa nền tảng dựa trên Node.js có sẵn để gửi URL theo cách tương tự.

Khi sử dụng SSDP, một thiết bị web vật lý được kết nối với mạng cục bộ sẽ gửi ssdp sau: tin nhắn sống động ngay khi nó có sẵn trong mạng:

THÔNG BÁO * HTTP / 1.1 TỔ CHỨC: 239.255.255.250:1900
CACHE-CONTROL: max-age = giây cho đến khi quảng cáo hết hạn
VỊ TRÍ: URL của trang web để quảng cáo
NT: bình: vật lý-web-tổ chức: thiết bị: Căn bản: 1
NTS: ssdp: sống sót
NGƯỜI PHỤC VỤ: CÁC / phiên bản UPnP / 1.0 sản phẩm / phiên bản
USN: UUID quảng cáo
Phương thức NOTIFY ở dòng đầu tiên cho biết rằng đó là một thông điệp quảng cáo. Trong khi tiêu đề LOCATION xác định URL web thực được gửi, tiêu đề NT xác định loại thiết bị, trong trường hợp của web vật lý là urn: vật lý-web-tổ chức: thiết bị: Căn bản: 1. Ssdp: giá trị còn lại của tiêu đề NTS cho biết rằng thiết bị web thực có sẵn. Cuối cùng, tiêu đề USN cung cấp một tên duy nhất có thể được sử dụng để xác định thiết bị. Ứng dụng khách web thực chạy trên điện thoại thông minh hoặc máy tính bảng lắng nghe địa chỉ và cổng phát đa hướng 239.255.255.250:1900 và lọc các thông báo SSDP web vật lý bằng cách kiểm tra giá trị của tiêu đề NT. Sau đó, bạn có thể phân tích thông báo SSDP và đọc giá trị của tiêu đề LOCATION mang URL đã gửi.

Các thiết bị web thực phải gửi ssdp sau: tin nhắn tạm biệt trước khi biến mất khỏi mạng:

THÔNG BÁO * HTTP / 1.1 TỔ CHỨC: 239.255.255.250: 1900
NT: bình: vật lý-web-tổ chức: thiết bị: Căn bản: 1
NTS: ssdp: tạm biệt
USN: UUID quảng cáo
ssdp: tạm biệt nói rõ rằng thiết bị web thực không còn khả dụng từ bây giờ. Giá trị của tiêu đề USN vẫn giống như trong ssdp: thông điệp sống động. Các ứng dụng khách web thực nhận được thông báo như vậy sẽ tìm URL được liên kết với USN và sau đó xóa nó khỏi danh sách.

 

Nói chuyện với chuyên gia