2015-08-19 58 views
6

Tôi đang làm việc trên dự án IoT và tôi nên giữ thiết bị nhúng được kết nối với dịch vụ web. Vì vậy, tốt hơn, yêu cầu webservice cứ sau 1 hoặc 2 giây, hoặc mở một socket với máy chủ để đảm bảo các hoạt động thời gian thực.Cách thiết bị IoT kết nối với máy chủ

Cân nhắc khi làm việc với ổ cắm, có thể yêu cầu tôi viết nhiều cụm mã, vì không có khung cho socket trên ARM chẳng hạn.

Cảm ơn

+0

bản sao có thể có của [Có tốt hơn khi sử dụng lại các kết nối hoặc gia hạn chúng để gửi dữ liệu thường xuyên không?] (Http://stackoverflow.com/questions/30244753/is-it-better-to-reuse-connections-or- gia hạn-cho-gửi-dữ liệu-thường xuyên) hoặc [Đó là chi phí lớn hơn: Tạo một ổ cắm mới mỗi lần hoặc duy trì một ổ cắm duy nhất để truyền dữ liệu] (http://stackoverflow.com/q/28541889/3081018) . –

+0

Có, cảm ơn, nhưng tiểu bang là hoàn toàn khác nhau, trùng lặp nói về khoảng 20 giây, và tôi nói về khoảng thời gian 1 giây. –

+0

Câu trả lời nói về cách lựa chọn tốt nhất phụ thuộc vào việc sử dụng tài nguyên trên máy khách và máy chủ và độ trễ. Chúng không cụ thể trong 1,.2 giây so với 30 giây. Đơn giản chỉ cần đặt: nếu bạn cần nó nhanh hơn sử dụng một kết nối duy nhất nhưng với chi phí của nhiều nguồn lực cần thiết tại máy chủ. –

Trả lời

2

Nhóm của tôi và tôi hiện đang làm việc trên một nền tảng IOT, sau đây là gợi ý của tôi:

  1. Nếu sản phẩm của bạn chỉ báo cáo dữ liệu hoặc tình trạng theo định kỳ, sử dụng một dịch vụ web để nhận được dữ liệu sẽ làm việc tốt, và nó rất dễ thực hiện.
  2. Nếu bạn cần gửi các hoạt động thời gian thực từ máy chủ đến thiết bị của bạn, sử dụng kết nối tcp dài là lựa chọn tốt hơn. Có một số giao thức tốt để giúp bạn thực hiện điều này, như MQTT.
  3. Đối với trường hợp thứ hai ở trên, yêu cầu dịch vụ web nhận các hoạt động thời gian thực sẽ hoạt động, nhưng chắc chắn đó không phải là một ý tưởng hay. Nó sẽ tăng tải máy chủ của bạn và tiêu thụ năng lượng của thiết bị của bạn.

Sau khi tất cả, bạn cần phải lựa chọn các yêu cầu của sản phẩm.

2

Bạn có thể sử dụng giao thức MQTT, thư viện có sẵn cho nhúng c cũng như đối với Arduino. Ngoài ra bạn có thể chọn, Rest/Coap với nodejs khi yêu cầu sẽ đợi cho đến khi nút sẽ trả lời Trong cả hai trường hợp này, giao tiếp thời gian thực có thể được tiếp cận mà không cần bất kỳ ổ cắm và thời gian làm mới.

+1

Có vẻ như tốt, hãy để tôi kiểm tra nó để xác minh câu trả lời của bạn –

+0

@Samrat, bạn có nghĩa là nghỉ ngơi/coap trong các nút trên máy khách không? Mostafa, bạn đã xác minh xem câu trả lời này có hoạt động tốt cho thiết bị nhúng của bạn không? – minghua

+0

có, chỉ cần bạn phải đặt thời gian ra lớn hơn một chút ở phía khách hàng nếu sử dụng phần còn lại hoặc coap, sau đó nó sẽ tạo ra đường truyền thông không đồng bộ, và với điều đó bạn cũng phải xử lý các giọt mạng. tôi sẽ nói, sử dụng mqtt, nó tốt hơn –

Các vấn đề liên quan