Đặt đồng hồ thiết bị bằng BLE


7

Tôi muốn xây dựng một thiết bị có được thời gian địa phương từ điện thoại hoặc máy tính xách tay thông qua BLE. Luồng tương tác lý tưởng của tôi sẽ là:

  1. nhấn nút "đặt thời gian" trên thiết bị để bắt đầu quảng cáo
  2. mở cài đặt Bluetooth hoặc bảng điều khiển trên điện thoại / máy tính, tìm thiết bị và nhấn để kết nối với thiết bị
  3. thiết bị sử dụng dịch vụ thời gian hiện tại để yêu cầu thời gian từ điện thoại, sau đó ngắt kết nối và dừng quảng cáo

Tổng phạm vi tương tác chỉ là để có được thời gian cục bộ mà không cần điều chỉnh thủ công và không cần thêm kết nối phức tạp như WiFi để sử dụng NTP.

Là luồng tương tác này có thể với BLE? Một thiết bị ngoại vi, có thể tự đọc từ dịch vụ thời gian hiện tại từ trung tâm không? Nếu không, một ứng dụng đồng hành trên điện thoại có cần ghi vào đặc điểm dịch vụ thời gian hiện tại trên thiết bị ngoại vi không?


2
Độ chính xác mong muốn là gì? Bạn có muốn nó sử dụng như một chiếc đồng hồ chung cho bạn biết thời gian hay bạn có một loại ứng dụng khác đòi hỏi một chiếc đồng hồ chính xác?
Bence Kaulics

Ngoài câu hỏi của Bence, bạn đã cân nhắc sử dụng tín hiệu đồng hồ radio thay vì BLE đồng bộ hóa với thiết bị chưa? Nhiều thiết bị tiêu dùng (như đồng hồ kỹ thuật số) sử dụng điều đó để có được thời gian đọc chính xác.
Aurora0001

Vâng, trong vòng một giây là ổn. Chính xác như bạn mong đợi từ bất kỳ thiết bị gia dụng nào khác có đồng hồ trên chúng.
jmw

Ngoài ra, tôi đã xem xét các hệ thống đồng hồ vô tuyến của LF, nhưng các máy thu không được tích hợp vào bất kỳ loạiC nào mà tôi biết và tôi không thể tìm thấy bất kỳ máy thu rời nào trong tìm kiếm thông thường, bạn có biết gì không?
jmw

Câu trả lời:


6

Vì bạn không có ý định liên lạc thêm với thiết bị đối tác, tôi đoán độ chính xác của thời gian đã đặt là phù hợp với bạn trong phạm vi chính xác trong vài giây. Nếu bạn muốn nhận được chính xác hơn, bạn sẽ phải cân nhắc nhiều hơn (độ trễ, độ trễ, giao thức cấp thấp hơn và tương tự).

Nói chung BLE là một giao thức truyền thông, bạn có thể truy cập mọi chức năng mà thiết bị cuối cung cấp. Vì vậy, nếu bạn có máy tính / điện thoại cho phép yêu cầu NTP, bạn có thể đặt yêu cầu NTP qua BLE. Điều đó chắc chắn đòi hỏi một số loại cấu hình hoặc chương trình bổ sung.

Bạn có thể sử dụng yêu cầu quét và phản hồi quét để phân phối thời gian trong quá trình quảng cáo. Tất nhiên, để làm được điều đó, bạn phải cung cấp một bản sao BLE tối thiểu. Ưu điểm là bạn thậm chí không phải thực hiện ghép đôi hoàn chỉnh. Tất nhiên, điều đó đòi hỏi phải có quyền truy cập nhất định vào hành vi BLE ở cả hai bên mà bạn có thể không có trên điện thoại thông minh, nếu bạn nhận được thời gian từ Pi hoặc một số trường hợp có thể kiểm soát khác có thể hoạt động.

Nếu bạn không ngại root Android, bạn cũng có thể sử dụng Cheepsync , nơi họ đã làm chính xác điều đó. Đây là trên Github.


6

Bạn đã xem Web Bluetooth chưa? Điều này có thể được sử dụng để ghi vào thiết bị mà không cần ứng dụng khách gốc chỉ để đặt thời gian.

Có hỗ trợ trong Chrome trên hầu hết các nền tảng và các trình duyệt khác đang thêm hỗ trợ .

Tôi đã làm việc trên một thiết bị sử dụng Web Bluetooth để đặt chi tiết wifi (thiết bị là đồng hồ sẽ sử dụng NTP để duy trì chính xác và hỗ trợ một số tính năng khác)


2

Là luồng tương tác này có thể với BLE?

Đúng.

Một thiết bị ngoại vi, có thể tự đọc từ dịch vụ thời gian hiện tại từ trung tâm không?

Chỉ khi trung tâm đang chạy Dịch vụ thời gian hiện tại.

Nếu không, một ứng dụng đồng hành trên điện thoại có cần ghi vào đặc điểm dịch vụ thời gian hiện tại trên thiết bị ngoại vi không?

Phụ thuộc vào việc trung tâm đã chạy Dịch vụ Thời gian Hiện tại chưa. Ví dụ: iOS có một tính năng tích hợp sẽ ghi vào đặc tính thời gian hiện tại trên thiết bị ngoại vi mỗi phút.

Nếu không có Dịch vụ thời gian hiện tại tích hợp, bạn có thể thêm một hoặc cung cấp thời gian hiện tại theo cách khác (ví dụ: ứng dụng chung và giao thức tùy chỉnh, hoặc trang web và Web Bluetooth ).

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.